When I sat down to write this post, I did some prep reading to see what the bloggers I follow were saying on the topic. But by the third post, I was reminded that we (the tech nerds) are not generally helpful. Tech nerds talk and write in our own language. We write to look smarter than the next guy. We invent words to describe what we’re doing, and if these words catch on in the mainstream, we just invent another one to further confuse the issue.
It’s at this point that the big box manufacturers and software companies adopt the word and modify it for their own nefarious intentions — further confusing an unsuspecting public. At the end of the day, everyone is confused. I guess that’s why I’ve been asked to write this post a few different times. So here it is: a guide to cloud computing written by a tech nerd for normal people.
If you’re reading this blog, you likely have some understanding of what the cloud is. If you need some help there, I highly recommend Wikipedia. Its the best place to go to get a generally unbiased, or at the very least reasonably balanced, description of most tech terms.
When “cloud” came to mean something other than moisture, the vendors who live in the cloud quickly realized that different vendors approached the cloud in different ways, and as a result, began to add additional descriptions to their cloud. Two terms quickly emerged: public cloud and private cloud.
Public cloud, as it has come to be used, refers to the model that most people associate with the cloud. Multi-tenant solutions (infrastructure, services, or software) living in a provider’s data center, leveraging highly available, redundant platforms to deliver services to end-users over the Internet.
Public cloud users benefit not only from having someone else manage the solution, but from the fact that security around these solutions is uncomplicated, and often software- (or virtualization layer) based. This lack of complication makes setup and scale up easy, even elastic. Pop in your credit card information and get instant access to resources. This is the Amazon, Google, Rackspace, and Salesforce.com model.
The first people to take exception to this emerging cloud story were the people who had already been doing this in one form or another for some time — web hosting companies and IT teams running internal data centers. Web hosting companies, after all, had been offering dedicated servers for customer use in their data centers for decades.
They quickly rushed to get in on the action and called their business the private cloud. They claim that this more traditional model can provide redundant architecture (assuming the business is willing to buy the same equipment several times) without the risk. It can be privately secured with hardware firewall services, segmented from other customers at layer 2/3 instead of by software, and can be connected to customer locations privately via VPN or private WAN.
Unfortunately, this type of cloud suffers from a scalability perspective and is more complicated to manage. While the provider might be able to add servers in a few days or even a few hours, there is no way that the solution can be considered highly scalable, let alone elastic.
Each cloud type has its place. Public clouds make sense for web applications, test and development environments, and research, where large amounts of instantly available computing can shorten the time to calculate complex algorithms to minutes. But if you look under the covers, (deep in the fine print), not even Amazon recommends that you use their purely public cloud offering for sensitive data.
Private clouds are safe, stayed, and will generally pass muster for any compliance auditor inspecting the infrastructure. And frankly, there are some types of software that do better in dedicated environments, such as database servers. As a result, some of the largest database manufacturers in the world (i.e., Oracle) still recommend against virtualizing their product.
Enter the hybrid cloud, the alleged answer to the above quandary. This one’s easy. If some content makes sense in the public cloud, and some in the private cloud, why not use both? Hybrid cloud refers to the mixing of the two in any combination that makes sense — public cloud and onsite data centers, public cloud and dedicated hosting, etc.
Some cloud providers offer both to make it easy on their customers. The problem with the hybrid cloud is that it adds a significant amount of complexity to the infrastructure. The public and private services live in different network segments, with different levels of security, and potentially at differently locations.
Consider a web front-end in the public cloud accessing a back-end database containing sensitive information in a private cloud. Networking, security, authentication — it all must be addressed in the middle of the application. Better than one cloud? Potentially. More complicated? Absolutely. Most providers would have you believe that the story ends there.
The term virtual private cloud was coined, from what I can tell, way back in 2008 by Reuven Cohen on his blog. Since then, the term has been recognized on Wikipedia, and has even found its way into comparisons with the public, private, and hybrid clouds.
A virtual private cloud generally uses a multi-tenant, high availability infrastructure (like public cloud) but segments the customers into Virtual Private Networks (VPNs), or even better, into Virtual LAN (VLANs) through the use of virtual switching. As a result, it provides all of the fail-over and scalability that the public cloud offers, but with the customer isolation and security that business applications need.
This isolation enables the provider to add private hardware-based security services and private connectivity between the cloud and the customer’s local network. Given ever-decreasing bandwidth costs, the virtual private cloud could truly be used to outsource a company’s back-office servers.
So why isn’t everyone talking virtual private cloud? The simple answer — it’s hard to do. Private networking and security takes time. It’s tough to automate, it’s expensive, and it doesn’t scale operationally. But it does meet the demands of regular every-day businesses who want to utilize the cloud, but don’t have the energy to deal with the risks.
With many of my peers, and friends, this will be an unpopular post. I get it. The public cloud purists will say that virtual private is unnecessary — that public cloud security is better than anything that most customers do on their own. And they’ll be right. But whether this level of isolation is actually required or not for most applications is almost inconsequential.
We live in a litigious and regulatory-heavy economy. Most small and midsized businesses cannot risk their critical data to a service that takes no responsibility for its safety. And no auditor or lawyer is going to find them culpable if they’ve taken reasonable business steps to ensure their data.
Private cloud boosters will argue that it’s still a mufti-tenant environment. And to that point, they’d be correct. But if the networking and security is done right, why does it matter? After all, these purely private clouds often make use of MPLS to connect back to their locations and what’s happening at the carrier’s core to separate their traffic from the next customer is no different than VLAN isolation within a cloud.
The debate will rage. And the blood (and egos) of many a tech nerd will be spilled. And no answer will rise to the top. This is not a binary decision. Businesses who must balance real world risk with productivity will find a home right in the middle. Come join me in the virtual private cloud.Categories: Cloud Computing