In the landscape of contemporary distributed systems, cloud computing, cloud-native computing, serverless computing, and microservices have risen to prominence. But a paradox of popularity emerges: despite the ubiquity of the terms, their meanings remain somewhat vague and unclear. Therefore, in this final chapter, I present my mental models for cloud computing, cloud-native computing, serverless computing, and microservices.
Accurate and concise definitions are essential for conveying complex concepts effectively. In software engineering, however, there’s a frequent issue with definitions that are neither accurate nor concise, even for common concepts. With this in mind, the definitions and descriptions in this chapter strive to be accurate and concise while being consistent with current industry understanding. It is important to note that they do not necessarily reflect industry standards.