Case Studies

Sub 20ms Response - Ticketfly

Ticketfly crafted a powerful reserved seating engine (something that is notoriously complicated to build because of its rapidly changing state), that could scale easily, handle bursty and unpredictable traffic patterns and compete with online ticket scalpers.

The concurrent and non-blocking system allows visitors to find and allocate seats, under load, in less than 20ms. The system has very good performance without having to try very hard to achieve it.

Read the Case Study

Sub 12ms Response - Sharthrough

Sharethrough chose Scala to build industry's first native ad management system. It runs thousands of auctions respecting a myriad of variables to match quality content to the right viewer at the right time in the right place. The system’s 99.99% latency is 12ms.

Read the Case Study

1 Billion API Requests/Day - Klout

Klout is the leader in measuring online influence by calculating a user's social impact through extensive data mining. Their system performs data aggregation across several social networks and data stores in real time, with results instantaneously presented to end users and scales to handle one billion API request per day.

Read the Case Study

Speeding Mobile Development By 4x - 47 Degrees

After one month, 47 Degrees, a software development agency focused native mobile apps, realized that developing web applications and REST API’s with Play and Scala made their team at least four times more productive.

Play’s built-in support for JSON serialization, reusable templates and Scala features such as traits, higher order functions and Singleton style companion objects sped development and reduced the codebase considerably (since many of the patterns and technique they had to worry about in Java are built into Play, Akka and Scala).

Read the Case Study

Decreasing Codebase by 78% - Gawker

It stands to reason that reducing your codebase can have a tremendous impact on developer productivity. That was certainly the case at Gawker.

After seven years of PHP development, the team at Gawker Media started to bump into issues maintaining an unruly 300,000-line codebase. They made the move to consolidate their fragmented infrastructure under a JVM-based umbrella, and, in turn, consolidated their codebase to approximately 65,000 lines of Scala.

Read the Case Study

From Monolith To Micro-Services - The Guardian

There are a ton of example case studies on our website that discuss the benefits of moving from a monolithic code base to micro-services. The Guardian case study is a good fit if your company has a fairly conser if your enterprise company is currently using Java. Plus, it nicely weaves in the Java-to-Scala story.

Read the Case Study

Writing Startlingly Simple Code - Tapad

Tadpad processes 150 billion data points from cookies, cellphone IDs, Wi-Fi connections, and other inputs for its highly concurrent advertising system. The Actor implementation from Akka made it startlingly simple to write comprehensible code that leverages all the cores in their production machines for this sophisticated system.

Read the Case Study

Reducing Costs & Improving Flexibility - Janrain

Janrain’s products are primarily deployed on the Amazon Cloud. The value they see in Typesafe is two fold: 1) enabling elastic sizing in the Cloud to reduce costs over JRuby within a Tomcaat container and 2) improving developer flexibility by freeing themselves from the technical debt and of constraints of their previous environment.

Read the Case Study

Boosting Quality With Akka/Scala - CCAD (Comcast spinoff)

CCAD (Combined Conditional Access Development) is a joint venture between Comcast and Arris Group (which acquired Motorola Home).

The quality level of what the team produces with Scala, Akka, and functional programming techniques is so high that the product marketing team and product owners have made numerous comments about the technology stack’s contribution towards both this quality level and reduced qualification and regression testing.

Read the Case Study

Videos

Understanding Individual And Team Productivity - LinkedIn

One of the strongest evangelists at discussing developer productivity is Yevgeniy (Jim) Brikman, the lead developer bringing the Play Framework and Scala to LinkedIn.

The first part of this JaxConf video discusses how LinkedIn is using our technologies build front-end and back-end services at massive scale. Forward the video to 43:34 to hear his interesting take on developer productivity.

Watch The Video

Introducing Scala To Your Peers - Mentor Graphics

When looking for ways to provide peers with proof, consider creating a casual knowledge sharing environment. That’s what Sr. Architect Joe Barnes did at Mentor Graphics. This video captures his introduction to functional programming in Scala and is filled with inspiring ideas to help jumpstart your presentation.

Watch The Video

Making The Case For Play/Scala - BBC

In this video from PingConf, BBC explores how they achieved management buy-in to take their team of PHP developers into a new world of Play Framework and Scala for the rewrite of its popular CBeebies children’s website. It’s not a technical talk. In fact, the title could be, "How to sell change into a big, multi-national organization so it’s not too scary."

