How to choose the right PaaS Platform? Rajagopalan. S Senior Solution Architect Wipro Technologies 1
The Problem Which one is suitable for your Enterprise? How do you identify that? 2
Agenda PaaS Landscape PaaS Capability Framework Candidate PaaS Platforms Assessment Q & A 3
PaaS Landscape Continuum of PaaS Platforms 4
Customization Cloud Service Models Delivery Agility 5 Source: wikipedia
PaaS Spectrum Design Application Build Application Influence Provision Infra Setup Platform Effort Deploy Application 6
PaaS Capability Framework A framework to evaluate PaaS suitability for an enterprise 7
PaaS Capability Framework: Intro Define four key activities Identify Key Stakeholder Concerns Distill Concerns to Capabilities Define Measurement Criteria Assess & Quantify Capability Maturity Base set of Capabilities & Measurement Criteria Framework to be heavily customized Enterprise architecture direction Current IT State & Maturity Future IT requirements 8
Identify Key Stakeholder Concerns Developers All platforms should be consistent Different deploy tools for diff apps Easier troubleshooting in prod env IT Operator 9 Don t restrict language Independent env to test my changes Ops don t provision platform correctly Time wasted to get appln log and db dump Ops take too much time to deploy a bug fix rel PaaS Platforms Business No scheduled downtime to fix simple app issues Reduce the turn around time of key business processes Cannot waste the IT investments already made Start with lesser Capex, can add more resources as required Reliable platform installation and upgrade Add new resources to for a short span of time Access Control using enterprise identity Any application utilizing more resources?? Frequent upgrade request from app teams
Distill Concerns to Capabilities All Concerns Deployment Flexibility Deployment Control Granularity Ease of Operations Coexistence with IT Landscape Choice of Application Stacks Dependable QoS Grow as per Need Developer Tooling Enterprise App Platform Services Business Fitment PaaS Capabilities 10
Define Measurement Criteria Deployment Flexibility Deploy on public / private / hybrid cloud Deploy on AWS/OpenStack/vSphere 1 node to 100s of nodes Deployment Control Granularity Model Compute/Memory/Storage reqs Set runtime/service specific parameters JVM GC algorithm, permgen size InnoDB Buffer Pool Size Ease of Operations Ease of Installation/Upgrade Centralized resource usage metering User, group, organisation modelling 11
Define Measurement Criteria Coexistence with Current IT Easy to reuse existing IT assets: hardware, DB assets, identity server Support for standard app platforms Add enterprise specific services Choice of Application Stack Popular runtimes Popular application frameworks Widely used services: DB, cache, msg Reliable QoS Little/No downtime for upgrades Proactive application status monitoring Fine grained access control 12
Define Measurement Criteria Grow as per Need Dynamic horizontal scaling of platform Scale apps vertically / horizontally Auto-scaling (up/down) of applications Developer Tooling IDE Integration to deploy apps SCM/CI tool integ for QA/prod deploy Effective troubleshooting support Adhoc native access to services Enterprise App Platform Services Notification Services Authentication & Authorization Services Exchanges for publishing & discovery 13
Define Measurement Criteria Business Fitment Availability of commercial support Minimal capex, flexible licensing model Established community Third party extensions 14
Assess & Quantify Capability Maturity Capability Weightage (0.0 to 1.0) PaaS Platform Ratings (0.00 to 1.00) PF A PF B PF C Deployment Flexibility 0.8 0.8 0.4 0.1 Ease of Operations 1.0 0.3 0.9 0.4 Cumulative Score 0.94 1.22 0.48 Specific to your enterprise architecture direction Derived by the fitment of the platform to your enterprise capabilities & IT requirements 15
Candidate PaaS Platforms Assessment Qualitative Assessment of Candidate PaaS Platforms 16
Cloud Foundry 17 Source: VMWare
OpenShift 18 Source: RedHat
Deployment Flexibility Assessment Cloud Foundry Micro Cloud Foundry works in a single node BOSH Release management tool for large scale deployments (100s of nodes) BOSH tooling supports AWS, OpenStack, vsphere No support for hybrid cloud OpenShift Supports Single Node deployment Deployable on OpenStack, AWS Puppet based deployment tooling in the making No support for hybrid cloud 19
Deploy Control Granularity Assessment Cloud Foundry All apps and service instances are same No special configurations for runtimes & services Compute resource limits not modelled & implemented OpenShift Runtime s config stored along with app Compute resource limits could be imposed with cgroups Service configuration not possible 20
Ease of Operations Assessment Cloud Foundry Organizational user model currently being added No Admin Console No tooling to meter resource usage Upgrade operations of CF platform not smooth OpenShift Require more functions in Admin console No tooling to meter resource usage 21
Coexistence with IT Landscape - Assessment Cloud Foundry Existing data assets usable with manual configuration No well defined interface for adding additional services Existing data assets modelling not supported No support for standard containers (JBoss, WebSphere) OpenShift Well defined Cartridge interface for services Supports JBoss EAP as a cartridge Existing data assets usable with manual configuration Existing data assets modelling not supported 22
Choice of Application Stacks - Assessment Cloud Foundry Runtimes: Java, Ruby, Erlang, Python, Scala, Javascript Frameworks: Spring, Rails, Grails, OTP, Play, node.js Array of Services: MySQL, Postgres, RabbitMQ, MongoDB, Redis, Memcached OpenShift Runtimes: Java, Ruby, PHP, Pyhton, Javascript Frameworks: Spring, Rails, node.js Services: MySQL, Postgres, MongoDB No independent messaging service 23
Dependable QoS - Assessment Cloud Foundry Runtime monitoring of application and auto restart OAuth based access control on operations Indirectly enables transparent app upgrades Platform upgrades require downtime Rouge apps can overuse resources Potential security risk by other apps OpenShift Resource limiting with cgroups Multi Tenant security with SELinux App & Platform upgrade require downtime 24
Grow as per Need - Assessment Cloud Foundry Possible to find app resource usage Possible to scale apps vertically and horizontally Scaling platform with more nodes not easy OpenShift Auto horizontal scaling (up & down) Very primitive scaling rules Scaling platform with more nodes not easy All nodes in the platform have same capabilities 25
Developer Tooling - Assessment Cloud Foundry Fully functional CLI tool vmc for deployment & control Eclipse plugin to deploy apps right from IDE Adhoc access to services through caldecott tunnelling tool CF tooling enables access to log files No integration with CI or SCM OpenShift Fully functional CLI tool rhc for deployment & control Functional Eclipse plugin through JBoss Tools Transparent port forwarding to services using JBoss Tools Tight integration with Git for application delivery SSH access to Gears if required 26
EAP Services - Assessment Cloud Foundry OAuth2 provider with DB based identity store Apps could use OAuth2 provider OAuth2 provider s identity store customizable No inbuilt notification, exchange services OpenShift Authentication with Apache s mod_auth module No inbuilt notification, exchange services 27
Business Fitment - Assessment Cloud Foundry Minimal upfront cost Very vibrant user and developer community Commercial third party providers Still in Beta Recently announced commercial support through Pivotal Still no commercial enterprise product from VMWare OpenShift Commercial product and support from RedHat Community support is on the rise Higher upfront licensing cost 28
Thank You S. Rajagopalan Senior Solution Architect rajagopalan.raja@wipro.com 29