Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Java PaaS Comparisons - Khanderao Kand


Published on

There are many Java Cloud Platforms in the market today. CloudFoundry, CloudBees, Google App Engine, OpenShift, Heroku and, recently announced, Oracle Java Cloud Service. These variety of options often create a dilemma to choose a platform. This presentation would help in understanding and using these platform with some examples. This comparison would help in comparing them for selecting for your application. This presentation would also help in understanding various key factors to look for.

  • Be the first to comment

Java PaaS Comparisons - Khanderao Kand

  1. 1. Java PaaS PlatformsKhanderao KandCTO and Entrepreneur@khanderaoJun 2013JAX 2013 San Jose
  2. 2. Issues!   High Waste!   Occasional unfulfillment of demand!   High Upfront Cost!   Ongoing Op CostTimeCostPeople CostOperational CostsAnticipated Peak Need of CapacityAverage Utilization of Capacity
  3. 3. Why Cloud?!   Cost:! CapEx Cost, Operational Costs and Infra (cooling, electricity, space)costs!   Utility Model: Pay for what you need.!   Efficiency: lower hardware and IT costs!   Agility: Add capacity fast!   Flexibility: Add / Shrink dynamically
  4. 4. Cloud Layers / Cloud StackServersHypervisorStorage NetworkingIaaSCloud Management PaaSSaaSClientSaaS:, Microsoft 360,Oracle Cloud, Workday, SuccessFactor…PaaS: Google AppEngine,,Heroku, Oracle Cloud,Cloud Foundry,RedHat OpenShift, Microsoft Azure,…IAAS: Amazon EC2 , VMware vCloudDirector, BMC, TivoliOpen Sources:Eucalyptus, OpenStack Nova, CloudStack
  5. 5. IaaS vs PaaSis it a Java AMI?IaaS PaaSPricingt: IaaS cost + Software + OpsAdmins (less)Pricing: IaaS + Stack (including DB)included (but most of the vendors provideonly Open source JOS and Level Access, Flexibility Freedom from Need to manage OS levelresourcesGood flexibility with great responsibility Less FlexibilityBuild your own stack Optimized Development StackBuild tools for dev->Ops Dev to Ops Process definedBuild and do Apps monitoring Apps level monitoring part of the stackManage Backup/ Recoveries Backup & Recoveries part of DB supportEnterprises Prefer IaaS Startups , Mobile Apps
  6. 6. Why PaaS ? Summary!   No CapEx cost, Pay as you Use!   Quick Dev to Deployment Resulting into Fast GTM!   No Admin cost (compared no-cloud or even IaaS)!   Tested stack!   Monitoring BuiltinCons:Still evolvingLess flexibility
  7. 7. Amazon Beanstalk!   Languages: Java, PhP, .Net!   Java Stack: TomCat + MySQL + Dynamo Build your stack!   Deployment: Amazon Visual Toolkit / Drop war!   Development: Eclipse Plugin!   Infrastructure: AWS EC2, S3!   Databases: Mysql, RDS, DynamoDB,!   Security: FIPS 140-2, ITAR, ISO 27001, PCI DSS Level 1, FISMAModerate, and SOC 1/SSAE 16/ISAE 3402!   Special Services: S3 for storage, ElasticCache, Route53,!   Experience:!   Easy deployment, drop war, Easy Monitoring UI but otherwise barebone!   Flexibility to change config!   Very basic stack.
  8. 8. Google App Engine OverviewCustomer AppUserServiceTaskSchedulerTaskQueueURLFetcherMailServiceMemcacheImageAPITextSearchJava Jetty StackPython
  9. 9. Google App Engine!   Preview April 2008!!   Languages: Python, Java (**), PHP!   Java Stack: Jetty, JSP, JSF, JDO, JPA, GWT, Spring (***)!   Development: Eclipse Plugin!   Infrastructure: Google Datacenter Infrastructure!   Databases: BigTable, GQL (MySQL5.5 - join)!   Special Services: Mail Service, Messaging, Memcache, Image API, TaskQ,Log API!   Experiment: MapReduce, TextSearch, Openauth(*) OpenID(*)!   Reference Customers: Khan Academy, BestBuy, Pulse,!   Experience:!   Issues in moving Spring Based / Hibernet App!   Restrictions: e.g. Blobstore API instead of file access!   Very proprietary
  10. 10. Important Considerations for PaaS!   Stack: Programming Languages & Stack!   Database: SQL , NoSQL, Versions!   Vendor Locking / Openness!   Availability & Maturity: Public / Beta, Failure Handling, Backup &Restores, Uptime, SLA, Reference Customers!   Additional Services:!   Messaging, Logging, Monitoring!   Security: PCI and other certifications!   Price: Usage based, Clock Based, Per Bandwidth!   Customer Service, Forums, Documentation
  11. 11. CloudFoundry!   First OpenSource PaaS!!   Languages: Python, Java (**)!   Java Stack: Jetty, SpringSource Platform, Extended with Big Data!   Infrastructure: AWS EC2, Other Infra too!   Databases: mysql, Postgres, MongoDB,!   Special : Private , Public and Micro Cloud (local dev, offline)!   Service: RabbitMQ!   Experience:!   Seamless for Spring based.
  12. 12. CloudBees!   Stack: Java!   Infra: EC2!   Database: MySQL, Postgres, MongoDb! Dev: Eclipse Plugin, GIT and Jenkins on Dev@Cloud! Dev@Cloud!   Development focused tools and easiness!   Maven Repository and Build with high performing builds!   Continuous Integration Jenkins!   Partnership: Sonar, Selenium!   Many free plugins!   Scalable performance! Run@Cloud:!   Tomcat / Java EE on EC2!   Easy deploy!   Simple Monitoring!   Access to Logs, AppDynamic for performance, PaperTrail logs!   Simple 1 server mysql + RDS for scaling
  13. 13. Heroku!   Preview launched in 2007 a Ryby PaaS!!   Languages: Ruby, Java, Scala, Python, Clojure, Grails, …!   Java Stack: Jetty , NewRelic for monitoring!   Development: Heroku Toolbelt, GIT + Maven!   Infrastructure: AWS EC2 Dynos: Web Dyno & Worker Dyno!   Databases: PostgreSql, MongoDB, Addons:Neo4J, MyRedis etc..!   Special Services: 60s/16MB backup!   Differentiator: Satble, and Very Large marketplace of plug-ins!   Reference Customers: Macy’s, Career Build, Code for America..!   Experience:!   Maven to build and Git push to deploy
  14. 14. OpenShift!   From RedHat, Opensource PaaS!   Languages: Java, Ruby, Python,Perl, PHP, Node.js,!   Java Stack: Jboss Enterprise Edition, Cartridge for changingcontainer! Dev: Commands, Jboss Developer, GIT Repository, CI with Jenkins!   Infrastructure: AWS EC2,!   Databases: MySQL, PostgreSQL, MongoDB!   Services: Application Gallery!   Types: Free Shift (3 catridges) , MegaShift!   Reference Customers: NA!   Experience: Developers centric help. Pluggable
  15. 15. Oracle Cloud!   From Oracle, 2012!   Languages: Java!   Java Stack: WebLogic!   Development: Eclipse, JDeveloper, NetBeans!   Infrastructure: Oracle!   Databases: Oracle!   Services: Identity Service, User Role Manager, SSO,!   Specials: Oracle ADF, ADF Services, Good monitoring!   Experience: Enterprise Oriented suitable to work with Oracle JavaApp development stack.
  16. 16. Best Case(s) for PaaS Vendor!   Google App Engine: SLA, Price, Stability at cost of Locking In!   Microsoft Azure: If you are more on .Net and need Java PaaS!   Amazon BeanStalk: PaaS blends with IaaS : Flexibility and Access! CloudFoundry: Flexibility, OpenSources, MicroCloud! CloudBees: Developer focused, CI, Stable! OpenShift: Java EE especially Jboss Enterprise version!   Oracle Cloud: Oracle Infrastructure ADF, Integration with HostedOracle Apps
  17. 17. Summary!   Java PaaS platforms are still evolving and maturing!   Less flexibility to change versions of software!   Mostly “Connected” development!   No Standardization, Danger of lockin: Different services (find yourrequirement and compatible)!   Less control for performance tunings / monitoring!   Great for Development and testing!   Far from Enterprise Scale Applications however Enterprisesexperimenting with small customer apps and trainings!   Suitable for Startups and mobile Apps
  18. 18. ComparisonAmazon GAE CloudFoundryCloudBees Heroku OpenShift OracleJ2EE N N N N N Y YJava Server Tomcat Jetty Tomcat Tomcat Jetty JBoss WeblogicSQL Oracle,Mysql,PostgresMysql,PostgresMysql,PostgresMysql,PostgresMysql,PostgresMysql,PostgresORacleNOSQL Dynamo BigTable MongoDb MongoDb MongoDb MongoDb -Services + +++ ++ + +++ + ++Maturity +++ ++ ++ + + +Dev Ops + + ++ +++ + ++ +LockIn + +++ + + + + ++Portabililty +++ - +++ +++ + ++ +
  19. 19. QAContact: