We're Hiring!  
Toll Free US & Canada: 1(877) 946-4743   Worldwide: +1(415) 869-7444

Last week, my colleague Randy Bias, introduced the concept of the “cloudcenter” and it has gotten some good commentary, traction and feedback. Most basically put, a cloudcenter (e.g., GoGrid) is a “datacenter in the Cloud” with features, systems, processes and functionality that sysadmins and IT Operations folks are accustomed to. But I feel that the concept needs to be explored a bit more as well as from some different angles.

cloudcenter-diagram

I attended a technology meetup on Tuesday night in San Francisco where GoGrid is a sponsor. People were packed elbow-to-elbow in the space and I had lots of time to talk about GoGrid and our vision of Cloud Computing to many. A few times, I was asked the common questions “How do you compare to Amazon EC2?” as well as “Are you a competitor to Amazon Web Services (AWS)?” To those people who asked, I gave the following answer (probably not as well articulated though):

Both Amazon and GoGrid are Cloud Infrastructure or Infrastructure as a Service (IaaS) providers. We both reside within the bottom layer of the Cloud Pyramid, a term I coined last year to help explain Cloud Computing in an “over simplified” way. Both of our companies do essentially the same thing: providing elastic and dynamically scalable computing resources and infrastructure that is consumed on a self-service basis billed by usage. But how this infrastructure is provided is nuanced differently.

This broad definition warrants further explanation. First, my answer to the “competition” question. Personally, I don’t view AWS exactly as a competitor. They have provided incredible space validation as well as attracted new users to the Infrastructure as a Service (IaaS) model. In fact, I would almost go as far as to categorize them as a “soft partner.” Here are a few reasons why I think this:

  • we share the same generalized space of Cloud Computing,
  • we offer similar feature-sets and functionality within the Cloud, and,
  • we are driving towards a common goal of moving IT infrastructure into a “greener,” more cost-effective and much more efficient environment.

By sharing similar ideas and broad goals, GoGrid and Amazon play off each other well. So, if you group our marketing, sales and engineering efforts and pit them against more traditional infrastructure deployments, we are working together on this front: Cloud vs. self-hosted, traditional datacenters. We are an unofficial and non-formalized “soft-partner.” But that is the 10,000 foot view (from way up in the Clouds).

Let’s bring this down to a 100 foot view. This is where differentiation begins. As Randy outlines, there are two segments within the Cloud Infrastructure layer: Infrastructure Web Services and Cloudcenters. Infrastructure Web Services are characterized by specific Cloud services that can be consumed together or individually. That is to say, you can use EC2, for example, for raw compute power on its own, or couple it together with S3 for dynamic storage. The key here is that you have to work to integrate the two as a single offering, which requires programming and non-standard “glues” or protocols to connect it all together[1]. I like to describe this as an a la carte offering, you essentially pick and choose what Amazon Web Services you want, develop the integration points and proceed from there.

On the other hand, the idea of cloudcenters is that the “solution” is provided for you, in the manifestation of “a datacenter in the sky.” Within the cloudcenter you are presented with tools, infrastructure and environments that are familiar to sys-admins and IT operations folks, but with all of the benefits of the Cloud: dynamic, pay-as-you-go, scalable hardware infrastructure that YOU are in full control of and can manage easily through a Web GUI or programmatically through an API. At the core of a datacenter or cloudcenter is the idea that you have various components available for managing your “physical” infrastructure (albeit “in the cloud”):

  • hardware-based load balancers[2]
  • hardware-based firewalls[3]
  • Windows Server 2003/2008
  • Linux Servers[4]
  • Persistent Storage[5]
  • Cloud Storage[6]
  • Dedicated Private Networks (VLANs)
  • Hybrid Infrastructure connections (Cloud Connect)
  • Infrastructure management (DNS, DHCP, etc.)

The distinction is clear, right? Or still “cloudy”? Let’s think of it a bit differently in terms of building a house. Using Infrastructure Web Services is akin to working with several contractors to put together different portions of your house (e.g., electrical, plumbing, sheet rock, etc.). YOU act as the general contractor to pull it all together, manage the process, identify what item needs to work with the other, etc. A cloudcenter, on the other hand, acts as the “general contractor” for you by telling what options are available and then seamlessly engineering and integrating these items within a single point of reference and management.

