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 we’ll talk about cloud computing resources, cloud deployment models, and key cloud concepts.
Stay tuned for our next post, where we’ll cover cloud service models, cloud computing use cases, and more.
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.
Cloud computing resources
When discussing resources within cloud computing, it won’t be long before you come across the following terms: Compute, Storage, and Network Resources. A clear understanding of each 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.
Cloud Deployment Models
Within cloud computing there are three typical cloud models for different levels of management and security: public, private, and hybrid.
Public cloud. A public cloud 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. 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. With a private cloud, 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 premise. 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 approach, 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. The hybrid cloud makes use of both public and private clouds. This model may be used for seasonal burst traffic or disaster recovery.
A hybrid model 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.
Key Cloud Concepts
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 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 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 service models, use cases, and more
Stay tuned for our next post, or check out our free course What is Cloud Computing?
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.