Nowadays, when working on software systems, you have heard about Cloud Computing technology. Understanding cloud fundamentals is an essential part when getting started with Cloud Computing. Amazon Web Services (AWS) is one of the cloud providers that offer over 300 services. Before starting with AWS, understand cloud concepts such as what is cloud computing, the advantages of using cloud computing, cloud computing types, and cloud deployment models.
In this article, we'll cover the concepts you need to build that solid foundation to implement Cloud Computing technologies.
What is Cloud Computing
Cloud computing gives you the option to transform IT infrastructure into a utility - which means you can get into your IT infrastructure via the internet, using computing resources on the cloud. Without the need to install or maintain these resources on-premises.
What is on-premise you might ask? Going with the on-premise way, you must manage your own servers, hire IT people, payor rent the real-estate for the servers.
The opposite of on-premise is the cloud providers, who provide you these services via the internet. The cloud providers are companies who own the servers, hire the IT people, pay and manage the real estate for the servers. Those companies give you the option to manage the configuration of the cloud services you use, and your code and they take care of the rest.
Simply put, Cloud Computing offers you on-demand access, through the internet to cloud computing resources, applications, servers (physical and virtual servers), data storage, development tools, networking capabilities, and more — hosted at remote data centers that are managed by cloud service providers.
Advantages of Using Cloud Computing
We learned what on-premise IT is, the traditional way of managing IT infrastructure. Based on the differences between on-premise and cloud computing provider solutions, there are some obvious benefits you get when using cloud computing resources.
Lower total cost of ownership (TCO)
For all the attributes of having your on-premise infrastructure that we mentioned such as managing your own servers, hiring the IT people, paying or renting the real-estate for the servers, those all come up with a price, and with the cloud computing technology, you eliminate the capital expenses.
Agility
In just a few clicks you're able to get up and running the computing resources you need for your applications — As Webiny's CEO
Scale and Performance
The two most important benefits you get when switching to cloud computing technologies is when you want your customers to have an amazing user experience using your product, anywhere - that means in the lowest or highest spikes of your product's traffic. Cloud computing services run on a worldwide network, so they're able to provide you the ability to scale and deliver the resources when they're needed.
Types of Cloud Computing Services
The cloud computing services fall into four different categories: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Serverless, and Software as a Service (SaaS). They are all built up on top of one another. We'll go through them to understand what they are and the differences between them.
Infrastructure as a Service (IaaS)
IaaS represent the building blocks for cloud IT by providing access to networking features, computers, and data storage space. You can use those resources to build your own products. These are offered by different cloud provider companies on a pay-as-you-go basis. Some examples of cloud providers are
— Intended for Admins
Platform as a Service (PaaS)
I'm assuming you are a software developer? Well, this cloud computing category is designed for you. PaaS offers cloud computing services with an on-demand environment for development, testing, delivering, and managing software applications. This will make it easier for developers to create web or mobile applications, without worrying about the infrastructure, storage, network, and databases needed for development.
Some examples of PaaS are the
— Intended for Developers
Serverless Computing
I'll mention the definition of serverless computing based on Webiny's guide to serverless ⬇️
"Serverless means there are no servers you have to operate to run a particular service or an app. Usually, in Serverless architectures, you rely on services that are managed for you. Be that function-as-a-service, storage-as-a-service, and others. Using managed services means all the maintenance and operational tasks are abstracted away. Yes, there are still servers there, but they are no longer your responsibility to manage."
Some of the examples that offer serverless services are
Software as a Service (SaaS)
SaaS takes place when cloud providers offer complete software products. The infrastructure, product maintenance, security its managed by the cloud provider. Some examples of this cloud computing category are
— Intended for Customers
Cloud Deployment Models
Public Cloud
With this type of deployment model you'll have access to anything the cloud provider offers, from SaaS applications, virtual machines (VMs), infrastructure and development platforms — available to users via the public internet. Different cloud providers offer these services in different pricing models such as subscription-based, or pay-per-use.
One of the known characteristics of the Cloud is the multi-tenant* environment—the data centers infrastructure is shared by all public cloud customers. This leads to one or more disadvantages of the Cloud such as limited resources → Even though they have incredible computing power, they share their resources with multiple tenants.
Some examples of companies using the Cloud deployment models are:
Multi-tenant* → When a single instance of a software application serves multiple tenants (or user accounts).
Tenant* → Can be an individual user, but more often is a group of users that share common access and privileges within that instance of a software application.
On-Premise || Private Cloud
The on-premise cloud refers to the cloud computing resources being used by one organization or customer → sometimes is called a private cloud. One reason is the security that the on-premise offers for sensitive data for customers such as Government, Hospitals, Enterprises with different regulations. The on-premise cloud is hosted in the customer's data center, but it has the option to combine the hosting on an independent cloud provider's infrastructure.
Hybrid Cloud
A combination of the public cloud and on-premise → connecting an organization's on-premise cloud services and public clouds into a single infrastructure for all the organization's applications.
The goal is to have an optimal solution for each of the organization's applications to do the workloads between the two — based on the current requirements.
Using Hybrid cloud gives organizations the freedom to meet their business and technical objectives with benefits such as lower costs and efficiency rather than using just public or on-premise cloud.
Now that you know the cloud computing concepts, I think you are ready to start with some examples of cloud computing services or you can follow the blog on
If you learned something new today and are interested to follow up on our blogs,
Thanks for reading! My name is
Frequently Asked Questions
- Lower Total Cost of Ownership (TCO): No need to buy or manage hardware and data centers.
- Agility: Quickly spin up resources and focus more on product development.
- Scalability and Performance: Easily handle changes in traffic and deliver fast global performance.
What is Cloud Computing?
Cloud computing lets you access IT resources (like servers, storage, and applications) over the internet, eliminating the need to manage on-premise infrastructure. Cloud providers handle server maintenance, security, and scaling.