house_construction

Geva Perry had some good commentary on Randy’s initial post on the idea of cloudcenters. I’m intrigued with the idea of a “Cloud Spectrum” which does work with his idea about the blurring of the Cloud with regards to the various offering.

cloud_spectrum

However, I still stand by the distinction between Infrastructure Web Services as a “pick & choose” offering and Cloudcenters being an “all-in-one” model. Providing “raw infrastructure” within a controlled environment presents time and cost-savings that are visible on the other end of the spectrum. That is to say, Cloud Applications (SaaS) & Cloud Platforms (PaaS) are easy to use because the functionality is siloed  in a restrictive feature set. If you follow Perry’s spectrum model, the further left you go (towards SaaS), the higher the ease-of-use and time savings. The further to the right, the more flexibility your Cloud environment is, but the harder it is to “put together.” However, I would like to offer a slight twist to Perry’s Cloud spectrum idea because the idea falls apart a bit due to the multi-dimensionality of the axes. Obviously depending on the cloudcenter provider, ease-of-use does factor in, forcing the spectrum to become somewhat bent. GoGrid provides Cloud Infrastructure with the same characteristics of that of SaaS and even some PaaS vendors in terms of ease-of-use. So, while the spectrum idea works as you go towards the right with complexity and flexibility increasing, it splits apart as you move toward (and hit) EC2 and GoGrid. This is probably the subject of another post as I would like to explore this concept in greater detail. The bottom line is, with a GoGrid cloudcenter, you not only get flexibility and full control of your Cloud Infrastructure, but you also receive it “wrapped up” within a cohesive and easy interface normally present within the SaaS end of the spectrum.

What is your read on cloudcenters vs. Infrastructure Web Services? I would love to get your view on this.

  1. S3 not accessible via CFS/NFS; SQS doesn’t all for JMS or STOMP protocols []
  2. Currently available & free []
  3. To be released in 1Q09 []
  4. RHEL, CentOS and soon Ubuntu and others []
  5. Available on every Cloud server []
  6. Dynamically scalable, 10GB Free, mountable storage []

Amazon’s Web Services (AWS) is not the only way to build scalable Cloud Infrastructures.  There are two emerging methodologies for constructing Infrastructure-as-a-Service (IaaS) AKA “Cloud Infrastructure Services”.  The first is what we call “cloudcenters”, which are essentially datacenters in the sky.  The second is what we call an “Infrastructure Web Service”.  GoGrid was one of the pioneers for cloudcenters, while AWS largely created the second model.

New_Cloud_PyramidUnderstanding IaaS means looking closely at these two approaches.  Clearly the notion of cloudcenters embodied by AWS competitors such as ourselves, FlexiScale, ElasticHosts, AppNexus, and others is important.  My colleague, Michael Sheehan, will go into more depth on how we think this distinction modifies his earlier Cloud Pyramid (right) in a follow-on blog posting to this one.

Infrastructure Cloud Models

Understanding these two approaches is important because it directly affects your selection of a Cloud Infrastructure provider.  These two models highlight a difference in core infrastructure and in target markets. Cloudcenters provide a direct equivalent to traditional datacenters and hence are usually more desirable for IT staff, systems operators, and other datacenter savvy folks.  Infrastructure Web Services on the other hand are more analogous to Service-Oriented-Architectures (SOA), require significant programming skills, and are much more comfortable for software developers.

Infrastructure Web Services

I’m going to assume for this article that you are somewhat familiar with Amazon Web Services (AWS), but I’ll briefly re-cap.  AWS provides a number of different ‘Web Services’ that can be consumed individually or put together to support different kinds of applications, usually a batch processing or web application of some kind.  These services include:

  • Object-based file storage via Simple Storage Service (S3)
  • Servers on demand via Elastic Compute Cloud (EC2)
  • Block storage on demand via Elastic Block Storage (a part of EC2)
  • Distributed database functionality via SimpleDB (SDB)
  • Content distribution and edge-caching via CloudFront
  • Messaging & queuing via Simple Queuing Service (SQS)
  • Payment processing via Flexible Payment Services (FPS)
  • Billing & re-packaging of the above services via Amazon Dev Pay

