The Cloud: Platform as a Service Considerations
Five factors to consider when choosing a Platform as a Service (Paas).
The less you have to think about hardware and operating systems the better–at least if you are a software developer or an IT manager. Public cloud providers are increasingly offering platform as a service options that hide even more implementation details than virtualized infrastructure as a service. For software developers, this means you do not have to think about installing compilers and packages or keeping your platform patched.
That is all taken care of by the PaaS provider. In return for jettisoning system administration responsibilities, you agree to work within the virtualized runtime platform defined by the provider. In some cases this means you will give up the ability to manipulate the underlying operating system or have access to low level networking features, like sockets. PaaS vendors offer different types of platforms that are subject to different constraints. When you are choosing among them here are five factors to consider.
Application Compatibility
Application compatibility is especially important when you are considering moving existing code to a cloud platform as a service. You should assess how the restrictions will impact your code and estimate the cost and time required to modify the application. For example, if your application currently uses sockets to communicate between concurrent processes you might be able to use messaging queues instead. This kind of change might actually improve the reliability of your application since messaging queues guarantee items in the queue are eventually made available to other processes which may not be the case when applications using basic socket-based protocols crash.
In cases where you are developing new applications, consider what languages and frameworks are supported. Cloud Bees is a PaaS for Java developers, PHP Fog, as the name implies, is geared toward PHP shots, while DotCloud allows customers to mix and match databases, message queues, caches and programming languages of their choice. Amazon Beanstalk takes a slightly different approach in that it is designed to automate provisioning, auto scaling, and load balancing. Developers control the combination of features, such as machine type and storage type. If at any time developers want to dive down into the virtual machine details they have the same options as those who directly run VMs on Amazon EC2 hardware.
Viability
There are relatively low barriers to entry to get into the PaaS market when the platform runs on an existing on Amazon, Rackspace, or other cloud provider’s infrastructure. Vendors may jump into the PaaS market and find intense competition, low margins and little room for error. It’s probably a safe bet that Amazon, Google and Microsoft will have the resources to stay in the cloud computing business for the foreseeable future. Smaller vendors that have demonstrated some staying power and ability to deliver have been purchased by larger vendors who are either building or establishing their cloud presence. Heroku and Makara were acquired by Salesforce.com and Red Hat, respectively.
Some PaaS vendors may do well offering niche services for a particular development community or by offering specialized services, such as compliance with a particular set of industry regulations. Whatever strategy a PaaS vendor may have for staying in the business, you should decide for yourself whether the strategy is sound and sufficiently mitigates the risks inherent in the PaaS market.
Dan Sullivan is an author, systems architect, and consultant with over 20 years of IT experience with engagements in systems architecture, enterprise security, advanced analytics and business intelligence. He has worked in a broad range of industries, including financial services, manufacturing, pharmaceuticals, software development, government, retail, gas and oil production, power generation, life sciences, and education. Dan has written 16 books and numerous articles and white papers about topics ranging from data warehousing, Cloud Computing and advanced analytics to security management, collaboration, and text mining.
(Shutterstock cover image credit: Cloud Computing)
- 1. Compatibility & Viability
- 2. PaaS: Alternatives, Integration & Under the Hood