The Types of Clouds: What are Public and Private Clouds?

In this column we have discussed the different types of services available in the cloud. This list includes IaaS (Infrastructure as a Service, like Amazon Web Services), PaaS (Platform as a Service, like Microsoft Windows Azure), and SaaS (Software as a Service). In this article we are going to discuss the different types of clouds available today. The service types define how your application is hosted, the type of cloud defines how the service is operated and managed. All of the service types could conceptually be run in any of the types of clouds.

There are two primary types of clouds, a public cloud and a private cloud.

Public Cloud

The public cloud, as a product, has been around for a few years. This is the model that Amazon Web Services and Microsoft Windows Azure fall into. As a vendor they have invested hundreds of millions to billions of dollars to build out their data centers. These are top notch data centers that involve containerized servers, high degrees of automation, fault tolerance and high availability. They provide the power, the cooling, the staff and the hardware. The data centers have multiple Internet connections to protect against physical and ISP failures. In short, it is a turn-key data center for your use. You pay for only what you use.

Paying for consumption and low upfront costs are key aspects of cloud computing and represent some of the best advantages it has to offer. Hand in hand with this is that the public clouds are multi-tenant environments. That means that multiple customers are using the data center at the same time, and this isn't very much different from traditional hosting.

Some public clouds are both multi-tenant and a shared environment. For example, with Google, your application is running side by side with an application from another customer. This is fine for a certain class of applications, but it can lead to worries about security and the 'noisy neighbor' problem. The noisy neighbor problem is when the shared resources available to your application are hogged up by another customer, starving your application. Imagine the next application over from you getting millions of hits during a big ad campaign, and taking up all the bandwidth and CPU cycles to handle the load. In the meantime your application becomes slower and less responsive because of the shared resources.

Some vendors, like Windows Azure, are not shared environments. Multiple customers are using the same datacenter (multi-tenant) but the hardware assigned to you is allocated in a dedicated way so that no matter what the next customer is doing you have full access to your resources.

Private Cloud

A private cloud is simply a public cloud that is hosted and run by a company for its own use. Private clouds tend to be smaller in scale than a public cloud (just one of Microsoft's datacenters has over 350,000 servers) and they are usually not as fully automated.

Public clouds tend to be built on top of virtualization platforms (VMware and Hyper-V) to provide the abstraction and isolation from the real hardware, while giving the just in time allocation of resources to meet demands. Most companies that deploy a private cloud are usually looking for a way to bring their virtualization environment to the next level.

Private clouds do suffer from not benefitting from two of the most important aspects of cloud computing, and that is the lack of upfront capital cost and minimal management. If you are building a private cloud then you will have to buy all of the hardware (servers, routers, load balancers, disks, etc.), all of the software, and then provide staff to manage it all. Private clouds end up being the modern descendant of 'lights out operations.'

There are some good reasons to deploy a private cloud. They usually stem from wanting to find a better way to manage a large amount of computing that truly cannot be moved to a public cloud. Private clouds are for when you need cloud like infrastructure (in behavior if not scale) and also need to maintain complete control.

Other Types

There are other forms of clouds, but they all stem from the two main types, public and private. One type that is becoming more popular is a hybrid cloud that mixes public and private clouds together. These hybrids are shared amongst different customers, but the customers have a federation or reason to work together. Imagine a federal government cloud that is only available to other federal agencies. There are several state governments already going down this path. This lets them bypass any current concerns of the public cloud while still cutting costs through consolidation and shared use.

Summary

By understanding the two basic types of clouds you can more easily understand where the industry is and how you might want to enter into cloud computing. Public clouds give you the maximum benefits of the cloud, while private clouds satisfy your need for control.

About the Author:

Brian H. Prince is an Architect Evangelist for Microsoft. He gets super excited whenever he talks about technology, especially cloud computing, patterns, and practices. His job is to help customers strategically leverage MS technology, and help them bring their architecture to a super level. In a past life Brian was a part of super startups, super marketing firms, and super consulting firms. Much of his super architecture background includes building super scalable applications, application integration, and award winning web applications. All of them were super. Further, he is a co-founder of the non-profit organization CodeMash B (www.codemash.org) and of WindowsAzureBootCamp.com. Brian was the co-author for "Azure in Action." He speaks at various regional and national technology events including TechEd. He only wishes his job didn't require him to say B ?'super' so much. Brian holds a Bachelor of Arts degree in Computer Science and Physics from Capital University, Columbus, Ohio. He is also a zealous gamer. For example, he is a huge fan of Fallout 3 and Borderlands.



About the Author

Brian Prince

Brian H. Prince is an Architect Evangelist with Microsoft focused on building and educating the architect community in his district. Prior to joining Microsoft in March 2008, he was a Senior Director, Technology Strategy for a major mid-west partner.

Further, he is a co-founder of the non-profit organization CodeMash (www.codemash.org). He speaks at various regional and national technology events including TechEd.

Brian holds a Bachelor of Arts degree in Computer Science and Physics from Capital University, Columbus, Ohio. He is also an avid gamer.

Related Articles

Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Agile methodologies give development and test teams the ability to build software at a faster rate than ever before. Combining DevOps with hybrid cloud architectures give teams not just the principles, but also the technology necessary to achieve their goals. By combining hybrid cloud and DevOps: IT departments maintain control, visibility, and security Dev/test teams remain agile and collaborative Organizational barriers are broken down Innovation and automation can thrive Download this white paper to …

  • On-demand Event Event Date: September 10, 2014 Modern mobile applications connect systems-of-engagement (mobile apps) with systems-of-record (traditional IT) to deliver new and innovative business value. But the lifecycle for development of mobile apps is also new and different. Emerging trends in mobile development call for faster delivery of incremental features, coupled with feedback from the users of the app "in the wild." This loop of continuous delivery and continuous feedback is how the best mobile …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds