Build Systems that Drive Business
June 11–12, 2018: Training
June 12–14, 2018: Tutorials & Conference
San Jose, CA

Tooling in the age of serverless computing

Donna Malayeri (Pulumi)
2:10pm–2:50pm Thursday, June 14, 2018
Continuous Delivery, Serverless
Location: 230 B Level: Intermediate
Secondary topics: Systems Architecture & Infrastructure

Prerequisite knowledge

  • Experience with serverless technologies
  • Familiarity with the technologies of one or more public cloud vendors (AWS, Azure, GCP, etc)
  • Experience building applications using serverless technologies and using managed services offered by cloud vendors (useful but not required)

What you'll learn

  • Learn a decision framework for choosing infrastructure deployment tools

Description

At its core, serverless can be considered “service-full” computing, a trend that’s been around for a while. Instead of running your own Redis cluster, you use a managed cache service. Instead of running a database server on VMs, you use a database service. Serverless simply pushes this notion further: rather than keep a container active when it’s not processing requests, use a managed functions-as-a-service platform such as AWS Lambda, Azure Functions, or Google Cloud Functions.

This trend creates an architectural shift: strangely, your application becomes simultaneously simpler and more complex. Simplicity comes from managed services, which allow you to focus on your business problem instead of infrastructure. Complexity comes from the extra moving parts once you’re juggling dozens of services and hundreds of individual components. While managed services simplify your application, you must now control and understand each of them.

There are a growing number of tools that aim to wrangle this complexity. Of course, we’ve now traded one problem for another: determining which tools are best for your project, application, or organization—or if you even need a tool at all.

Tooling is necessary for serverless and service-full applications. Donna Malayeri shares a decision framework for choosing infrastructure deployment tools, based on whether you need flexibility and control or simplicity and ease-of-use. You’ll learn how to evaluate several popular cloud automation tools, including AWS SAM, Terraform, Chalice, Serverless Framework, Apex/Up, Claudia, kubeless, and Pulumi. Each of these tools offers something unique and is designed for particular problem spaces. There’s no one-size-fits-all answer, and sometimes you’re better off with no tool at all.

Photo of Donna Malayeri

Donna Malayeri

Pulumi

Donna Malayeri is a product and community manager at Pulumi, where she is responsible for the company’s core open source project. Previously, she was a product manager on the Azure Functions team at Microsoft, guiding the developer experience from its beta through the first year of general availability. She is passionate about creating products that developers love and previously worked on programming languages such as F# and Scala. In a past life, she was an academic but now vastly prefers the experience of shipping software.