๐๐ก๐ฒ ๐๐ฅ๐จ๐ฎ๐ ๐๐จ๐ฆ๐ฉ๐ฎ๐ญ๐ข๐ง๐ ?
Learn the core concepts of cloud computing, how did it come into use and why do we need it in the market?
Who should read? ๐
This article is for students who have no prior knowledge of cloud computing. Also, students who want to prepare for the AWS-certified cloud practitioner exam will benefit from this article.
What to expect? ๐
This article dives into the basic introduction of cloud computing. In addition, you will also learn why there is a need for cloud computing and what are its advantages, the cloud computing service model, and the deployment model.
To understand the need for cloud computing we must go back to the early 20s, when we knew very little or nothing about cloud computing to solve the problems, particularly in application development and hosting.
Suppose you had to start a business at that time. What options existed? The hosting and development of applications at that time were different. The internet wasnโt all that popular. Resources for hardware or software were difficult to locate. Around that period, anyone who wanted to start their own business had to purchase their own infrastructure. For instance, it was difficult to install software or host an application on the server we were utilizing. At the time, there was no service that allowed users to use their own server or infrastructure.
What are some of the challenges faced?
- Investing heavily in the setup: As it was getting way expensive to buy a server.
- Investing in resources: As an owner, you are constantly involving people and investing large amounts of money.
- Scalability: Consider having a server that stores a lot of data or being stuck in traffic. How much data is stored? How much time is required to get cleared of the traffic? These things are not constant. How many resources we will require for the data is unknown. We may sometime need very little or more than we think. Earlier preplanning was done as to how much manpower was needed, and how many resources, hardware, computing, and storage are needed. Based on that resources were being bought which would mean money was invested. Consequently, resources were being purchased, indicating that money had been invested. If we couldnโt generate so much data or traffic, the computations would have gone wasted. Assume we are generating more data than is required and the resources that were preplanned will not be able to handle it. In both situations either the money was getting wasted or there was a need to scale up.
And these were the problem that was faced when there was no cloud computing.
How did Cloud Computing help?
In this world there are popular companies that have been handling data for decades doing online businesses, making software including Microsoft, Amazon, Google, and many more. Since these companies had a very large infrastructure setup and had a lot of resources, they thought why not let people use these resources so that people can open their small-scale business.
In this situation, these companies began promoting themselves and giving resources to the people so that they can earn money. In short, since these companies had a lot of infrastructure setup, they started their own services. They started providing all the requirements such as storage, computation, database services, etc., and above all these companies started managing.
Now these resources were available on rent so whoever was monitoring or needed technical help was also given so that people could only focus on business.
Cloud Computing?
It enables on-demand services like computing, storage, networking, etc. which can be accessed through the internet, and the user is not required to manage these resources. In a nutshell, I can say whatever service is required to build, host, and develop an application is given on demand.
Advantages of Cloud Computing
There are many advantages of cloud computing but here are some of them I have listed :
1. Scalability: It has good scaling capabilities. Whatever resources are available, they must be scaled or measured in accordance with the demand. It might go up or down. Letโs imagine you have a working laptop with 4 GB or 8 GB, and thatโs how your laptop configuration changes. The data center or resources we are employing must also be scaled up or down in order to be scalable.
Scale-up and scale-down modifications are more difficult to perform when purchasing hardware, but if you manage the AWS platform, you have access to instance scalability.
2. Pay-as-you-go: If you utilize a resource for one minute, you will be charged for that time. You can use a calculator provided by companies like AWS and Azure to determine how much you will be charged if you use multiple services.
3. Secure and Disaster Recovery: To put it simply, if we store data anywhere, there is a chance that it will be lost, stolen, or get damaged. Disaster recovery is carried out in this case so that data backups are available in case the worst-case scenario occurs in the future.
Cloud Service Models
Assume you are a software user or that you wish to start a business. There is always some demand that you want to fulfill in a specific manner. In that instance, the cloud offers services in a specific manner, and the way these services are offered is referred to as a service model.
In the market, there are 3 cloud service models and these are :
- Infrastrucutre as a Service (IaaS)
2. Platform as a Service (PaaS)
3. Software as a Service (SaaS)
Infrastructure as a Service (IaaS): The user need, in this case, is that you provide the infrastructure, and weโll handle management, configuration, and security on our own. For instance: Letโs say you want to create an application. You will determine the operating system to use, the level of protection you require, the network it will be accessible to, and the amount of data center or computing power needed.
Platform as a Service (PaaS): Letโs assume you donโt want to keep security, configuration, and management. You just want a platform where you can develop your application or can put data in your application and give you the option to choose if you want to use Python, Java, PHP, and develop an application or whatever code you can import on the platform and use. So here the requirement is a platform where a vendor is giving you a platform on rent to use and run your application.
Software as a Service (SaaS): In this one, you donโt want a platform. You want to use software directly meaning that if you open an internet browser with login info, you will be able to use the whole service, and this is what is your requirement, and the form in which these services are provided is called Software as a Service. For example: Letโs say when we send an email through gmail we never think about how the data is being stored, how it will be configured, and which network it is. All of this is not our concern. Our major concern is login and sending emails. The cloud vendor is providing those services in the form of software.
Cloud Deployment Models
The deployment model is whatever the cloud computing service is given in, what security or management level it is given? How are these services deployed or how you can use these services?
Public Deployment Model: Let's assume there is a data center, and your data is in that center which is publicly available, but this doesnโt mean that these data arenโt secure. It is secure, the only concern is that all the different companies' data are in the same place which makes people think if it is okay to put their data. Since it is a public cloud, it is very cheap, and also, nowadays people are using public since their security and management are getting better.
Private Deployment Model: Assume your data is very critical and you canโt use a public cloud so you move to private where the data center or whatever resources you are getting delivered is in the private section or hosted in a space that is isolated and is allocated to you. It is very expensive since no one else is allowed to use it. For example: Letโs say you ordered an Uber if you are using it as a whole it must be expensive but if sharing it with someone else it might get cheap.
Private cloud computing is also known as on-premises.
Hybrid Deployment Model: A model where some data is very critical and some data can reside on the public cloud and nothing can happen. In this situation, you can opt for public or private because you require both and that is why it is called the hybrid deployment model.
Thank you for sticking with me this far. I hope you found this article useful and that it gives you some idea about cloud computing. Iโd appreciate your opinion on any mistakes Iโve made meanwhile keep learning ๐ธ