Let's backtrack our conversation a bit and use a common concept, a pizza dinner, as a metaphor by which to make sense of these acronyms and, more importantly, the cloud.
You are in charge of organizing a pizza party for your team—your four main options to feed your team are:
1. Make a pizza from scratch—the self-service approach. You are responsible for buying all the ingredients, making the dough, and making all the arrangements to seat and serve the team. It's lots of work, but your pizza will be exactly the way you want it to be.
2. Use the take and bake service—where you purchase the pizza base with toppings and bake it fresh in time for your guests. It's less work, and you only have control over the crispiness and freshness of the pizza.
3. Order from a pizza delivery service—just arrange the table and buy beer. It's quite convenient; however, there are fewer options for you to customize.
4. Take your team to a dine-in restaurant—just pay the bill. You have little control over the ingredients or cooking style, although it's very convenient. Every aspect of the experience is managed by the vendor/restaurateur.
In each option, you and your team have pizza for dinner; however, each option requires varying degrees of effort on the part of you and your vendor. In the scratch option, you do all the work, and in the dine-in option, the vendor does all the work for you.
- Cloud platforms provide you with computing/information technology resources quickly and with much lower total cost of ownership as compared to a self hosted platform. You can think of the resources as layers that build on each other—applications build on a platform that is hosted on servers and integrated with other servers via networking, and a distributed operation system governs the data center and its resources. The operation system governs the allocation and de-allocation of computing resources, machine updates, provisioning, monitoring, and user onboarding.
- Infrastructure resources: networking hardware/connectivity (e.g., VPN), servers, and operating systems.
- Platform software: storage, monitoring, app host, and integration.
- Application software: logic, schema objects, and business rules.