The video discusses how the team got management buy-in by demonstrating skills transfer and success within a few weeks. Management and stakeholders never saw anything happen this fast. Plus, Scala’s cool factor made it easy to recruit, giving management comfort that the team made the right choice.

Watch The Video

Learning Scala - Netflix

Dianne Marsh, Director of Engineering for Cloud Tools at Netflix and co-author of Atomic Scala, explores best practices for learning Scala in this 30-minute introductory video.

Watch The Video

Enabling Microservice Architectures with Scala - Gilt

Over the past 4 years, the production architecture at the Gilt Groupe has evolved from a single monolithic web application to a highly-distributed collection of more than 200 micro-services and small web applications. This architectural shift allows greater scalability and faster, less coupled development of new features, but also presents challenges around maintaining consistent development, testing, and deployment processes.

Watch The Video

E-Books

Atomic Scala, by Bruce Eckel and Dianne Marsh

Bruce and Dianne observed that it would be possible to teach Scala to a beginning programmer and, if they did things right, it would actually be an easier language to learn than Java. The goal of this book is to bridge the gap between the beginner books—either beginning programmer, or just Scala beginner with experience in another language—and the rest of the books out there. If Bruce and Dianne can get you past this first set of hurdles, then you’ll be ready for the next step, probably Cay Horstman's, Scala for the Impatient.

Download the free e-book

Scala for the Impatient, by Cay Horstmann

Every concept and technique in Scala for the Impatient is presented in "blog-size" chunks that can be digested quickly and reviewed as needed for specific tasks. Horstmann offers hands-on activities that guide readers through four well-defined stages of competency: basic, intermediate, advanced and expert.

Download the free e-book

Scala in Depth, by Typesafe technical staff member Josh Suereth

This is a unique book designed to help you integrate Scala effectively into your development process. By presenting the emerging best practices and designs from the Scala community, it guides you through dozens of powerful techniques example by example. There's little heavy-handed theory here—just dozens of crisp, practical techniques for coding in Scala. Written for readers who know Java, Scala, or another OO language.

Download the free e-book

Reports

A Pragmatic Guide To Scala Adoption - Zero Turnaround

In the last few years there has been some criticism of Scala; it’s mostly been accused of being too complex. In this report, Zero Turnaround opines that the perceived complexity of Scala actually arises more from the diversity of the ecosystem rather than the language itself. Then they take a look at a simpler subset of Scala that is perhaps a good place to start for Java teams.

Read The Report

Developer Comprehension 30% Faster - Research

The research paper of Gilles Dubochet at EPFL reports, on average, it is 30% faster to comprehend algorithms that use for-comprehensions and maps, as in Scala, rather than those with the iterative while-loops of Java.

Read The Report

Java-To-Scala Devs Feel More Productive - Research

The survey created by Graham Lea regarding the perceived productivity gains of Scala developers shows that Java programmers who learn Scala generally feel more productive pretty much straight away.

Read The Report

Articles

100x Bursty Traffic Increase - Gilt

Over the course of a few seconds, Gilt’s traffic can increase by as much as 100x. Essentially, they need to have the e-commerce infrastructure almost at Amazon scale for at least 15 minutes every day.

Most days this happens exactly at noon EST, and until a couple of years ago, noon was a stressful time every day. Nowadays it’s usually a non-event—in part because of Typesafe. This Q&A with architect Eric Bowman describes Gilt Groupe's journey from Rails to Reactive.

Read The Article

From Rails To Reactive - Gilt Groupe

Gilt was originally a Ruby on Rails application with a PostgreSQL backend in 2007. Gilt grew faster than anyone could have imagined and everyone was caught off guard by how difficult it was to scale the Rails stack. This article does a great job of describing Gilt’s historical transition from Rails to the Typesafe Reactive Platform.

Read The Article

Martin Odersky Discusses Scala And Java 8 - ReadWrite

People often ask me if lambdas coming to Java will slow the adoption of Scala. Quite the opposite! Instead, I feel the acceptance of these features by the Java Community Process validates our innovation in language design on the JVM. As developers come to understand what these features are and how they work, they will also develop a better appreciation of the more extensive support of functional programming that Scala provides.

Read The Article

Scala Wins InfoWorld’s Technology of the Year Award

