If you’re wondering what is cloud computing and how it works, then this series is for you. In our first post, we’ll answer the question, “What is cloud computing and how does it work?” We’ll give you an overview of cloud computing resources, history, types of cloud computing, characteristics, and benefits.
In the next two posts, we’ll cover all cloud computing services and their most common use cases, as well as the disadvantages of cloud computing you should know.
What is cloud computing?
Cloud computing adoption is a key strategy for many organizations. The significant business and technical advantages offered by the cloud are changing the landscape of how many companies and corporations operate on a huge scale.
Put simply, cloud computing is a remote virtual pool of on-demand shared resources offering compute, storage, and network services that can be rapidly deployed at scale. Cloud computing technology is based on virtualization. Virtualization allows the possibility of having multiple virtual machines, each essentially running a separate operating system and applications installed on one physical server. These VMs all run at the same time without being aware of each other’s existence, while sharing the underlying hardware resources of the server.
There are obvious benefits of virtualization, including reduced capital expenditure. Because you can have multiple VMs installed on one physical host, you don’t need to purchase as much physical hardware. Less hardware means a smaller footprint for your data center or server farm, and lower costs for power and cooling. In a cloud environment, the optimization of resourcing and equipment means that everyone who uses the infrastructure—both vendors and consumers—can benefit from this approach.
Now, just a quick note before we leave the topic of virtualization. A VM within the public cloud is sometimes referred to as an instance. This term is very vendor specific, but it refers to the same object as a virtual machine.
History of cloud computing
The early history of cloud computing begins back in the 1950s and 1960s when mainframe computers were used by large companies. These mainframes were expensive, so naturally it was a challenge for every company to purchase them.
Instead, a process called time sharing was developed which allowed users to access more than one instance simultaneously, which was a brilliant way to get the most amount of processing power available. In essence, this was the first example of cloud computing because it involved shared computer resources at scale.
In 1969, computer scientists worked on the Advanced Research Projects Agency Network, an early precursor to the modern internet. The goal of this network was to allow people to use programs and info from any location on earth.
The next series of progressions included virtual machines (VMs), allowing more than one computing system in a single physical unit, along with increased server hosting. As the 1980s and 1980s and 1990s progressed, more companies advanced the usage of remote (cloud) networked computing to include more advanced server hosting and products delivered from a website, such as Salesforce.
Amazon launched AWS in 2006 which began with storage and compute services. Soon after, Microsoft, Google, Oracle, and others followed and have accelerated the pace of cloud evolution.
Cloud Computing resources
When discussing cloud computing resources, it won’t be long before you come across the following terms: compute, storage, and network resources. A clear understanding of all cloud resources is essential for identifying what services you want to move to a cloud, should you decide to do so.
Compute
Compute objects provide the brains to process your workload, including what is required to process and run requests from your applications and services. In the cloud, compute resources compare to the hardware devices with CPUs and RAM, typically your servers, and how they work in a classic, on-the-ground environment.
Storage
Storage resources simply allow you to save your data across a shared environment. Any object that allows you to save your data in the cloud is a storage resource. In a typical environment, these would be seen as server hard discs, network attached storage (NAS) used for file-level shared storage access over the network, and the high-speed storage area network (SAM), which is block-level shared storage accessed over a high-speed network.
Network Resources
These provide the connectivity that allows all of the other resources to communicate with each other. In a typical environment, this would be accomplished through hardware such as routers (to route traffic between your networks), switches (which provide the background of network connectivity that allows other hosts to talk to one another), and firewalls (to allow or deny traffic into the environment).
If we go back to our original definition of what is cloud computing, we can say that it is a remote virtual pool of on-demand shared resources offering compute, storage, and network services that can be rapidly deployed at scale.
How does cloud computing work?
Cloud management platforms provide an interface for users and organizations to manage their cloud resources. These platforms allow users to create and manage resources, including compute instances, storage, networking, and other services. Cloud management platforms also provide a way to manage and deploy applications and workloads on the cloud.
Cloud management platforms can be used to manage public and private clouds. They can also be used to manage multiple cloud providers, allowing users to switch between providers without having to recreate their resources.
Cloud management platforms are often used by organizations to standardize their cloud deployments. They can also be used to automate tasks, such as creating and managing resources, or deploying applications and workloads.
Types of cloud computing
There are three typical types of cloud computing (also named models) categorized by different levels of management and security: public, private, and hybrid.
Public cloud computing type
A public cloud computing model is where a vendor makes available the use of a shared infrastructure, including compute storage and network resources that can be provisioned on demand and typically accessed over the internet for public usage. Thanks to this type of cloud computing, the consumer will never see the hardware used, nor know the exact location of their data, but they will be able to specify the geographical region to aid with the speed of performance, depending on where users are located.
From a design perspective, it makes sense to host your infrastructure as close as possible to your users’ geographic region to reduce latency. All back end maintenance for physical location services such as power, cooling, etc., along with the physical maintenance of host and hardware failures will be maintained by the vendor and invisible to the end user. As a general rule, you can access your services on the public cloud from anywhere as long as you have an internet connection.
Private cloud computing type
With a private cloud computing model, the infrastructure is privately hosted, managed, and owned by the individual company using it, giving it greater and more direct control of its data. As a result, the hardware is usually held on premises. This differs from a typical on-premise server file approach in that the same cloud principles are applied to the design, such as the use of virtualization. This creates a pool of shared compute, storage, and network resources.
With this type of cloud computing, greater capital expenditure is required to acquire the host and the data center where they physically reside. Additional resources will be needed for the day-to-day operations and maintenance of this equipment. As a result, your daily operational costs will also increase compared to that of a public cloud model.
Hybrid cloud computing type
The hybrid cloud computing model makes use of both public and private clouds. This model may be used for seasonal burst traffic or disaster recovery.
This type of cloud computing is established when a network link is configured between the private cloud to the services within the public cloud, essentially extending the logical internal network. This takes the benefits given from both the public and private models and allows you to architect your services in the most appropriate model. Hybrid clouds are normally short-term configurations, perhaps for test and def purposes, and can often be a transitional state for enterprises before moving their service to the public cloud entirely.
Benefits of cloud computing
There are a number of important characteristics that allows cloud computing to be such a powerful service.
On-demand resourcing
When you want to provision a source within the cloud, it’s almost immediately available to you. You can allocate it when and where you need it, so there’s no more waiting around for hardware to be ordered and stored, cabled and configured before using it.
Scalable
Cloud computing allows you to rapidly scale your environment’s resources up and down, and in and out, depending on the requirements and demands of your applications and services. When scaling up and down, you’re altering the power of an instance, perhaps using one with a greater CPU power. When scaling in and out, you’re simply adding or removing the number of instances you’re using. This offers a significant advantage compared to on-premise solutions from a cost perspective alone.
Because public cloud resources are optimized and shared between different organizations, the end user can benefit from exceptionally low compute storage and network costs compared to traditional hosting.
Flexibility and elasticity
Cloud computing offers huge flexibility and elasticity to your design approach. You can choose to have as many or as few resources as you require. You decide how much and how long you want them for, and at what scale. There are no retention contracts to adhere to for services.
Growth
Cloud computing offers your organization the ability to grow using a wide range of resources and services. Couple this with the on-demand element that we’ve already mentioned and your growth constraints are significantly reduced compared to a classic environment.
Utility-based metering
With many cloud services, you “pay as you go” which means you only pay for what you use. If you only have one server, or instance, running for two hours, and then shut it down, you only pay for two hours of compute resources. That’s it. You only pay for resources when you use them.
Shared infrastructure
Hosts within the cloud are virtualized. As a result, multiple tenants can be running instances on the same piece of hardware. This significantly reduces the amount of physical hardware required, which in turn reduces the amount of power, cording, and space required in the data center. In turn, this results in lower costs for you.
Highly available
By design, many of the core services with the public cloud and its underlying infrastructure are replicated across different geographic zones. Having data covered in multiple different places automatically helps you ensure the durability and availability of your data and services without even having to configure an architect for this resilience. It’s all provided by the vendor as a part of their service.
Security
This is one of the most discussed topics within cloud computing. Public cloud vendors such as Amazon Web Services and Microsoft Azure are considered to be more secure than your own data center. This is achieved by adhering to a shared responsibility model between the vendor and yourself. The vendor will operate at an exceptionally high standard of security for the underlying infrastructure of the cloud, and it’s down to you, the end user, to then architect security in the cloud using the tools, services, and applications available.
These are the key characteristics and benefits of cloud computing. You can see how different it is from the classic on-premise data center deployment that you may be used to.
Next: cloud computing services, use cases, and more
Stay tuned for our next posts. Just to remind you, we’ll talk about:
- Turnkey solutions in the cloud space – the big cloud service models: Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS)
- The main cloud computing use cases
- The disadvantages of cloud computing you should know
In the meantime, If you’re interested to learn more about the basic concepts of cloud computing and the different deployment models, I recommend the Cloud Academy’s What is Cloud Computing? course.
Watch this short video for an overview of the course.