Brendan McAdams

Workshop: Akka
Quaich: A "Serverless" Microframework for Event-driven Scala Programming on AWS Lambda

Reactive Architecture Lead at Lightbend

Workshop: Akka

This workshop will introduce experienced application developers to the reactive Akka toolkit and runtime, as well as the methodologies which enable creating real world actor-based systems in Scala and the JVM. During this workshop we will build a simple Akka application, and learn more about the Actor Model in Akka and how to scale using the toolkit’s features for event driven and resilient systems.

Quaich: A "Serverless" Microframework for Event-driven Scala Programming on AWS Lambda

AWS Lambda is an interesting emerging platform for "serverless" programming. Entirely event driven, it provides an easy model to handle both ‘built-in’ Amazon events – such as DynamoDB & S3 Bucket changes, and HTTP calls through services such as Amazon's API Gateway... as well as custom events. Being “serverless”, Lambda allows us to drop in simple JVM code via assembly JAR that responds through an event loop, minimizing execution costs and eliminating the need to setup and maintain dedicated server instances.
quaich (pronounced ‘quake’) is a Scala microframework, inspired by the Python based chalice released by Amazon recently. The concept is simple, single file applications that can receive and handle the JSON events pushed by the Lambda system. Through clever tricks with macros, etc. we provide an easy model for defining your routes files and even parsing custom variables.

Talk objectives:

  • This talk will introduce some of the concepts of the AWS Lambda framework, and provide an entrypoint to understanding the goals of the quaich framework. Some basic elucidation of Scala macros will occur (but nothing to melt anyone’s brain!), but we will mostly stick to “core” Scala. We will show the techniques intended to build lightweight, simple serverless applications in Scala targeting the AWS Lambda platform.

Target audience:

  • Anyone with a basic understanding of Scala syntax should be comfortable in this talk; experienced programmers shouldn’t find themselves lost either. No prior knowledge of AWS Lambda is required, as we will discuss the concepts and ideas driving it during the talk.

About Brendan

Brendan McAdams works as a Senior Consultant & Trainer for Lightbend (formerly Typesafe), helping support and enable customers with the Reactive Platform (Scala, Akka, Play, Spark, and Lagom). In the past, Brendan has worked at Netflix building APIs, worked on a series of financial trading platforms, and was an early employee of MongoDB.

While at MongoDB, he created the integration drivers between MongoDB and Scala, as well as MongoDB and Hadoop. Brendan was also an early contributor to the Akka project, with one of the earliest Akka production deployments under his belt.

Github: bwmcadams

Twitter: @rit

Back to conference page