Cloud computing is all the rage right now.
Not exactly sure what the cloud is? It’s OK, we’ll explain 🙂
Think of the “cloud” as services you can use that run “on the internet”.
Whenever you watch Netflix, browse popular websites (like Google, Facebook, etc.), use apps or play games that you’ve not downloaded and saved on your computer or smartphone – you’re enjoying the benefits of the cloud.
For businesses, cloud computing is an attractive proposition. From reducing costs to economies of scale, the cloud helps businesses deliver services much more efficiently while keeping expenses down.
As a result, cloud computing is one of the most sought after and used technologies today.
If you often hear and read about the cloud but are not sure what it is, this guide will explain everything you need to know about cloud computing.
What exactly is the Cloud?
In simple terms, the cloud means “on the internet”.
In a little more detail, cloud computing means:
- Computing resources such as data storage, processing power, and network connections are delivered over the internet to you as a service vs you physically managing them at work or home.
- You don’t have to manage any of the infrastructure (server space, physical machines or operating systems) – you just use them and focus on writing your application code or playing games or whatever it is you do 🙂
- And when you’re cloud computing, you’re a using a program that runs on a remote server. You access the program over the internet. Those remote servers are managed by the providers like Amazon, Microsoft or Google.
Here’re the features that define cloud computing:
- Over the internet: Computing resources and services are delivered over the internet.
- On-demand self-service: You access the resources you need exactly when you need them, and without the assistance of a salesperson.
- Pay As You Go: You only pay for what you use, only when you use it
So why is it called the “Cloud”?
When network engineers drew a diagram (some think around the 1970s-1980s) to show how devices are interconnected on the internet, the model took the shape of a cloud. This is where the cloud got its name.
In more recent times (2006), Google’s CEO at the time, Eric Schmidt, was quoted as saying “data services and architecture should be on servers. We call it cloud computing – they should be in a ‘cloud’ somewhere”.
Where is the cloud located?
Nope, it’s not in the sky 😉
The “cloud” is physically located all over the planet. Computers (or “servers”) are placed in buildings / warehouses. Like a big farm of computers. And are run and maintained by cloud service providers (e.g. Amazon, Microsoft or Google) with special equipment and employees to keep those server healthy.
What is Cloud Computing Used For?
From software development to entertainment, cloud computing is everywhere in the modern world.
Some of its applications include:
- Service providers use cloud computing to deliver applications, music, videos, and games to users all over the world.
- The cloud provides a cost effective way to store, backup, and recover data at a large scale – this is because of the on-demand nature of cloud services: paying for just the time and space you use.
- Developers and product managers take advantage of cloud platforms and cloud-native technologies such as Kubernetes to build, test, deploy, and scale applications.
- Cloud computing enables businesses to consolidate data and use intelligent technologies such as machine learning and artificial intelligence to derive valuable insights from that data.
What Are The Benefits of the Cloud?
Today, organizations, big and small, are shifting from on-site data centers to cloud computing.
Here are the reasons why:
Time and Cost Savings
With cloud computing, businesses don’t have to spend time and money setting up and maintaining their own data centers, servers, and other computing resources.
The pay as go model also helps save money because many cloud services, such as data storage, are charged by their exact use in terms of time and amount vs having to spend chunks of money on physical hard drives that may or may not get used.
Cloud computing enables businesses to scale elastically.
There’s less of a need to reserve extra capacity just in case demand surges as many cloud services can scale up or down quickly or near-instantly.
Global scaling also becomes a breeze, as services and applications can be made available very quickly and delivered virtually anywhere anytime.
Speed is a top priority in the modern world. No one wants to wait too long for a website, a video, an application, or anything else to load.
Cloud computing offers an advantage here, as even a heavy load of computing resources can be delivered at record speed.
This is because cloud services are provided on-demand. Cloud computing data centers typically also use the latest generation of computing hardware that are fast and efficient.
With cloud computing, there is no on-site data center to maintain.
This puts more hours in the hands of IT staff allowing them to focus on the most important activities for business success.
Security and Reliability
It’s not easy for potential threats to penetrate the broad set of policies, controls, and technologies cloud service providers use to safeguard data, applications, and infrastructure.
Because there are multiple redundant sites where data can be mirrored, backing up and recovering data is also made easier and less expensive.
Types of Cloud Computing Services: IaaS, PaaS, and SaaS
The cloud is a general term that encompasses three main different models of cloud computing services. Each offers different levels of control and flexibility:
Infrastructure as a service (IaaS)
Iaas is the most fundamental cloud service. It gives users the highest level of flexibility and control over their computing resources.
Businesses rent computing infrastructure such as servers and networks from cloud service providers.
But with more flexibility and control also comes with more responsibility – meaning there is maintenance and up-keep for example on virtual servers that are rented.
Platform as a service (PaaS)
PaaS provides developers the infrastructure and environment they need to build and deliver applications.
An example is renting a database or data storage space. You are really just leveraging the inputs and outputs of the service or resource you are renting.
Another example is leveraging serverless functions (or serverless computing) for quick, small tasks where you want small bits of code to run (e.g. to send individual email or resize pictures on-demand and at scale) where you don’t need a full server dedicated to those tasks (ad you don’t want to maintain that server!).
Freed from the hassles of managing the infrastructure they need to create and deploy programs, software development teams can focus on developing better programs faster.
Again, with PaaS there is less maintenance and up-keep vs IaaS however it means you have less flexibility and control. For a lot of businesses and people that is OK!
Software as a service (SaaS)
With SaaS, software is delivered over the internet.
Instead of buying and installing the application on their computer or personal device, users subscribe to and access the software on the internet, on an as needed basis.
How Cloud Services are Setup (Deployment Models)
As for deployment, cloud computing services can be setup and delivered through a public cloud, private cloud, or hybrid cloud.
All the hardware, software, and infrastructure are owned and managed by a third party cloud provider.
You get an account with the service provider and access and manage your account using a web browser.
A private cloud is composed of computing resources for exclusive use by one organization.
Such an organization can opt to locate their cloud on an on-site datacenter or host it with a third-party cloud service provider.
As the name suggests, a hybrid cloud combines aspects of public and private clouds. Data and applications can be shared between private and public clouds.
A hybrid cloud increases flexibility, provides more deployment options, and optimizes the existing infrastructure and security.
The Top Cloud Service Providers
Cloud computing services are provided by companies referred to as cloud service providers.
These companies charge a fee based on usage of the cloud services they offer.
The top six players in cloud computing include (biggest from the top):
- Amazon with Amazon Web Services (AWS)
- Microsoft with Microsoft Azure
- Google with Google Cloud
- IBM with IBM Cloud
- Alibaba with Alibaba Cloud
- Oracle with Oracle Cloud
What’s the future of the Cloud?
Cloud computing adoption is not slowing down. Business are more and more using cloud services to run their day to day operations.
I think in the future we will see a rise in things like:
- Connected Devices at the Edge (or Edge Computing) – these are like “smart” devices (smart TVs, smart watches, etc.) that are not considered traditional internet servers but have their own processing power, ability to connect to the internet and make decisions on their own and are the closer to the consumer than services running in the cloud. I this makes sense because if you can make a device just a little smarter and offer additional value to the consumer that unlocks more earning potential.
- Artificial Intelligence will power more and more of our daily lives. To me this makes sense because the more software can make decisions automatically to bring value to the business, why not?
- The semantic web. To me this means not just more and more data being generated and recorded every day. It means the data begins to have more and more meaning and context. So that AI and things like edge devices can leverage the data and meaning to fill opportunity gaps in the market.
To Wrap Up
Gone are the days where most companies only maintain private data centers on site. We are now in the age of the cloud!
And cloud computing benefits everyone from businesses, software developers, to people just browsing the internet on any device. One can argue it’s even beneficial to the environment – e.g. fewer machines and less energy needed as a result.
It’s easy to see why the cloud is incredibly popular and seeing widespread adoption.
Mike is the creator of Go With Code and a coder at heart 🙂