Cloud computing is the online delivery of IT infrastructure on pay as you go pricing.
Benefits of Cloud Computing:
- Trade capital expense with variable expense : Instead of paying for the data center and infrastructure based on our assumption, cloud computing gives us ability to pay as you go pricing which means we pay only for infrastructure and services we need and pay only when we use these services and infrastructure.
- Benefit from massive economy of scale: By using cloud computing we can get lower variable cost due to economy of scale. Because usage from hundreds of thousands of customers is aggregated in the cloud, providers such as AWS can achieve higher economies of scale, which translates into lower pay as-you-go prices.
- Stop guessing capacity: When we decide to launch a new application we estimate capacity we often end up having our infrastructure sitting idle. Using cloud eliminates the capacity guessing. We can allocate minimum required infrastructure and scale as we need.
- Increase speed and agility: In a cloud computing environment new IT resources are only a click away. This means that developers gets these resources easily to experiment with. It increases the agility for the organization.
- No datacenter maintenance: Focus on projects that differentiate business not the infrastructure. Cloud computing makes it easier to focus on business requirements rather than datacenter maintenance.
- Go global in minutes: Easily deploy our high performing application in multiple regions around the world with just few clicks.
Cloud computing models.
As cloud computing has grown popularity different models and deployment strategies have evolved to cater need of different use cases.
Infrastructure as a Service (IaaS)
Infrastructure as a Service contains the basic building blocks for cloud IT and typically provide access to networking features, computers and data storage spaces.
Platform as a Service (PaaS)
Platform as a Service removed the need for organization to manage the underlying infrastructure and allows us to focus on the deployment and management of application. This model eliminates the worry of resource procurement, capacity planing , software maintenance, patching etc.
Software as a Service (SaaS)
SaaS provides a completed product that is run and managed by the service provider. With SaaS we do not have to think about service maintenance or infrastructure maintenance. A common example of SaaS application is a web-based email where we do not worry about software or infrastructure maintenance.
Shared responsibility model for On-Premise, SaaS , PaaS and IaaS.