To the Cloud, and beyond… (part 4)
Phil is a member of The Motley Fool Blog Network -- entries represent the personal opinion of the blogger and are not formally edited.
Welcome to the fourth installment of the five part series aimed at demystifying “The Cloud”. To help define The Cloud, I have categorized the various Cloud offerings into five major focus areas, with links to the earlier installments in the series;
Part 1: Personal subscription cloud services
Part 2: Personal private storage clouds
Part 3: Private enterprise clouds
Part 4: Enterprise platform clouds (this edition)
Part 5: Enterprise service clouds (coming next)
Today I will dive into enterprise platform clouds. This particular category was one of the initial Cloud offerings that spawned the Cloud concept, before the concept of The Cloud was seized by virtually every category of Internet computing.
Enterprise platform clouds (#4) are large virtual computing services designed for custom business applications, and include the application platform as well as the operating infrastructure that the applications execute upon. However, unlike traditional managed server hosting, enterprise platform clouds provide some key services, such as on-demand elastic scalability, redundancy, integration capabilities, specialized systems management services, and even a complete development environment. Although I have generalized the category, enterprise platform cloud offerings are divided into two subcategories; Infrastructure as a Service (IaaS), and Platform as a Service (PaaS), the differences are subtle but important.
IaaS: Infrastructure as a Service is primarily a set of virtual servers accessible over the Internet, hosted by the cloud provider. The subscribing enterprise has extensive control over the virtual servers, but also has the added responsibility for managing and administering them remotely, including the Operating System, security, the system services such as the database, and all operational details such as starting and stopping application services, the number of virtual server instances, the amount of storage, and when and how to perform system maintenance such as backups.
The IaaS vendor is responsible for provisioning the needed server, network and storage capacity, ensuring they are always available and accessible, and providing the control center and monitoring tools to subscribers so they can manage their virtual infrastructure. The capacity needed can be elastic, growing or shrinking based on actual demand, so when demand is high additional capacity comes online automatically, and then it switches out again when the demand subsides. Subscribers are billed for the actual capacity used, and can also set arbitrary minimum and maximum capacity limits to avoid billing surprises.
The field of IaaS providers is growing rapidly, with several of the traditional managed hosting companies augmenting their offerings to provide IaaS. Some of the well-established players currently are Amazon (NASDAQ: AMZN), which initiated the Cloud revolution with their Elastic Compute Cloud (EC2), OpSource (a division of Dimension Data), Rackspace Hosting and SoftLayer.
PaaS: Platform as a Service provides subscribers with a very specific solution platform for custom applications, including the software development and execution framework, but eliminates a large portion of the IT management and administration. Subscribing enterprises simply focus on developing their applications, while the PaaS vendor manages the infrastructure, the server instances, the operating system, the network, and much of the general IT system administration and maintenance.
PaaS offerings often have certain software language limitations or variations on the capabilities of the underlying architecture, which requires subscriber applications to be specifically engineered for the platform. Correctly designed PaaS applications can be dynamically virtualized, enabling the cloud provider to instantiate, scale and distribute the application for load balancing, fault tolerance and recovery, and improved performance. However, the tradeoff is platform specific dependency, which tends to lock-in the subscribers to the specific application environment provided by the PaaS cloud provider. In most cases PaaS billing is based on actual capacity utilized, just as in the IaaS solutions.
One of the key differentiators between PaaS providers is the application framework, which tends to be divided between .Net and Java. Other PaaS providers are emerging around Python and Ruby on Rails application frameworks. Current leading providers in PaaS are Amazon with Elastic Beanstalk, Google (NASDAQ: GOOG) with Google App Engine, and Microsoft (NASDAQ: MSFT) with Windows Azure. Amazon is a leading innovator in this group, building multiple PaaS style web services over their EC2 infrastructure. A more recent entrant is CloudBees; a private concern, with their RUN@Cloud solution. CloudBees has attracted a number of Java and JBoss heavyweights, and may be the startup to watch.
Following the collapse of VMForce; the PaaS joint venture between VMware (NYSE: VMW) and SalesForce.com, VMware has been steadily improving their CloudFoundry, an open source PaaS cloud framework. In addition, VMware launched their own PaaS offering, currently in beta, using CloudFoundry with support for multiple frameworks including Java, Ruby and node.js. CloudFoundry may also support .Net shortly, based on the .Net implementation submitted by Tier3 to be included in the CloudFoundry framework.
Choosing the right service
The choice between PaaS and IaaS is mostly influenced by the level of control, customization and flexibility required. The type of application and its cloud readiness are keys to the decision. Legacy applications not specifically optimized for cloud implementation will mostly lean toward IaaS. Modern stateless Internet applications or new application development could go either way. In either case, the choice may be determined by the subscriber's application framework skill set and their preference.
If Microsoft’s .Net framework is preferred then Microsoft’s Windows Azure is the best starting point. If Java is preferred, then Google’s App Engine or Amazon’s Elastic Beanstalk will be good starting points. Each has its own limitations on level of control and customizability. If greater control and flexibility over the infrastructure and operating environment are vital, then multiple IaaS options are viable for either camp.
Another key consideration is the SLA guarantees. Most major providers promise 99.95% up-time (up to 21.35 minutes per month down-time), others may not specify any SLA. Subscribers should read the fine print carefully, especially regarding penalties for loss of use and unscheduled down-time. Both Amazon and Microsoft had recent extended outages to their services during prime time, so the risk is considerable and could be catastrophic to a business enterprise.
Enterprises considering making to move to Cloud should visit CloudSleuth for a wealth of information on selecting a cloud provider, including an online application that keeps track of provider serivce performance and avaialability.
This is still a young industry; it needs more time to mature. Innovation will be focused on integration across multiple cloud solutions and enterprise on-premise systems. Billing options, elasticity, ease of use and conversion tools/costs will improve. There is still a lot of innovation and new investment focused on this segment of The Cloud, which will be exciting to watch in the coming years.
FoolSolo has no positions in the stocks mentioned above. The Motley Fool owns shares of Amazon.com, Google, and Microsoft. Motley Fool newsletter services recommend Amazon.com, Google, Microsoft, and VMware. Try any of our Foolish newsletter services free for 30 days. We Fools may not all hold the same opinions, but we all believe that considering a diverse range of insights makes us better investors. The Motley Fool has a disclosure policy. If you have questions about this post or the Fool’s blog network, click here for information.