Summary
Highlights
Cloud computing offers extensive functionality beyond just remote servers, allowing applications and services to be hosted globally. It provides nearly unlimited computing resources (CPU, storage, network) and the ability to deploy entire application instances instantly with a click of a button, contrasting sharply with traditional physical data centers. Resources can be scaled up or down as needed, offering significant efficiency and financial control by moving from upfront infrastructure costs to a pay-as-you-go model.
Public clouds are strategically located worldwide, enabling deployment of applications closer to users for better performance, such as using European or US-based cloud services depending on customer location. This also promotes efficiency, as resources can be provisioned and de-provisioned for specific periods, like seasonal applications, optimizing cost and resource utilization.
Clouds can be classified as public, private, or community. Public clouds, like those from Microsoft or Amazon, are accessible over the internet. Private clouds are hosted within an organization's own data center, offering control over data and infrastructure at the cost of upfront investment. Many organizations use a hybrid approach, combining private clouds for internal applications and public clouds for external access. Community clouds allow multiple organizations to share a cloud infrastructure, pooling resources and reducing individual cash outlay for cloud technologies.
Infrastructure as a Service (IaaS), also known as Hardware as a Service (HaaS), involves renting hardware (CPU, storage) from a cloud provider. The customer is responsible for operating systems, application installation, maintenance, updates, and security. While offering more control and security over data, this model requires significant management overhead. An example is a web service provider where the user maintains the OS, applications, and data on rented infrastructure.
Software as a Service (SaaS) is an on-demand software model where users access applications via a web-based interface using a username and password. The cloud provider manages all aspects: applications, operating systems, updates, and data location. This eliminates the need for development teams or managing infrastructure. Examples include Google Mail and Microsoft 365, where users simply log in and use the service without worrying about backend management.
Platform as a Service (PaaS) is a middle ground between IaaS and SaaS. The provider manages the operating system and underlying infrastructure, but the customer is responsible for developing and deploying their own applications on the provided platform. This allows customization and control over the application's functionality without managing the core infrastructure. Salesforce.com, known for its SaaS offerings, also provides a robust PaaS for custom application development.
Cloud providers often supply a responsibility matrix outlining what parts of the service are managed by the provider and what falls to the customer. For on-premises solutions, the customer is responsible for everything from data to physical infrastructure. With SaaS, the provider handles most aspects, with the customer primarily responsible for identity, accounts, and end-user devices. PaaS shifts application development responsibility to the customer while the provider manages the platform. IaaS gives the customer control over operating systems and applications, with the provider managing the underlying hardware and network.