Introducing cloud service models, the cloud, and cloud-native systems
The prevalence of cloud ecosystems is a game-changer, and you should take this into account from the start when you design applications, should you envision the cloud as a hosting platform. As per my real-world observations, this fact is often misunderstood or overlooked by software architects, who tend to neglect the ecosystem their code is running in and focus too much on the code itself. The reason why it is important to grasp the ecosystem is that it comes with pre-built services and functionalities, which can boost your productivity. The type of service model you work with tends to steer your design choices. The following diagram shows the most important service models:
In the preceding diagram, from left to right, the level of operations increases. For example, the Software as a Service (SaaS) model is a fully managed off-the-shelf software...