Welcome!

@DevOpsSummit Authors: Liz McMillan, Mehdi Daoudi, Elizabeth White, Jason Bloomberg, Pat Romanski

Related Topics: @DevOpsSummit, Java IoT, @CloudExpo

@DevOpsSummit: Blog Feed Post

SBT, Scrooge, Intellij and You By @VictorOps | @DevOpsSummit [#DevOps]

We are going through the process of overhauling the serialization framework that we use for inter & intra process communication

How to Set Up a Playdate Between Scala, Thrift, Scrooge, SBT and Intellij
By Nick Isaacs

Here at VictorOps, we are going through the process of overhauling the serialization framework that we use for inter and intra process communication. We evaluated several great options including Kryo (and its Scala companion Chill), Protobuffers, and Thrift.

In the process, we put together a little test project to help us decide which of these choices was right for us. Testing Thrift posed some challenges as the tooling, while quite mature, wasn’t quite as plug-n-play with our local development environment as we would have liked. The following instructions assume a basic knowledge of the Scala/SBT framework, Thrift, and (optionally) Intellij.

What is needed:

Steps:

1. Create a new project with a build.sbt file and add the following lines:

libraryDependencies ++= Seq( "org.apache.thrift" % "libthrift" % "0.8.0", "com.twitter" % "scrooge-core_2.11" % "3.17.0" )

com.twitter.scrooge.ScroogeSBT.newSettings unmanagedSourceDirectories in Compile += baseDirectory.value / "target" / "scala-2.11" / "src_managed"

This will add the Thrift and Scrooge dependencies to your sbt project.

2. If you do not already have a project/plugins.sbt file, create one and add the following line:

addSbtPlugin("com.twitter" % "scrooge-sbt-plugin" % "3.14.1")

3. Create a new directory to hold your Thrift files (by default, Scrooge will check in src/main/thrift, which worked fine for us)

4. Define some Thrift files, if you want, here is a simple example:

namespace java com.example.thrift.java
#@namespace scala com.example.thrift.scala

typedef list<string> friendList

struct NastyCaseClass {
1: string firstName,
2: string lastName,
3: bool ownsPetOtter,
6: friendList listOfFriends,
}

5. By default, Intellij marks everything in the target/ directory as ‘excluded’ for builds. We are gonna have to do something about that.

  • Open up the “project structure” window & click “modules in the right hand menu

Screenshot 2015-03-03 15.16.27

  • Click on the name of your project, you should see the directory structure appear

Screenshot 2015-03-03 15.17.05

  • Click “target” and uncheck “Excluded”

Screenshot 2015-03-03 15.17.13

  • Expand “target” and mark all subfolders as “Excluded” except for scala-version.no

screenshot_2015-03-05_13.05.49

  • Expand “scala-version.no” and mark all folders as “Excluded” except for “src_managed” which you should mark as “Source”

Screenshot 2015-03-03 15.18.30

6. Run an SBT clean, scrooge-gen, and compile. All generated files should now be visible to both SBT and Intellij (hooray for syntax highlighting)

Hope this helps anyone in a similar situation. Another thing to note was that updating *.thrift files would cause SBT to become a bit “unhappy”. To rectify this, simply run a scrooge-gen and a clean after making edits.

Happy serializing  :)

The post SBT, Scrooge, Intellij and You appeared first on VictorOps.

Read the original blog entry...

More Stories By VictorOps Blog

VictorOps is making on-call suck less with the only collaborative alert management platform on the market.

With easy on-call scheduling management, a real-time incident timeline that gives you contextual relevance around your alerts and powerful reporting features that make post-mortems more effective, VictorOps helps your IT/DevOps team solve problems faster.

@DevOpsSummit Stories
In today's always-on world, customer expectations have changed. Competitive differentiation is delivered through rapid software innovations, the ability to respond to issues quickly and by releasing high-quality code with minimal interruptions. DevOps isn't some far off goal; it's methodologies and practices are a response to this demand. The demand to go faster. The demand for more uptime. The demand to innovate. In this keynote, we will cover the Nutanix Developer Stack. Built from the foundation of software-defined infrastructure, Nutanix has rapidly expanded into full application lifecycle management across any infrastructure or cloud .Join us as we delve into how the Nutanix Developer Stack makes it easy to build hybrid cloud applications by weaving DBaaS, micro segmentation, event driven lifecycle operations, and both financial and cloud governance together into a single unified st...
The Software Defined Data Center (SDDC), which enables organizations to seamlessly run in a hybrid cloud model (public + private cloud), is here to stay. IDC estimates that the software-defined networking market will be valued at $3.7 billion by 2016. Security is a key component and benefit of the SDDC, and offers an opportunity to build security 'from the ground up' and weave it into the environment from day one. In his session at 16th Cloud Expo, Reuven Harrison, CTO and Co-Founder of Tufin, will discuss the main security considerations enterprises face when rolling out SDDCs and how they can harness key functionality of a virtual environment to achieve more granular security controls across hybrid environments.
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereum.
DevOps is often described as a combination of technology and culture. Without both, DevOps isn't complete. However, applying the culture to outdated technology is a recipe for disaster; as response times grow and connections between teams are delayed by technology, the culture will die. A Nutanix Enterprise Cloud has many benefits that provide the needed base for a true DevOps paradigm. In their Day 3 Keynote at 20th Cloud Expo, Chris Brown, a Solutions Marketing Manager at Nutanix, and Mark Lavi, a Nutanix DevOps Solution Architect, explored the ways that Nutanix technologies empower teams to react faster than ever before and connect teams in ways that were either too complex or simply impossible with traditional infrastructures.
@CloudEXPO and @ExpoDX, two of the most influential technology events in the world, have hosted hundreds of sponsors and exhibitors since our launch 10 years ago. @CloudEXPO and @ExpoDX New York and Silicon Valley provide a full year of face-to-face marketing opportunities for your company. Each sponsorship and exhibit package comes with pre and post-show marketing programs. By sponsoring and exhibiting in New York and Silicon Valley, you reach a full complement of decision makers and buyers in multiple vertical markets. Our delegate profiles can be located in our show prospectus.