When we think of IT architecture, we automatically begin to think of what is in our datacenter. We often are trapped thinking very physically when it comes to IT architecture, even with the rise of virtualization technologies. We know there are many benefits of cloud computing, many of which we began to see when we deployed the first virtualized environments in our data center. The fact of the matter is that while it is often seen as something completely separate, cloud infrastructure shares many of the same ideas and properties as the traditional IT architecture we are used to.
Now, let’s break down some of the advantages of cloud computing and what really makes up a cloud infrastructure. Before we do that, we will be better served if we spent a little bit of time in the traditional IT architecture we find in our data centers.
IT Architecture Boiled Down
If I want to break down an IT architecture into its most basic components, it would look something like this:
Are there many more components to an IT architecture? Of course there are (and I break down many more in depth in the book IT Architect Series: The Journey), but we are going to keep it basic for now. The three basic components of an IT architecture are:
- Compute
- Network
- Storage
First, we need something to do what we tell it to, which is the compute portion of the IT infrastructure. Then, we need a place to store the product, which becomes the storage. Finally, many compute instances need to talk to each other, and need a way to put the product or data into the storage subsystem, which leaves us with networking. Without networking, we cannot transfer data in or out of any of these systems.
If we think of cloud infrastructure, the same concepts apply. We need something to do the work for us, a place to put the product of the work, and a way to make these cloud infrastructure components to communicate with each other, and for the users to communicate with these systems. Many do not realize that the fundamental concepts of the IT infrastructure in the datacenter and cloud infrastructure are almost exactly the same. There is a big difference however, which we will soon talk about.
Benefits of Cloud Computing
There are many benefits of cloud computing, which many have realized in their datacenters already as the result of virtualization. I remember joking that I had been running a cloud infrastructure for years when use of the term cloud was first beginning to emerge in the IT world. First, let us go back in time to when we were adopting server virtualization, and think of some of the benefits
- Ease of management – We did not need to manage as many physical servers
- Reduced data center footprint (and power/cooling costs) – See above. We did more with the same resources instead of letting them sit idle
- Rapid provisioning – Since the physical hardware was already running, we reduced the time it took to deploy a server we needed to do work, since we didn’t need to worry about things like racking and stacking.
Are there more benefits? Of course, but this is a good starting point. It is also a good time to mention the use of the word server, as it can get confusing when virtualization began. We had to start using different terms to represent which server we were talking about, the physical one or the virtual one. When I say rapid provisioning of servers, I am talking about the rapid provisioning of virtual servers, or virtual machines.
When we think of the physical server in this example, or the hypervisor host, or simply host, it can be thought of in a few components, as illustrated below:
A physical host server has the same properties as our traditional IT architecture does. We need the compute layer, or CPU and Memory which is what many people think of when they think of a host server. While these are two of the hallmark components of a physical server, the also need networking to connect them to the rest of the compotes in the infrastructure, and storage, which may be internal or external. These are key components of server virtualization, and key components of any datacenter, no matter where it is located.
Now, let us return to the concept of cloud infrastructure, and the benefits of cloud computing.
- Ease of management – We did not need to manage any physical servers or even storage arrays
- Reduced or eliminated data center footprint – An organization’s cloud strategy (public, private, or hybrid) will determine the savings realized in this area
- Rapid provisioning – Since the cloud infrastructure is always ready, we can deploy cloud servers at any time
If we had to represent the components of a cloud infrastructure as an image, it would be, well, cloudy:
The components of an IT architecture have still not changed, we still need compute, network, and storage for all the same reasons. However, with our ever increasing ease of management, we do not necessarily need to worry beyond that, especially when it comes to managing the physical aspects of these components. We do, however, still need to understand how they work and interact in the context of the cloud infrastructure we are leveraging. Part of consuming a public cloud is the inherent believe that resources will be available whenever you need them, since the cloud provider’s environment is so very large, something we usually call hyperscale. These hyperscale cloud infrastructures are always on, and always ready to receive our workloads.
However, just because we are no longer in the business of managing our own compute, network, or storage equipment does not mean we get a free pass on how they work. While we believe they are always there and ready, which is one of the key benefits of cloud computing, we still need to design our applications, which will require these key components. We need to understand how these hyperscale cloud providers allow us to leverage and access these components. For example, instead of virtual machines or virtual servers, we usually call the servers in the cloud instances. Most cloud providers have a menu of pre-sized instances for consumers to pick from that have varying amounts of CPU, memory, storage, and network capacity. Instances will of course still need to connect to each ohter to do work and save the product, and require different types of storage based on their function.
The key concepts we applied in our datacenters still apply in our cloud infrastructures. A solid understanding of the traditional IT infrastructure will still serve all IT architects, engineers, and operators well as they begin their journey to the cloud. IT Architect Series: The Journey provides a fundamental understanding of the areas in an IT infrastructure, why they are important, and tools and methods for learning more about them.