Scala's appealing fusion of the object-oriented and functional programming paradigms has brought it a substantial following since its introduction in 2003. Scala has demonstrated that you can have the benefits of compile-time static typing -- with a very powerful type system -- while preserving the "rapid application development" aspects and productivity usually associated with dynamically typed languages. Featuring excellent support for concurrent programming using the Actor model, as well as terrific supporting libraries and frameworks like Akka and Play, Scala is poised to be a major mainstream player for decades to come.

Read The Article

Developer Best Practices

Scala Development Best Practices - Twitter

Twitter created a living document on GitHub to reflect its current “best practices” around core ideals: Always favor readability; write generic code but not at the expense of clarity; take advantage of simple language features that afford great power but avoid the esoteric ones (especially in the type system). This guide attempts to distill their experience into short essays, providing a set of best practices that might be useful for your newbies.

Read The Developer Best Practice

Introducing Scala To Experienced Java Devs - Workday

Workday has been using Scala for a couple of years now. The availability of engineers with Scala experience is getting better. Most of the time, however, they are building their team by helping experienced Java developers become Scala developers. You can learn more about their approach on GitHub.

Read The Developer Best Practice

Community Stories

Scala School - Twitter

Scala school started as a series of lectures at Twitter to prepare experienced engineers to be productive Scala programmers. This is the written material that accompanied those lectures, which Twitter has found useful in their own right.

Read The Community Story

Low-latency Access To Reference Datasets - Comcast

At Comcast, our applications need convenient, low-latency access to important reference datasets. For example, our XfinityTV websites and apps need to use entertainment-related data to serve almost every API or web request to our data centers. The Sirius distributed system library is our answer to that question, and we're happy to announce that we've made it available as an open source project. Sirius is written in Scala and uses the Akka actor system under the covers, but is easily usable by any JVM-based language.

Read The Community Story

Transitioning to Scala - Advice from a developer who helped rebuild Walmart.ca with Scala and Play

Transitioning to Scala - Advice from a developer who helped rebuild Walmart.ca with Scala and Play

What follows is a collection of advice geared towards developers, team leads, and managers who are thinking of transitioning their teams to Scala. The advice is based on my own personal experience as a team lead on an enterprise Scala project.

Read The Community Story

75% Faster - Lucidchart

Lucidchart is a fully functional diagramming application running inside the browser, which uses pure Javascript to create an experience that feels like a native app.

Migrating to Scala and Play from a CakePHP setup is already paying off. Response times are down for processor intensive code - such as image and PDF generation – by around 75%.

Read The Community Story

Tweets per Second Record - Twitter

A primary goal at Twitter is to make sure the service is always available no matter what is happening around the world. This goal felt unattainable in 2010 with Ruby, so the team rewrote its codebase on Scala, delivering an estimated 10x performance increase.

Read The Community Story

From PHP To Play/Scala - Huffington Post

John Pavley, CTO shares his perspectives on modernizing the infrastructure at the Huffington Post in this detailed engineering blog post.

While keeping things simple, safe, and reusable can be done in PHP it takes a tremendous amount of effort. Scala enforces humanistic coding by default. You can write bad code with Scala but you have to work hard to do it.

Read The Community Story

From .NET To Play/Scala - Empathica

This is a story about how Empathica as an organization transformed itself from being a Microsoft .NET shop to a Scala one. It didn’t happen overnight, and this is definitely not a how-to guide on how to achieve similar change somewhere else. If you’re looking for a side by side comparison of Scala and C#/.NET, you won’t find it here. This is just an account of how the change itself unfolded.

Read The Community Story

Presentations

Introducing the Typeasafe Reactive Platform

This Powerpoint presentation includes a brief script in the notes section of each slide to help you position Reactive applications and the Typesafe Reactive Platform.

Download The Presentation

Introducing Scala To Your Peers - Mentor Graphics

When looking for ways to provide peers with proof, consider creating a casual knowledge sharing environment. That’s what Sr. Architect Joe Barnes did at Mentor Graphics. This presentation captures his introduction to functional programming in Scala and is filled with inspiring ideas.

Download The Presentation

Scala Adoption Experience - Whitepages

In this use-case presentation, Sr. Architect Devin Ben-Hur addresses questions such as: How and why did we choose Scala? How did we go about training the team on the new language and technology stack? What has the adoption experience been for an engineering team rooted in dynamic languages?

View The Presentation

Need help convincing your peers and management to use the Typesafe Reactive Platform: Play Framework, Akka and Scala? Just tell us a bit about yourself.