Nathan Biggs (@nathanbiggs), CEO
Virtualization and Cloud Computing
Another key factor that helps to establish our industry leadership position at House of Brick is our focus on the virtualization of server infrastructure. We have honed this expertise over the past eight years of the company’s history, and have become the acknowledged expert in the confluence of virtualization and business critical systems. This is especially true within the VMware community.
We have become strong proponents for VMware virtualization for server infrastructure. People ask us whether we support other hypervisors. Our answer is that while we occasionally work with other platforms such as MS Hyper-V or OVM, we have found that for the demands on business critical systems that VMware is the most mature and best performing platform available. We also are typically frank to acknowledge that while we do not have as deep a bench in Hyper-V, we believe that Microsoft has made great strides with recent releases so that it is acceptable in many business critical situations.
Virtualization is the first step to a Cloud Computing model. I have heard some feedback to suggest that we do not support Cloud Computing because we do not work with the public cloud providers, such as Amazon Web Services, Microsoft Azure, or the Google Compute Engine. Let me provide an overview of what I think Cloud Computing is, and then pick up the topic after that of how we support it.
The term “Cloud” comes from moving the provision of application infrastructure into the Internet. As we all know “The Internet” is a vast interconnected network that spans the public space as well as private spaces. These private spaces can be the media that you store in your own home network, or the complex system environments that companies run their applications on.
Many people confuse Cloud Computing with Software as a Service (SaaS). SaaS applications are those that you access over the Internet, such as salesforce.com. SaaS applications are sold “by the slice” so that you pay for only those units that you use (such as number of users on salesforce). SaaS is not Cloud Computing. You can have a SaaS application that runs entirely on physical servers located in a datacenter. Apple’s iTunes Store is an example of this. I have heard that the iTunes Store runs on physical AIX servers from IBM. You can also have an application that is deployed to a cloud infrastructure that is not SaaS. An example of this is the CD delivery mechanism for Netflix. It runs in the Cloud on AWS, but is a standard business critical system for processing and delivering movies on CD’s. The Netflix online streaming service would be an example of a system that is both SaaS and Cloud Computing.
So what makes something qualify for being in the cloud? Wikipedia lists the following characteristics of Cloud Computing (with editorial commentary added by me):
- Agility—Being able to re-provision resources
- Application Programming Interfaces (API)—Supports state transfer (REST) and extensibility
- Cost—Reduce costs by maximizing resource utilization (like licenses)
- Device & Location Independence—Allow for web-based access, mobile access, etc. from wherever the user is
- Maintenance—Centralized IT can access all systems remotely
- Multitenancy—Sharing resources and costs across a large pool of users
- Federation—Kind of the mirror image of Multitenancy; a user can access a large pool of disparate, but interconnected resources
- Performance Monitoring—Ensuring system health and availability
- Concurrent Access to Data—Multiple sources can access the same data without conflict
- Redundancy—Reliability improves with the use of multiple redundant sites
- Scalability and Elasticity—On-demand provisioning of resources with varying operational parameters
- Self-Service—User access to resource provisioning without having to deal with the politics of organizational silos
- Security—Increased security focus when centralized IT can monitor things more closely
So if we take those items as the definition of Cloud Computing (and there are many definitions), I would suggest that we have conversations on Cloud Computing with our customers on every single engagement we have. In short, as we help customers virtualize their application system stacks and move it through the lifecycle and virtualization maturity model, we are implementing cloud computing in their environments.
As we have all discovered, Cloud Computing can either be a real thing that we talk about in these terms (which we already do), or it can become simply a buzzword that some company is trying to leverage to sell their products and services. In any case, Cloud Computing in its current form is immature (sorry, Amazon), and in need of much better tooling and processes in order to make it work for business critical systems.
Next week’s blog post: I will continue to discuss our vision for cloud computing describing industry trends with virtualization and cloud computing as well as identifying and addressing the holes for business critical systems.