cloud paas with java

Download Cloud PaaS with Java

Post on 14-Jan-2015




3 download

Embed Size (px)


This talks shows different approaches to PaaS for Java developers. It covers Google App Engine, Amazon Beanstalk and Cloud Foundry in detail. I did the talk with Bernd Kolb at JAX 2011, Germany.


  • 1. Cloud PaaS mit JavaWarum und wie?Eberhard Wolff @ewolff | Bernd Kolb @berndkolb

2. About Me Eberhard Wolff Architecture & Technology Manager at adesso adesso is a leading IT consultancy in Germany We are hiring Speaker Author (i.e. first German Spring book) Blog: Twitter: @ewolff 3. And Me Bernd Kolb Development Architect @ SAP Speaker Author (i.e. first OSGi book) Blog: Twitter: @berndkolb 4. Agenda Some words about clouds IaaS PaaS Examples Google App Engine Amazon Beanstalk VMware Cloud Foundry 5. A Few Words about Clouds 6. Public Clouds 7. Private Clouds 8. Hybrid Clouds 9. IaaS PaaS SaaS InfrastructurePlatform Softwareas a Serviceas a Service as a Service>Virtual Servers >Virtual App Server >Software or Service that you use>Similar to Virtualization >Handles Scale-Out >Components that you>Manage Everything >Mostly Managed byadd/integrate into yourYourselfProvider app 10. The Clouds Business Model 11. Bare metal is not enough 12. PaaS Platform as a service (PaaS) is the delivery of acomputing platform and solution stack as a service. 13. PaaS - Advantages Easier to use than IaaS:You would need to install a server anyway Automatic scaling Resources automatically added Can offer additional service Tuned for Cloud Technical e.g. data store, messaging, GUI elements but IaaS does the same (Amazon) 14. PaaS - Disadvantages Less flexible Pre-defined programming model Defines environment Programming model might be different Hard to port existing code Need to learn Lock-in Higher-value services Development in the Cloud Potentially expensive 15. Clouds by Example 16. GoogleAppEngine 17. Google AppEngine Infrastructure offered by Google Infrastructure completely hidden pure PaaS Supports Java and Python Very restrictive sandbox Java classes white list no Thread, no file system, Supports version handling of applications Supports elastic scaling Documentation + SDK + Eclipse Plug In available SDK contains environment for local tests 18. Google AppEnginefor Business Centralized administration. 99.9% uptime SLA Premium developer support available. Sign on for users from your Google Apps domain Announced SSL on your companys domain for secure communications Access to advanced Google services Relational database 19. Google AppEngineServices Bigtable* (NoSQL) Task queuing* Memcache Blob store* for data >1MB URL Fetch Channel (talk to JavaScript EMailin the browser) XMPP* (proprietary API) Numerous other services Image Manipulation*available (not tied to AppEngine) Authentication / Google Predict, Google Authorization*BigQuery, AdSense, Search, * Proprietary API 20. AWSElastic Beanstalk 21. AWS Elastic Beanstalk Collection of Cloud Offerings (mostly IaaS) Infrastructure visible Based on the Amazon EC2 infrastructure, Auto Scaling and S3 Only Java Linux + OpenJDK + Tomcat Currently in beta only in US-East Eclipse Plug In available Supports version handling of applications Supports elastic scaling depending on load indicators Simple Monitoring built in Detailed control over the environment Tomcat parameters, used AMIs, log in to machine etc. 22. AWS Elastic Beanstalk Much like your average Enterprise Java environment =Tomcat + RDBMS Cloud features like elastic scaling available Can easily add other AWS elements Runs on a proven environment But: 1 server = 1 virtual machine GAE can run multiple applications on one machine More cost efficient (?) Scaling is slow as an image needs to be started and provisioned 23. AWS Services Elastic Compute Cloud Simple Email Service (SES)* (EC2) Virtual Private Cloud (VPC)* Elastic Map Reduce* Simple Storage Service (S3)* Auto Scaling Elastic Block Storage (EBS)* SimpleDB : Big Table like NoSQL database* Simple Queue Service (SQS) * Third party offerings like for Simple Notification Service MongoDB (SNS)* for Relational Database Service CouchDB (RDS) * Proprietary API 24. AWSElastic BeanstalkDemo 25. VMwareCloud Foundry 26. VMware Cloud Foundry Open Source At GitHub under Apache2 license Pretty new No commercial offering yet Hosted at, currently closed beta Can run Java, Ruby and Node.js Spring, Grails, Rails, Sinatra & Node supported Support for other languages currently in development by the community Can be hosted anywhere IaaS integration is not part of the open-sourced components Eclipse Plug In available Supports elastic scaling depending on load indicators Well you can build it 27. VMware Cloud Foundry Much like your average Enterprise Java environment =Tomcat + RDBMS Cloud features like elastic scaling available Runs on a proven environment (Ubuntu) Allows access to Tomcats log files 1 virtual machine = n servers 28. VMware Cloud Foundry Services Relational Database Service (MySQL) Key-Value Store (Redis) Document Store (mongoDB) Messaging Service (RabbitMQ) More to come in the future API to build your own service * Proprietary API 29. VMwareCloud FoundryDemo 30. Summary GeneralIts very easy to run Java apps in the cloudSome things are different, not everything is solvedIaaS Maximum control Automatic installation neededGoogle App Engine Very limited sandbox Advantage?Amazon BeanstalkStandard Enterprise Java StackLots of additional Amazon Web ServicesCloud FoundryServices modelOpen SourceThere is more its worth exploring 31. Wir suchen Sie als Software-Architekt (m/w) Projektleiter (m/w) Senior Software Engineer (m/w) Kommen Sie zum Stand und gewinnen Sie ein iPad 2!