2017 Scala Italy Overview
Scala Italy 2017
Scala Italy took place on Saturday, May 13th, 2017 at the Radisson Blu Hotel in Rome. The conference featured eleven 45-minute talks, three of these on a single morning track, and the other eight split into two tracks in the afternoon. All talks were recorded, and the videos are published on Vimeo.
The following talks I found to be some of the best and recommend watching:
Scala is the Next Scala
Kevin Webber is the CEO and founder of RedElastic, and before that he was an Enterprise Architect at Lightbend. Kevin has been developing industrial software in Scala for almost a decade, and before that, he spent a decade writing Java software.
Kevin discusses the value, or the figurative “ROI of Scala”: What do people and companies get, be it in productivity, job satisfaction, or professional growth, by adopting Scala?
He first argues that the value of Scala is relative to its alternative (Java), and it changes over time as both languages evolve. He then draws from his experience with Scala. In 2008, he learned about Scala and wanted to use it to write a concurrent application, but was not allowed to because there weren’t any companies supporting Scala, and because few people had knowledge of it. It was not until 2011, when Typesafe already existed, that he was able to use it, to great success. Years later, he joined Typesafe to promote Scala; however, at that time Java had caught up with some of the features of Scala. So much so, that he recommended some companies use Java, and he never had a problem with that because, to him, “a better Java is good for Scala”.
Kevin’s second point is that the value of Scala for a person depends on their context, specificially on their role in a company: a developer may like its features, but an executive cares more about hiring. To make Scala better, then, it’s not enough for it simply to have better features than Java. It also needs to convince everyone involved of its value proposition. This drew him to discuss a few frequent objections to Scala that he hears each quarter, and how to handle them.
Kevin ends by talking about Scala future. In his view, Scala should not turn into the next Java. It should continue as it is now, driving the adoption of functional programming in strategic fast-moving domains.
“the amount of code was radically smaller, even though it was doing quite complex things, and that’s just a testament to the power of functional programming”.
Watch the presentation:
DevOps for Scala
Founder and CEO of a Sciabarra.com Ltd in London.
Michele gave us an overvierw on Mosaico, a starter kit for doing DevOps in Scala.
To Michele, the whole notion of DevOps is to “move system administration in the area of software development”. It follows then that, if you write software in Scala, then “the Devops part should be done in Scala too”, and Scala does give good DevOps tools. To him, Scala is a better scripting language than Bash, which is difficult and error-prone. Likewise, Ammonite is powerful enough to be used as a console, and SBT can easily manage dependencies between tasks or artifacts. In particular, he shows how to use SBT to manage the relations between Docker images, such as when one image extends (includes all software of) another one, or one is used as a build environment for another.
Michele shows how to use his tools in a demo. In his demo, he creates an AWS cloud made of several nodes, where each node runs a [Docker] image containing the application, and which is orchestrated using Docker Swarm. Furthermore, these images have to be assembled using a Jenkins server, that is running in a special node. Doing such a deployment consists of several steps: build the AWS cloud using CloudFormation, provison each node with the needed software, start-up the Jenkins server, use Jenkins to assemble the Docker images, deploy these images, and connect them through Docker Swarm orchestration. Mosaico makes each step easier and more direct, and Scala makes his scripts more concise and readable, and SBT manages the flow of information or files from one task to the next.
“When I write shell scripts I feel like a dinosaur […] I feel like an astronaut when I can use Scala.”
Watch the full presentation: