12 Cloud and services

 

This chapter covers

  • Cloud computing
  • Cloud-native computing
  • Serverless computing
  • Services

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.

12.1 From proactive to reactive

12.2 Cloud computing

12.3 Cloud-native computing

12.4 Serverless computing

12.4.1 Traditional

12.4.2 Serverless

12.4.3 Cold path vs. hot path

12.5 Service

12.5.1 Global view vs. local view

12.5.2 Example recommendation service

12.6 Final thoughts

Summary