Have you ever been lost in the clouds? No, not lost in your imagination but rather the cloud that stores a good amount of the documents, pictures, videos and other files that you have across your devices. Much of the world uses the cloud for personal use, but few know how it works and the importance of what it means for both individuals and companies alike.
Instead of getting lost in the clouds, let’s take a look at the power and importance of the cloud in technology today.
What is the Cloud?
When you’re using the cloud on your phone or laptop, what are you using it to do? If you said storage, you’d be correct and you know that wherever you go you can access your files, as long as you have an internet connection. No internet, no access, but as soon as you have an internet connection once again, you can go right back to those files.
The cloud is an interconnected set of remote servers that act as one environment, although one person cannot access the cloud space of another without proper authorization. When a cloud service deploys their cloud service, they can do it in the following ways:
Public cloud: the public can access various resources and services over the internet.
Private cloud: this cloud is not shared, but provides their services through the use of a private internal network.
Hybrid cloud: since it is a combination of both the private and public cloud, hybrid cloud services are on both; some on the public cloud and others on the private one.
Community cloud: this is a shared cloud that provides services and resources amongst organizations, such as government institutions.
What is Cloud Infrastructure?
When you think of the word infrastructure, what may come first to mind is the government and how they handle the roads, streets, buildings, highways, and bridges within their borders. When referring to the cloud, the infrastructure refers to similar structures: all the components that make up the cloud. The four elements that constitute cloud computing infrastructure are hardware, virtualization, storage, and network.
Hardware
As previously mentioned, cloud computing isn’t just a network that exists all around;it relies on hardware too. In several locations spanning the globe, there are spaces that are dedicated solely to housing hardware that includes switches, routers, load balancers, firewalls, servers, storage arrays, and backup devices.
Virtualization
To make the cloud a virtual space that a user can access or use, software called a hypervisor splits physical hardware resources like memory, storage, and computing power into various virtual machines (VMs) and runs independently so that when one system encounters problems, it doesn’t impact the others. It is considered a cloud when all these virtual resources are centralized into one area.
Storage
Data centers are established to house all the hardware, disks, and servers that store the data on the cloud; all of your data is generally distributed across several data centers so that the data is reliably stored and has backups. Thanks to virtualization, the cloud’s storage space is abstracted from the hardware systems so users can store their data.
Network
When discussing the network, there is both the hardware and the internet connectivity that come into play. The necessary hardware to create a network include switches, wires, load balancers, and routers and working in tandem, they configure a cloud network. For users to access the cloud through their devices, they require access to the network.
We understand what a cloud is and what cloud infrastructure looks like, but what services do they provide through their infrastructure?
Cloud Services
Many cloud providers offer several types of services, which include the following:
Infrastructure as a Service (IaaS)
When you use the cloud for storage, this is the service under which it falls; it also offers networking components and virtual machines as other integral components. It is typically a pay-as-you-go service, which allows users to customize their usage depending on what they need. Some providers of cloud infrastructure services are:
Amazon Web Services
Microsoft Azure Virtual Machines
Google Cloud Compute Engine
IBM Cloud
Platform as a Service (PaaS)
Web developers are one of the biggest users of this service since it is a service that allows users a space to develop, deploy, and monitor applications without impacting any other infrastructure in place. Providing them a space such as this one, PaaS is extremely beneficial for the whole web development process from development to deployment and doesn’t require infrastructure management, which makes it quite the timesaver. Similarly to IaaS, there are a variety of PaaS providers such as:
Google App Engine
Openshift
Microsoft Azure App Service
AWS Elastic Beanstalk
Software as a Service (SaaS)
There are an infinite amount of applications that we use daily and there are some that we use less often; thanks to SaaS, users can open an application without installing or downloading it. Paying a subscription to the service and accessing the website, a user can log on and access an application and there’s no need to ever update or manage it since the SaaS service provider handles all of it. Some of the most well-known SaaS providers include the following:
Salesforce
Dropbox
Microsoft 365
Google Apps
Slack
Zoom
In addition to these features, the cloud offers other more specialized services, such as:
Function as a Service (FaaS)
FaaS is another service that web developers may leverage since it is used for running code when events occur and does so without needing to handle changes in the infrastructure. It has the incredibly useful feature of automatically making scaling adjustments of the code based on the quantity of executions.
Container as a Service (CaaS)
Web developers use this service to deploy and run containerized applications and is considered to be a mixture of IaaS and PaaS.
Database as a Service (DBaaS)
As databases are a necessity for many companies and organizations, DBaaS can be an incredibly important one and it gives companies and organizations the opportunity to provision, scale, and manage their databases according to their own needs.
Artificial Intelligence/Machine Learning as a Service
If a company needs access to machine learning models and APIs, this service can be an essential tool for their software development and data analytics teams.
The cloud offers so many services that make it not only a beneficial tool for personal use, but also a staple for companies and organizations that require a large amount of storage space for documents, media, or other files.
Cloud Infrastructure Providers
Although you have already read about the different examples of cloud services, some of the most popular cloud infrastructure providers include:
Google Cloud
IBM Cloud
Amazon Web Services
Oracle Cloud Infrastructure
Salesforce
Microsoft Azure
These and many other providers are available for your company or organization’s needs and can help you build scalable solutions to your IT infrastructure.
What is Cloud Scalability?
One of the important aspects of cloud computing for companies and organizations is the possibility of scaling, both horizontally and vertically, IT resources depending on their current needs. The IT resources that can be scaled include computing speed, data storage, and networking; with flexibility to adjust the amounts, companies and organizations can improve efficiency, cost, and speed.
Vertical scaling
When vertical scaling, or scaling up and down, a company or organization focuses on adjusting the processing power, memory, or storage on a server or changing to a different, more adequate server that meets their needs. Vertical scaling usually entails hardware changes and as a result, can take more time to install and set up.
Horizontal scaling
Also called scaling in or out, horizontal scaling modifies the quantity of servers that a company or organization depends on and thus increases availability and enables a wider distribution of traffic over more instances. Unlike vertical scaling, it is more of a software change, which provides the opportunity for automation to take the wheel, saving time to make the necessary modifications.
Diagonal scaling
Diagonal scaling sits in between vertical and horizontal scaling and as you can imagine, it is a mixture of both. Also known as hybrid scaling, diagonal scaling allows for a company to make modifications to computing power and availability, maximizing the opportunity for a company to grow.
Cloud infrastructure is flexible and scaling in, up, down, and out carries many benefits for a company or organization since every day brings about new events, constant changes, and necessary adjustments. Solving scalability issues means taking a look at where the company is currently and where it’s going in terms of its needs and in using the cloud infrastructure for scaling, you can help a company exponentially grow.
If the cloud interests you and you want to support companies in scalability, take a look at Ironhack’s course page and learn about the fundamentals of the tech world.