Introduction

Serverless services can be defined as a specific type of service where the server infrastructure is hidden from the developer and incurs costs only by usage. In this model, a cloud platform is responsible for dealing with provisioning, managing and maintaining the infrastructure on behalf of the server, so that the developers are responsible for plugging the business code into this structure. However, there is still a gap in the area of understanding and formalizing serverless architectures. A useful way to structure architectural decisions is to adopt a set of patterns and build a pattern language.

In order to help developers identify the most appropriate patterns to use, we aim to identify and characterize these patterns and its relationships in a pattern language. To do so, we filtered patterns we found, both in gray and white literature, choose the relationships to be used, analyzed which and how the patterns relate. After performing these steps, we had as result our pattern language and also created a website to expose it to practitioners.