Do you think of the Internet when you hear anything referring to “the cloud”? Well as promised in the last Jargon buster article, we are taking you up to the sky - among the clouds! In this edition, we will begin with the basic business jargon on cloud computing including the difference between public, private and hybrid clouds.
Simply put, cloud computing is the delivery of computing services over the Internet, including applications, data stored in servers and databases located remotely in cloud providers' data centers.
Currently, Amazon Web Services (AWS) and Microsoft Azure the largest cloud service providers. They manage everything from acquiring and updating the hardware, maintaining a physical infrastructure to keep the hardware safe so they do not have down time and cannot be corrupted and ensuring operating systems and databases integrate with their users' software applications.
By leaving the infrastructure and hardware costs for cloud providers, you do not have to worry about scalability and can enjoy flexible pricing. For instance, when you run out of storage or processing power, you can simply buy more and you will get them instantly provisioned. If you do not need that much power or storage, you can also simply adjust your configurations and your monthly bill reduces when it comes round. Therefore there is no need to worry about operational costs for managing unused servers sitting in your company's basement.
Infrastructure as a service (IaaS)
There are three major categories of service models in cloud computing based on how IT service delivery is abstracted in relation to the components that make an application function and available online. Let's dissect each service model.
This is the most basic model. With IaaS, the cloud service provider only manages and provisions the IT infrastructure, including virtual machines, storage, networking as well as the underlying hardware and physical facilities. Users, usually enterprise companies with a certain degree of technology capabilities, rent these services and opt to use their own development environments and applications to work on top of the cloud infrastructure.
By taking hardware out of the picture, users can save time by avoiding the upkeep of managing a physical infrastructure and architecture, and save money by reducing the ongoing costs of maintenance.
Platform as a service (PaaS)
With PaaS, we are moving a layer up – the cloud service provider supplies and manages the environments for development, testing and production in addition to the infrastructure. Users, mostly likely developers, can then focus on developing their applications and service well, deploying them quickly into the world across platforms (web and mobile), and managing the application lifecycle.
No time is spent on setting up environments, which can be frustrating for developers without DevOps experience, or any low level setup such as capacity planning, server management.
Software as a service (SaaS)
You might have heard of SaaS even if you are not a developer. Most of the services and applications we use today are delivered in the SaaS model, such as email, calendar, online storage. Users pay for the use of applications and services, that are centrally hosted by a cloud service provider, on a subscription basis.
All the behind-the-scenes technical abstraction is taken care of by a SaaS vendor.
There are also several models of deploying the cloud: Public cloud, private cloud and hybrid cloud.
Public cloud refers to the model where one purchases and consumes computing resources from a third-party service provider on an as-needed basis. Users do not own any hardware, supporting software or infrastructure locally within their offices, and can use any web browser to access the computing services. Minimal technical knowledge is needed and there is a deep sense of trust between users and the providers. Take note that public cloud is a multi-tenant environment, meaning the resources are shared by multiple users or companies.
As this model is very popular, it is actually what people usually refer to implicitly when they mention cloud computing.
Private cloud, on the other hand, refers to the model where all the computing resources in the environment is exclusively used and managed by a single user or company. This allows the user to configure specifically to cater for legacy applications and to have a higher level of security. Do note that private cloud can be built using on-premises infrastructure as well as third party cloud service providers. In contrast to public cloud, a private cloud is one in which the services and infrastructure are maintained on a private network.
As the name suggests, hybrid cloud combines public and private clouds together allowing data and applications to move and to be shared. For example, you may have a client-facing web application that is hosted in public cloud which sends client information to a database hosted in a private cloud so that the information is more securely stored. Although a hybrid cloud can be expensive and complicated to maintain, its flexibility has gained some popularity in enterprise.
Watch out for the next article where we will talk about how cloud computing works at a lower technical level, including virtualisation and containerisation.