Cloud computing provides a different approach from the traditional way of hosting applications and consumption of computing resources.For deploying applications in the past you need to purchase expensive hardware and software.
Cloud provides ability to use resources over network/internet and you can provision resources yourself on demand.This allows to scale up and down.You only pay for the used resources.
Cloud allows to use applications as services over a network.It consists of a set of hardware and software resources which are used by the consumers of the cloud.The main difference between normal computing and cloud computing is that in the case of cloud computing you are running your applications off premises in a remote data centre while in the case of traditional computing your applications run in premises in your own data centre.
Cloud has the following characteristics:
- Elasticity resources can be provisioned or deprovisioned according to the consumers requirement.So from the end users point of view there are infinite resources.If you need 100 virtual machines you can easily add them yourself.If you want to remove any of the virtual machines later on you can do that as well.
- Self service User can himself add or remove resources as per his requirement rather than relying on IT staff.
- Metered User is billed according to the resource usage.
- Resource pooling Resources are shared by different users.This is also called as multi tenancy.
- Cloud is maintained by a cloud service provider.There are many cloud providers such as Azure,AWS and Google.
There are 3 Service models/Delivery models in cloud computing:
- IaaS or Infrastructure as a Service Users can provision compute,storage and networking resources.Examples are AWS and Azure.You don’t need to buy hardware and software and can scale up or down as required.Hardware is managed by the cloud provider.
- PaaS or Platform as a Service Service provider provides main components such as OS,Databases.This is suitable for developers as it provides a complete platform for developing applications.
- SaaS or Software as a Service Application is provided by the service provider and can be accessed through browser or other devices.
Cloud deployment models
- Public Cloud runs over internet.Manged by cloud provider.
- Private Cloud use on premise hardware/infrastructure.You own and are responsible for hardware and software.User has portal using which he can manage infrastructure and software.
- Hybrid Cloud combination of Public Cloud and Private Cloud.
Some of the advantages of cloud computing are:
- Lower setup costs If you are setting up an infrastructure then chances are that you don’t know exactly how many resources you would need.In such scenario instead of purchasing costly hardware you can use cloud and you will be billed only according to the usage.
- You don’t need to manage the infrastructure as it is managed by the cloud provider.
- Scaling up and down quickly.
- pay as you go/use model you only pay for the resources you consume