In recent years, the concept of Cloud Computing has become integral to the modern IT landscape. Many organisations have adopted a “Cloud First” strategy where any new deployments must be hosted in “The Cloud”. The Covid-19 pandemic accelerated this trend as organisations tried to take advantage of cloud services to facilitate working from home arrangements during the frequent lockdowns.
However, what do people mean when they talk about The Cloud? There is still a lot of confusion about what the term means and what you can really expect in any given scenario. Today we’re going to take a look at the different types of Clouds that are available and the benefits and use cases of each one.
What are the different cloud deployment models?
When referring to the Public Cloud, what we’re really talking about is computing services that are offered by a third-party provider over the public internet. They will allow the customer to only pay for their exact resource usage for things like CPU cycles, storage, or network bandwidth consumed.
In a Public Cloud, the hardware, software and network devices are shared between multiple different companies. We refer to these as “Cloud Tenants” and they have access to services and management of their tenancy through a web browser, terminal or an API.
The service provisions in a Public Cloud are categorised in one of three ways:
- SaaS: Software as a Service
This is a way of delivering centrally hosted applications over the internet as a service. This removes the need to install, maintain and manage the underlying hardware, Operating Systems (OS), software and surrounding infrastructure. Examples include Microsoft Office 365 and Google Workspace.
- PaaS: Platform as a Service
This delivery method involves the Cloud Provider hosting, managing and maintaining all hardware and software included in the platform. This includes OS and middleware, development tools and business intelligence along with all upgrades, updates and security patching. Examples include AWS Elastic Beanstalk and Google App Engine.
- IaaS: Infrastructure as a Service
This is the service model that most closely aligns to the more traditional Virtualisation that most companies operate in their On-Premise data centres. The cloud tenant can provision, configure and use compute, storage and network capacity to create Virtual Machines (or in some cases, Bare Metal). These were the services that providers like Microsoft Azure and Amazon Web Services offered when they started.
Public Clouds operate under a shared responsibility model. This means that, depending on the service type you consume, you will be responsible for different things.
There are a multitude of benefits of using a Public Cloud:
When talking about Cloud Agility we are specifically addressing the ability to quickly react to business needs and consume resources as required. The ability to react quickly is something that has traditionally been hampered by long procurement times and prohibitively high upfront costs. The cloud allows you to spin up a service immediately and only pay for those services that you actively consume.
Outside of a cloud environment, an organisation would design their systems to have excess capacity to cover whatever their peak forecast load would be – i.e. seasonal workloads around peak website sales dates. The use of cloud resources allows an IT department to only provision what they need, scale up to cover the abnormal workload, then scale back down to only the required capacity which avoids having to pay for unused resource for the majority of the time.
Scalability goes hand in hand with Elasticity. Whereas Elasticity is the ability to automatically scale up and down, scalability is having the available resource and capacity to do so.