Agile with the next generation of cloud platforms, but which cloud platform to choose?

Need your development to become more agile? Looking for a smooth hand-over from development to operations? Want to develop web and mobile application quickly? Using infrastructure as a service in development and operations had been a tremendous improvement in agile development, but the initial setup of each service still requires lots of time and a wide diversity of skills. Every service used in the application must be initially created and every deployment requires specific skills to have the service properly configured. So, what’s the alternative today?

It’s time to share an update on my previous blog on ‘Business Agility through Cloud in Development and Operations’, which dates back from 2013! Over the past year major IT service providers made new PaaS offering available. Google introduced the Google App Engine platform as an easy way to develop and deploy applications using Google’s technologies. Microsoft did the same with the Azure platform, Amazon created its own environment with the Elastic BeanStalk platform, and IBM launched the open standards based platform Bluemix. These cloud environments make it easy to develop, deploy, and manage applications like web and mobile. The game changer in these environments is the way services are made available to the application developers. A wide variety of services, such as different database technologies, mobile push services, message queuing services, geo-coding services, analytics services, etc. can be used. In a traditional IaaS approach these services would require the creation of an image running the service, the customization of the service, and the management of the service. In a PaaS environment a service instance can be created with the click on a button. The environment will take care of the deployment and management. The developer can focus on the use of the service with the application.

Cloud PaaS

Which cloud platform to choose?

So, which platform to choose for your application? I compared below a few characteristics of the above four platforms, in particular which kind of applications you can accommodate on the platform and which databases are supported. Each vendor positions its platform with a few special characteristics, for example at Google you are charged by the minute for a runtime environment, but at the end the offerings are getting close to each other. Google’s offerings and Amazon’s offerings are from my perspective the least transparent, for example it’s hard to figure out where you data will reside and what you will be charged at the end of the month. Microsoft and IBM are far more transparent and precise in what you will get for the amounts charged. What really stands out is that IBM’s Bluemix platform differentiates from the other platforms as it is based on open standards. Bluemix is build upon the open OpenStack and CloudFoundry, and provides a rapidly expanding number of services from third parties.

All providers have integrated the PaaS offerings with their IaaS offerings. Here IBM integrates with the Softlayer acquisition. The SoftLayer IaaS include bare metal compute nodes, unlimited bandwidth between datacenters, transparent choice of datacenter and technologies, etc. The seamless integration of Bluemix and SoftLayer, both based upon open standards, with a broad functionality is put IBM nowadays in a pole position. But the competition in this market is intense, let’s watch the evolution closely.

Category Feature

IBM Bluemix

Google App Engine

Microsoft Azure

Amazon Elastic BeanStalk

Open standard  

Y (CloudFoundry)

No

No (.NET)

No

Interface Web

Y

Y

Y

Y

  API

Y

Y

Y

Y

Support Forum

Y

Y

Y

Y

  Phone

Y

Y

Y

Y

Operating System Cent OS

Y

Y

Y

Y

  Free BSD

Y

 

Y

 
  Oracle Linux    

Y

Y

  SUSE Linux  

Y

Y

Y

  Ubuntu

Y

 

Y

Y

  Windows Server

Y

Y

Y

Y

  Debian

Y

Y

 

Y

  Red Hat

Y

Y

 

Y

  Amazon Linux      

Y

  Cloud Linux

Y

     
Scaling Horizontal

Y

Y

Y

 
  Vertical

Y

 

Y

 
  Autoscaling

Y

 

Y

Y

Runtime Go

Y

Y

   
  Java

Y

Y

Y

Y

  PHP

Y

Y

Y

 
  Python

Y

Y

Y

Y

  Perl

Y

   

Y

  Ruby

Y

 

Y

Y

  Clojure

Y

     
  Node.js

Y

 

Y

 
  .NET    

Y

Y

  Docker

Y

Y

Y

Y

Database MySQL

Y

Y

Y

Y

  NO SQL

Y (cloudant)

Y (firebase)

Y

 
  PostGresql

Y

Y

  Y
  Oracle    

Y

 
  SQL Server    

Y

Y

  MongoDB

Y

 

Y

Y

  Elephant SQL

Y

     
  Mongolab

Y

     
  Redis cache

Y

 

Y