This is a robust ecosystem of services from which you can use any or all in order to build your application, getting the traditional benefits of Cloud Computing such as self-service, pay-as-you-go, and massive scalability.

Unfortunately, every service above is based on an Amazon standard, not an industry standard.  S3 is not accessible via CIFS or NFS.  EC2 provides Xen hosting, but image management and storage is completely custom.  SQS does not use any standard queuing or messaging protocols such as JMS or STOMP.  SimpleDB now has an ‘SQL-like’ interface, but is essentially a 100% ground up creation of Amazon.

A major advantage of using the Amazon approach however is that greenfield applications developed from scratch have a very powerful set of vetted, scalable services, that can be used to build that application.  This means avoiding the intrinsic and extrinsic costs associated with deploying a separate queuing or database system.

The alternative, of course, is to use the same tools, paradigms and standards that you deploy in an industry standard Enterprise datacenter today.

What’s a Cloudcenter?

Cloudcenters are that solution.  They provide the same kinds of tools that all datacenter and server operators are already accustomed to, but with all the traditional advantages of cloud (i.e. self-service, pay-as-you-go, and scalability).  Instead of creating completely new paradigms, cloudcenters are a methodology by which you, the customer, can have a virtual datacenter hosted ‘in the sky’.  Each virtual datacenter, a ‘grid’ in GoGrid terminology, is hosted in isolation from other customers, in a cloudcenter as shown in the diagram below:

cloudcenter-diagram

Your grid is akin to a traditional datacenter whereby you have all of the regular components you expect such as hardware firewalls[1], hardware load balancers, network storage (NAS or SAN[2] ), virtualized servers, dedicated networks (VLANs), and the option for physical servers for workloads that should not be virtualized.

Logically, a grid looks like:

gogrid-customer-deployment-diagram-dbconnect2

As you can see, this looks very much like a traditional datacenter infrastructure.

Traditional Datacenters and The Cloud

Just briefly I want to highlight what is in a ‘traditional’ datacenter.  These are all built in the same way.  The following diagram highlights the typical components in a datacenter and their relative dependencies on each other.  (This diagram isn’t perfect, it’s simply meant as a talking point.)

traditional-datacenter-stack

Cloud Infrastructure providers are in the business of providing you the equivalent functionality in the cloud using their scale for cost-effective service delivery.  They must also package this functionality to provide you a high level of control as it’s no longer your datacenter.  Control comes through a user interface (GUI), programming hooks (API), transparency (SAS70 audits), and performance and reliability guarantees (SLAs).

Cloudcenters focus on making your Cloud Infrastructure look very much like infrastructure you already have or are already familiar with, while Infrastructure Web Services ask you to embrace a new paradigm.

Cloudcenter Advantages

Besides the obvious advantage of ‘looking like’ your current datacenter, cloudcenters allow for strategies like using the Cloud for off-site disaster recovery.  It will be much easier to model a copy of your current datacenter to a cloudcenter than it would be to model a copy onto a Infrastructure Web Service.  There are many other advantages to the cloudcenter approach such as:

  • Servers meant to be reliable not ‘unreliable-by-design’ on commodity hardware
  • Cloudbridging[3] will be much easier between dedicated VLANs on each side using IPSEC VPNs
  • Cloudcenters will look more and more like each other over time, while there will probably never be another AWS
  • Datacenter software tools will ‘just work’ with datacenter & cloudcenter standards
  • User Interface for controlling the entire datacenter including firewalls and loadbalancers, not just servers[4]
  • Let your cloudcenter provide core infrastructure services like DNS, DHCP, NTP, and image management

Cloud Choices

Ultimately it’s great that there is so much choice when selecting a Cloud Infrastructure provider.  Both Amazon and GoGrid provide compelling solutions.  We believe that GoGrid, the very first public cloudcenter, is the Cloud of choice for sysadmins, operators, and Enterprise IT staff who need infrastructure that looks just their current datacenter infrastructure.

In the future we’ll blog in much more detail contrasting and comparing these two approaches to building Cloud Infrastructure services.

  1. To be released in 1Q09 []
  2. Scheduled for 2009 []
  3. The ability to transparently connect you internal datacenter to your external virtual datacenter or cloudcenter []
  4. Imagine VMware VirtualCenter++ []