Infrastructures abound. Which one is right for you? Deciding between them can be a formidable task: OpenStack, HP Helion, CloudStack, VMware, AWS, Cisco Intercloud, Google Compute Engine, Citrix CloudPlatform, Eucalyptus, KVM, Microsoft Azure, VirtualBox, or XenServer.
There are many many factors that should be considered when choosing one of these infrastructures:
- closed vs. open
- enterprise legacy vs. cloud native
- free vs. license fee
- documentation: quality, up to date
- HA / fault tolerance / resilience
- on premise vs. cloud / privacy
- bare metal
- DR support
- fully tested
- track history
- multi-data-center support
- high profile customers
- open source
- controlled by single company
- backing of high-profile companies
- learning curve
- ease of use
- vendor agnostic
- hardware/software agnostic
- effort / initial cost to architect and implement (engineering resources)
- long term cost to maintain
- ease of expansion
- agility, speed to provision new systems, new cloud
- compatibility with other platforms
- legacy vs. cloud native support
- API provisioning
- network support
This list is not exhaustive by any means, but it sure is exhausting! Many of these factors need be considered when choosing an infrastructure for a cloud-hosted application.
Step Away From the Infrastructure
On the other hand, for the most part, these issues are "plumbing" and spending too much time in the plumbing is counterproductive to getting applications out the door.
By definition the Product Teams should focus on Product, not on the Infrastructure that the product runs on. The most effective way to do this is to write your software to an abstraction layer that shields the nitty gritty details of the infrastructure, enabling all the features needed for both cloud-native and legacy applications.
This is where PaaS comes in, specifically Private PaaS, which runs wherever you like. Any PaaS worth its salt will run equally well on any infrastructure, and users of such a PaaS do not have to concern themselves at all with any of the details of whatever infrastructure
See This in Action...
To illustrate this point, I will be presenting a webinar on August 6th showing the simplicity of provisioning Cloud Foundry on five completely different infrastructures.
Stackato is far and away the easiest easy to get started with Cloud Foundry, and this will be shown first hand in the webinar. I'll deploy Stackato to AWS, OpenStack (HP Helion Cloud), Azure, vSphere, and a laptop-hosted hypervisor and then I'll provision a handful of apps to these infrastructures, and move apps from one to another illustrating how the product team need not be concerned with the underlying details.