When I first sat down to write this blog post about defining the cloud, I had what I thought was a very clear and righteous idea. As I began to write it out, I started to realize why so many people are confused as to what it is—there’s just no easy way to define it; it is made up of physical things that don’t look anything like clouds.
I began writing a list of what the cloud is, such as the different cloud platform offerings, how interconnected computers emulating virtual environments are the building blocks of the cloud, and then I reread my words and realized that this was all too confusing. Instead of describing what the cloud is, maybe it would be best to explain why the subject of the cloud is so confusing.
When I say “cloud,” am I talking about a piece of what the cloud is? Cloud platform; cloud computing; virtual machines—these are all enabled by the cloud, a.k.a. the internet. So what are these parts of the cloud? Well, let’s just stop calling it that and call it what it actually is, and not think of it as “some alien planet in the sky.”
The cloud at the most minimal level is a physical computer/server whose hardware is dedicated to working for a user that is at a different geographical location—this could be in the same building or 5000 miles away, it doesn’t matter. What matters is it isn’t the PC under your desk cubicle in the office. How these computers at different locations than the users are accessed is via the cloud, usually with the help of cloud services, such as Amazon Web Services, Salesforce, Rackspace, etc. These cloud services are generally provided by the three types of cloud models:
Software as a Service (SaaS) – This cloud environment/or web app is completely controlled and provided by the application service provider (ASP). Some examples of SaaS are TurboTax, Salesforce and Google Docs. Users must lay their trust in the ASP to maintain and protect data system integrity. The user has no control over the hardware and virtual layers, but liability is completely transferred to the ASP.
Platform as a Service (PaaS) – In this cloud model, the service provider will control the hardware and virtual layers, but the user will be able to decide what the specifications of the hardware and virtual layers are, usually from a list of preset specifications decided by the service provider. For instance, as a tester I want a test environment that is on Windows 8 x64 with 10GB of RAM and an 8 core processor. I can choose that option if it is available.
This model is popular among developers and testers who like to test or write code in the cloud. This minimizes the time and energy needed to setup and maintain environments. Examples of service providers in this model are Microsoft Azure and Amazon Web Services.
Infrastructure as a Service (IaaS) – This is when the entire system infrastructure of an organization is in the cloud. An organization will have complete control over the physical and virtual layer specifications, but the hardware resources will be maintained by an outside vendor. Think about the server room you may have or had in the closet at your company–IaaS is the same thing but the infrastructure is running at a different geographical location at the discretion of the vendor. This cloud model allows for the most control, but requires the organization/user to place all trust in an outside vendor to maintain the hardware resources—this is the hardest mindset to establish from a traditional do-it-yourself attitude.
Phew! That’s a lot to absorb, but we’re not done yet—These cloud servers can also be broken down as the public cloud and the private cloud. To me this is the most confusing part, because using “public” and “private” is actually a bit misleading. The “public” cloud is actually not public at all. Think of it as using one of the three cloud models above for your data system needs. SaaS, PaaS and IaaS are all services in the public cloud. Your data/virtual environments may be on the same server as someone else’s data/virtual environments, but that doesn’t mean that both parties have access to the same information. The information you put into the public cloud is private to you and whoever else you decide should have access.
Now the private cloud is having a cloud solution in which you or your company manages. It’s no different than having that server closet with all your servers feeding information to your company, but that server room is usually at a different geographical location than where the users within the company conduct business. You see, there are those who realize the benefits of the cloud, but don’t feel comfortable putting their data in the hands of an outside vendor for obvious reasons. That is the point of the private cloud, as it allows an organization to maintain their cloud computing system themselves.
To those not familiar with the cloud, it is all perception of what others have told them. Without doing a little research, a person unfamiliar with the aspects of the cloud would be hard pressed to talk about the cloud in conversation. It’s all too confusing and I personally think that we need to get rid of the word cloud, since it is too broad of an idea. Why don’t we just call it what it is? An outside network of servers.
How do you define the cloud?
- What is ‘Cloud Testing’ Anyway?
- What Does ‘DevOps’ Mean to You?
- Why the Cloud Can Mean Storms for Quality Control