Cloud computing is an on-demand computing that provides multi-tenant or dedicated computing resources, such as compute, storage, and network that are delivered to users over the network.
Network in the form of internet or LAN is based on the deployment model of the cloud. According to NIST's definition of cloud computing, it has cloud deployment models and cloud service models.
Cloud deployment models defines the way resources are deployed, that is, accessible over the LAN or accessible over the internet. There are four cloud deployment models:
- Public cloud that is accessible over the internet
- Private cloud that is accessible over LAN and owned by an organization
- Community cloud where resources are shared by specific set of organizations that share similar types of interests
- Hybrid cloud that combines two or more deployment models to form a cloud based on specific use cases such as database on premise due to security reasons
Cloud service model defines the way cloud resources are used considering the flexibilities or options provided to the users. There are three cloud service models:
- Infrastructure as a Service (IaaS): Resources such as compute, storage, and network are accessible to users. Security and control is in the hands of users. The cloud service provider plays a limited role in resource management in this service model.
- Platform as a Service (PaaS): Users gets a platform where he or she can deploy a package directly without worrying about setting up runtime environment. Security and control is in the hands of cloud service provider. Users can do some configuration for versions of web server or enabling logs or setting up load balancers, and so on. Users play a limited role in resource management in this service model.
- Software as a Service (SaaS): User creates an account, and all services are available directly. Office 365, Google Docs, and Zoho Docs are some popular examples of SaaS. The cloud service provider or service provider is responsible for resource management in this service model.
Cloud computing has a few characteristics which are significant such as the multi-tenancy, pay as you go billing model that is similar to electricity billing, on-demand self service, resource pooling for better utilization of cloud resources, rapid elasticity for scaling up and scaling down instances that are served in case of IaaS or PaaS based on needs in an automated manner, and measured services for billing.
There are many cloud service providers providing public cloud services in the market. However, among all the providers, Amazon Web Services (AWS) has established itself as a leader in terms of innovation and services it provides.
It all started in 2006 when AWS started providing infrastructure services.
Now, AWS services are utilized in more than 190 countries all over the world and many research firms have announced AWS as a leader in the cloud space as well.