Saturday, July 26, 2014

Platform-as-a-Service Comparative: Openshift vs CloudFoundry

In previous posts, I wrote about the importance of moving ASAP to cloud and I suggested 3 essential things to help you understanding the cloud computing.

To complete this series, I have written the current post to describe the "middle-layer" of cloud computing: PaaS.

Platform-as-a-service (PaaS) is a category of cloud computing services. From architectural view, it is situated between IaaS (lower layer) and Saas (higher layer). PaaS enables to cloud consumers the creation of software using tools and/or libraries, as well as, it guarantees the continuity of software building cycle with tools for testing and integration. In addition, PaaS providers provide the networks, servers, storage, and other services required to host applications.
The flexibility of PaaS packages helps to abstract the implementation and deployment of applications from the complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities.

My first "cloud" project consisted in moving a legacy application to cloud. The purpose was to implement a Software-as-a-Service based on an existing java servlet application. The first step was to select the suitable Platform-as-a-Service which guarantees a soft migration of the web application. The multiple PaaSs existing in the market made the choice very difficult. Therefore, I decided to draw up a comparative table following predefined criteria. Each PaaS got a rate for every criteria between 0 and 5. +Cloud Foundry and +OpenShift were the best platforms that matches to my requirements because they gathered the important average which was calculated based on coefficient that indicates the importance level. 

Following the resulting table:

CriteriacoefficientOpenshiftCloudFoundry
Port a legacy application (Java based)3Red Hat provides both fully supported JBoss EAP (App Server) and Tomcat cartridges for running legacy Java applications.4Tomcat4,5
Configuration Complexity1,5Red Hat enables you to quickly deploy apps via the OpenShift Web Console, CLI or Eclipse IDE with minimal configuration required.34
Security (PCI, SAE, etc.)2Red provides security CVE monitoring & patching for the OpenShift platform and all supported runtime cartridges (Java, Ruby, PHP, Python, Node.js, Perl, MySQL, Postgres, MongoDB, etc.). In addition OpenShift integrates SE Linux isolation for security at the paltform container level.44
APIs and Documentation (for Java)2Complete API documentation included for both OpenShift and specific cartridge runtime documentation like JBoss EAP and EWS/Tomcat.4http://docs.cloudfoundry.org/4
Mysql support2Red Hat provides a fully supported MySQL cartridge for both OpenShift Online and Enterprise.5Pivotal Integrates natively ClearDb in the market place. Additiannaly, any other mysql service can be used5
Lock-in Level1,5There is no lock-in with OpenShift. Customers can always choose to use the free open source upstream OpenShift Origin distribution if the choose. And OpenShift makes use of standard, unmodified application runtimes like JBoss, Apache, Tomcat, etc. so your apps can be easily migrated off of OpenShift if needed.4,5No lock-in4
Hybrid PaaS1,5Red Hat supports both OpenShift Enterprise for Private PaaS and OpenShift Online for Public PaaS.3CloudFoundry can be public, private, hybrid and micro4
Performance and Scalability1,5The OpenShift platform is proven to perform at scale, with hundreds of thousands of applications live and running in OpenShift Online Public PaaS and numerous enterprise customers deploying OpenShift Enterprise Private PaaS.44,5
Community1Red Hat has built a huge developer community around OpenShift Online with tens of thousands of registered users and over a million apps deployed. See our Developer Spotlight here: https://www.openshift.com/developer-spotlight. OpenShift Origin (http://openshift.github.io/) is the upstream open source contributor community for OpenShift. See http://bit.ly/1m2Mky6 for details. 4over 10x on total open source contributors to a PaaS project with 1,213 individuals5
Private Cloud1OpenShift Enterprise can be deployed in a customer's Private Cloud environment or on-premise data center.4,5CloudFoundry can be installed in any server4,5
Eclipse IDE Integration1Full Eclipse IDE integration via JBoss Developer Studio plugin4Natively Integrated with Spring Tool Suite IDE4
Major Firmware Support/Partner 1Red Hat4The Cloud Foundry open-source project looks set to become a standard piece of technology in the thriving distributed systems ecosystem: its main backer, Pivotal, has persuaded IBM, HP, SAP and Rackspace to join a new foundation dedicated to the tech.5
Pricing1https://www.openshift.com/products/pricing44

Finally, I would like to thanks both cloud foundry and openshift communities, specially Mr. +Joe Fernandes  and Ms. +Diane Mueller .


NoteThis comparative post was written following personal requirements. Certainly, non-mentioned criteria or questions would be better to use them to elaborate a more objective comparative (someone asked : your questions don't make it seem like this is about a PaaS; where is health management, logging services, ID management?). Same for the others PaaS. Indeed, in my case, the main issue was to move a legecy/existing java application to cloud.