The serverless paradigm blurs the line between development and operations. On the one hand, certain traditionally necessary steps such as provisioning a machine do not apply anymore; on the other hand, developers can’t simply hand off binaries to operations.
In this chapter, we will first discuss roles in the context of a serverless setup and then have a closer look at typical activities, good practices, and antipatterns around serverless ops.
With serverless computing, it pays off to rethink roles and responsibilities in the team. To do that, I’m borrowing a term that was first coined by Bryan Liles of Digital Ocean: AppOps. The basic idea behind AppOps is that the one who writes a service also operates it in production. This means that AppOps are on call for the services they have developed. In order for this to work, the infrastructure used needs to support service- or app-level monitoring of metrics as well as alerting if the service doesn’t perform as expected.
Further, there’s another role necessary: a group of people called the infrastructure team. This team manages the overall infrastructure, owns global policies, and advises the AppOps.
A sometimes-used alternative label for the serverless paradigm is “NoOps,” suggesting that since there are no machines to provision, the need for operations folks is not given. This term is, however, misleading and best avoided. As discussed, operational skills and practices ...