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.
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.
©2018, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org