Write a Blog >>
Fri 28 Sep 2018 15:20 - 15:42 at Frisco - Session 3: DSLs & Sponsor Talk Chair(s): Sebastian Erdweg

A common architectural pattern for complex online systems is a collection of ``microservices'' communicating via RPC interfaces. This arrangement provides autonomy for teams owning services to develop, deploy, and operate their services without centralized coordination. But this autonomy comes at a cost in leverage—the fixed costs of running a service are high, and the desire to avoid them can lead to poor design choices.

In this paper we describe Strato, a system built at Twitter that runs many microservices hosted in a single service platform—trading a little autonomy for a lot of leverage. Hosted microservices are written in a Scala-like DSL that supports transparent concurrency and direct access to Thrift data (the common currency of services at Twitter). The DSL compiles to a concurrency library written in Scala with an arrows-based interface. We detail the design and implementation of the DSL and concurrency library, and evaluate the effectiveness of Strato in improving leverage at Twitter.

Fri 28 Sep

Displayed time zone: Guadalajara, Mexico City, Monterrey change

15:20 - 16:10
Session 3: DSLs & Sponsor TalkScala 2018 at Frisco
Chair(s): Sebastian Erdweg Delft University of Technology, Netherlands
15:20
22m
Talk
A Domain-specific Language for Microservices
Scala 2018
Jacob Donham Twitter, Inc.
DOI
15:42
28m
Industry talk
SemanticDB: a common data model for Scala developer tools
Scala 2018
Eugene Burmako Twitter, Inc.