What is cloud computing?
If someone is using the software, which is installed on the local computer or LAN, it is called on premised software. This software is accessible by using the installed application over the local network or local machine.
Now if someone does not want to rely on the installed software in their local premise, software that can be accessed from anywhere over the internet by using the internet browser, you certainly need some other solution. That solution is called cloud computing. Software is installed somewhere and you just need one internet connection and one internet browser that can be accessed using any machine (laptop, desktop, mobile etc).
That means computer services that are available over the internet are called cloud computing. As a user you can access them with the help of a simple web browser without installing any software on your computer. That means consumer can now treat the computer services like the utilities just like water, electricity, gas etc. Nowadays almost everything is available on cloud starting from email to complex financial applications. These services are available for the user on usually pay per user basis.
I have read many real examples from various books/blogs to simulate the cloud examples. Let me quote those examples here too. Bibliography is present at the end of the blog to refer it for more details:
A good analogy to cloud computing is the electric grid that centralized the production, transmission, and distribution of electricity to consumers. Consumers simply plug in to the grid, consume power, and pay for what they use without worrying about the nitty-gritty details of how electricity is produced, transmitted, and distributed.
Why do we want to use cloud. So there are many advantage because of which cloud have become so beneficial for all of us. Standardization, automation, virtualization, easy to use, pay as you go etc are some of the reasons. May be I can write one separate blog that will talk about the cloud benefits in details.
Let us deep dive to talk about some more terminology, delivery model and deployment models that are available in cloud computing.
Cloud Delivery Models
We have different combinations of these computer services that can be availed over the internet. You can use the following 3 delivery models in more than one combination as per the need.
- IaaS - Infrastructure as a service: This delivery model caters to the computer hardware along with the operating systems and network connectivity, which are available over the internet/cloud. Consumer will get a raw virtual machine (VM) to start with. Consumer can install their software, applications on these VM to make use of it further. Primarily these types of delivery models are used by the software companies to develop the software. That means IaaS give the consumer high level of control and responsibility. In simple word this is just the raw computer infrastructure with lot of options to play around.
- PaaS - Platform as a service: This delivery model caters to IaaS + some installed application/platform for the consumer. This type of services are used by the consumer, who wants to build some more functionality by using these already available ready-made computer services. Google Maps APIs, Dell Boomi, Actuate BIRT etc are the Paas products that are used by the other companies/products to utilize the ready-made services these product offers to make the other products. PaaS does not offer high level of control over the services. Usually PaaS services are accessible through APIs. That means PaaS offers some functionality/product which is not for the end consumers but for the other products. These functionality will be used by other SaaS based product to offer bigger functionality for the end users.
- SaaS - Software as a service: This is the final product which is available over the internet to the end consumers. This is an end to end solution of any services that is offered by thousands of companies across the globe. Think of any product which you have accessed till date by using the browser and internet. Mails, postal services, banking, utility bill payments etc are the examples of the SaaS products. You don't get much of the administrative control over these services. Already preconfigured with the services these companies want to offer.
Cloud Deployment Models
- Private Cloud - When these computer services are deployed on a private data center, which is accessible to limited number of people within an organization for maintenance or creation, it is said to be a private cloud. Under this case, cloud provider and cloud consumer is the same organization.
- Public Cloud - As the name suggests, public cloud is accessible to wider audience. Anybody who has internet connection can access to these computer environments provided by the third party cloud providers. There are many public cloud provider, which are available in the market nowadays. Some of the largest cloud provider are Google Cloud Platform, Amazon Web Services, Microsoft Azure, Salesforce.com etc. End consumer do not need to worry about the creation or maintenance of IT resources.
- Community Cloud - Community cloud is like public cloud but it is accessible only to a particular community to a limited audience.
- Hybrid Cloud - When we want to avail the benefits of both public and private cloud, we chose hybrid cloud. Sensitive and secure data is stored on private cloud and non-sensitive or transnational data is stored on public cloud.
Nice analogy.
Very good article Amit sir ..
Nicely explained...awesome...
Complexity simplified with simple words... Thanks Amit.