Cloud computing is what everybody seems to be talking about these days. But what does it even mean? In this shot, we will go over what it is, as well as the different types of cloud deployment and delivery models.
Earlier, to host applications you would have to rent or build data centers where you would store the hardware that would run your servers.
Cloud computing refers to using computing resources on demand without directly managing them. So instead of building data centers and buying hardware to run your apps, you simply rent compute power and use that to suit your needs. Who do you rent it from? Let’s get to that later in the cloud delivery models section.
The biggest advantage of cloud computing is that instead of spending the cost of running an entire data center, you only pay for the power you need. This also includes scaling up and down based on your needs. All you need to do is connect with your cloud provider and change the resources you’re using from their provided console.
Behind the scenes, these cloud providers are still running and maintaining data centers of their own, but that’s not your headache now. You just request the resources you need, and you’ll be provided with them from a shared pool of resources that they maintain. Once you’re done using them, those resources go back to this shared pool.
Now that we have an idea of what cloud computing is, let’s see what different types of cloud deployments are available.
Private: Like the name suggests, a private cloud means that the hardware on which your cloud runs is owned by you or your organization.
Public: A public cloud means that the hardware isn’t owned by you, and the organization which owns this hardware provides you access to the computing power you pay them for.
Community: This is kind of like public cloud, but it differs in the fact that access to the computing power is only allowed to a particular group of organizations or people who belong to a particular community.
Multicloud: This means you’re using resources from two or more public clouds or two or more private clouds.
Hybrid: Hybrid clouds allow you to use resources offered by both private and public clouds.
There isn’t one best approach. Private clouds offer more security since the resources are provisioned for use by a single organization. The computing resources are not multitenant, meaning that systems are not shared while provisioned.
Public clouds provide resources that are generally multitenant, meaning they are shared between different users. When one user is done using the resources, they are added back to the shared pool and are available for other users. These are much more cost-effective and easier to manage since you don’t have to maintain any hardware. Security these days is almost as close to that provided by private clouds.
Multicloud uses the cloud platforms of multiple cloud providers. So, this is when you use a mix of AWS, Azure, GCP, or other cloud providers. The reason you’d want to do this is that some cloud providers might be better than others at certain types of services. It also ensures that you aren’t solely dependent on a single cloud provider. However, this does mean that setting them up ends up being a bit more complicated than using a single cloud provider.
In the SaaS model, a company hosts the application you need and provides it for you. The SaaS provider may internally use any model for the compute resources they need in order to provide you with their software.
An example to make this clear is Google Workspace. Google Workspace features many SaaS productivity applications like Gmail, Calendar, Docs, etc. They make our lives easier compared to the non-cloud alternatives, since users now don’t have to buy the hardware and software to support an on-premise business application.
The IaaS model refers to using the compute resources traditionally found in an organization’s own data center over the internet. What this basically means is that someone will host the hardware for you and provide you access to the computing power over the internet. AWS, GCP, and Azure are examples of IaaS clouds. The main benefit they provide is that you don’t need to buy the hardware and you pay only for the resources that you use.
Under the PaaS model, a company provides the tools needed for application development, testing, and deployment to users over the internet. These days, most PaaS solutions support IaaS cloud providers. For example, Amazon Web Services Elastic Beanstalk is a PaaS cloud that runs inside an IaaS cloud, that is, AWS. PaaS offerings increase developer productivity by providing abstraction from the complexities of development environments.