Your SlideShare is downloading. ×
2011 04-dsi-javaee-in-the-cloud-andreadis
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

2011 04-dsi-javaee-in-the-cloud-andreadis


Published on

Java EE in the Cloud, DSI 2011 …

Java EE in the Cloud, DSI 2011
by Dimitris Andreadis

Published in: Technology

  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Red HatJava EE in the cloudDimitris AndreadisDSI 2011, Portorož, Slovenija1 DSI 2011, Portorož, Slovenija
  • 2. Agenda ● Why PaaS is important ● Existing Java PaaS offerings ● Java EE and the Cloud ● JBoss/RedHat and the Cloud ● Conclusion2 DSI 2011, Portorož, Slovenija
  • 3. Agenda ● Why PaaS is important ● Existing Java PaaS offerings ● Java EE and the Cloud ● JBoss/RedHat and the Cloud ● Conclusion3 DSI 2011, Portorož, Slovenija
  • 4. The most Powerful Shift in EnterpriseComputing in the last Decade Provide new services despiteThe Cloud budget limits Increase enterprise agility Improve service levels Reduce capital requirements Increase operational efficiency4 DSI 2011, Portorož, Slovenija
  • 5. Gartner proclaims 2011 to be“The Year of the PaaS” ● By 2013, all leading software vendors will aggressively compete for leadership in the cloud platform market ● By 2014, most mainstream IT organizations will have a positive experience using a PaaS service and will be increasing its use. ● By 2015, cloud platform experience will be a listed or demanded skill in most hiring decisions by IT software projects.5 DSI 2011, Portorož, Slovenija
  • 6. PaaS Provides Abstraction & Automation A Cloud provides PaaS Cloud: API & Service abstraction layers to abstraction, manage scale and 3rd Abstraction maps app Developers APIs and services to complexity cloud resources • Self service IaaS Cloud: Resource abstraction, • Abstracted, elastic 2nd Abstraction maps resources cloud to virtual IT/Cloud Admins resources • Location-independent storage & services Virtualization: Hardware abstraction, • Users, Groups 1st Abstraction maps Virt Admins virtual to physical • Accounting resources • APIs, Drivers, Tools Bare metal: Full access, No Abstraction • Federation System Admins6 DSI 2011, Portorož, Slovenija
  • 7. What “True” PaaS Buys You7 DSI 2011, Portorož, Slovenija
  • 8. Current PaaS vs. True PaaS ● Current PaaS is more like a Glorified IaaS ● Pre-installed, pre-configured middleware ● With some nice UI and scripting glue Deploy App:  Provision Provision DB Deploy schema cluster Still many IT tasks to perform Deploy App to (not a transparent update process) ● Provision cluster: each node provision Configure LB nodes Setup BC for QA cluster Setting up IaaS components cluster ● Configure DNS Provision DB:  Provision Complexity is still there node Setup BC for DB ● Provision node: Configure AS Manage environment (recurring) Analyse sec. Analyse QA Analyse AS/OS bulletins bulletins logs maintain OS maintain JVM maintain AS maintain DB maintain FW Validate/QA Metering/Scaling (recurring) stack Measure App Provision node performance Update Cluster Update LB Update Security8 DSI 2011, Portorož, Slovenija
  • 9. Agenda ● Why PaaS is important ● Existing Java PaaS offerings ● Java EE and the Cloud ● JBoss/RedHat and the Cloud ● Conclusion9 DSI 2011, Portorož, Slovenija
  • 10. Google App Engine (GAE) ● A Jetty based web container that scales the Google Way! ● Adapt your application design to the Google paradigm ● Let the engine assume full control of resources and I/O ● Remove the database bottleneck with NoSQL BigTable ● Use misc facilities, mail, memcache, schedulers, SSO ● Enjoy zero administration and maintenance ● Provisioning, monitoring, fail-over, sharding ● Secure, reliable and cost efficient10 DSI 2011, Portorož, Slovenija
  • 11. Google App Engine (GAE) – cont. ● Restricted Java APIs (JRE Class White List) ● Restricted I/O, no Threads, DB operations ● No full EE (e.g. EJB, JMS, JCA, etc.) ● Questionable framework support (e.g. Hibernate, Seam, RichFaces, etc.) with many workarounds ● Various limits & timeouts ● Outbound connections, 5-10secs ● Request must return within 30secs ● Queries may return up to 1000 results11 DSI 2011, Portorož, Slovenija
  • 12. Google App Engine (GAE) – cont. ● Great for new applications with scalability potential ● Pay nothing or as-you-go ● Too many constraints and portability concerns ● Often a show stopper ● Enhanced App Engine for Business on the way ● Hosted SQL support, etc.12 DSI 2011, Portorož, Slovenija
  • 13. Amazon Elastic Beanstalk (beta) ● Managed Apache Tomcat container on EC2 ● Use any compatible Java frameworks ● No limitation on threading, file or network I/O ● Limited only by the capacity of the underlying VM ● Many database options ● Amazon RDS (MySQL and soon Oracle 11g) on dedicated/managed hosts ● Amazon SimpleDB (NoSQL) ● Roll out your own with Relational AMIs over EBS volumes.13 DSI 2011, Portorož, Slovenija
  • 14. Amazon Elastic Beanstalk (beta) ● Control scaling options ● Fire up new instances based on predefined rules ● But you need to setup session replication yourself ● Access to other Amazon Simple * Services ● Queue (SQS), Storage (S3), Email (SES) ● Payments APIs, etc.14 DSI 2011, Portorož, Slovenija
  • 15. Amazon Elastic Beanstalk (beta) ● Natural PaaS evolution step for AWS IaaS ● Still offering full control over underlying IaaS ● Proven option for Enterprise Applications ● Cost is an issue for small websites/applications15 DSI 2011, Portorož, Slovenija
  • 16. CloudBees ● RUN@Cloud infrastructure acquired from Stax Networks ● Support for Tomcat (and soon JBoss AS) ● Utilizes EC2 (with plans for other IaaS providers) ● More IaaS sharing options for lower costs ● Multiple appServer instances on the same virtual server ● Inactive instances are swapped out of memory ● DB servers can also share virtual host16 DSI 2011, Portorož, Slovenija
  • 17. CloudBees – cont. ● DEV@Cloud a.k.a. Hudson/Jenkins as a Service ● A Continuous Integration environment that scales ● Private Maven Repositories ● Git/Svn Repositories (soon) ● Going for DEV@Cloud to RUN@Cloud17 DSI 2011, Portorož, Slovenija
  • 18. Agenda ● Why PaaS is important ● Existing Java PaaS offerings ● Java EE and the Cloud ● JBoss/RedHat and the Cloud ● Conclusion18 DSI 2011, Portorož, Slovenija
  • 19. Why the JVM is good for the Cloud ● The Java Virtual Machine is already a managed environment ● Portability across O/S & JVM implementations ● Remote debugging/profiling/monitoring hooks ● Security Policies ● Base runtime for different JVM languages ● Ceylon, Groovy, Java, JPython, JRuby, Scala, etc.19 DSI 2011, Portorož, Slovenija
  • 20. Why Java EE is GOOD for the Cloud ● Java EE is essentially a managed container architecture ● Packaging is standardized ● Resources are managed ● Services are injected ● Applications are isolated ● Security is part of the model ● Basic monitoring is provided ● Clustering is supported ● Portability between Java EE Containers is reasonably good20 DSI 2011, Portorož, Slovenija
  • 21. Why Java EE is BAD for the Cloud ● Most EE servers still heavyweight ● Applications often assume exclusive runtime usage ● Modularity of applications and services an afterthought ● Setting up of standard services not standardized ● Configuring clustering facilities even less standardized ● Traditional RDBMS stores present scalability problems21 DSI 2011, Portorož, Slovenija
  • 22. The PaaS reality ● All of your Java EE are belong to us! ● You do not control the Platform ● You may have to share the Platform ● You need a portable way to configure the Platform ● For existing Java PaaS solutions ● Either adapt to what is offered, or ● Tweak the underlying infrastructure22 DSI 2011, Portorož, Slovenija
  • 23. Java EE 7 Goals ● Multitenancy support ● Different apps sharing a runtime ● Potentially 100s of them ● Service Metadata ● Configuration and QoS for provided services ● Clustering, 2nd level Caching (e.g. cloud.xml) ● New Cloud “Deployer” Role23 DSI 2011, Portorož, Slovenija
  • 24. Java EE 7 Goals – cont. ● Modularity (compatible with SE 8) ● Versioning of apps, Dependencies ● Versioning of APIs/Impls, BOMs ● New APIs ● Web Sockets, HTML 5, JSON ● JCache, NoSQL? ● Updates to existing APIs ● JMS, JPA, EJB, CDI, BV, Servlet, JAX-RS, JSF, ...24 DSI 2011, Portorož, Slovenija
  • 25. Java EE 7 Goals – cont. ● Target Timeframe – end of 2012 ● Timeboxed Release Design by Committe® ● The “Enterprise Cloud” - WARNING! ● Let best practices emerge, then standardize25 DSI 2011, Portorož, Slovenija
  • 26. Agenda ● Why PaaS is important ● Existing Java PaaS offerings ● Java EE and the Cloud ● JBoss/RedHat and the Cloud ● Conclusion26 DSI 2011, Portorož, Slovenija
  • 27. 27 DSI 2011, Portorož, Slovenija
  • 28. Achieve Flexibility and Avoid Lock-in WithPortability in the Cloud28 DSI 2011, Portorož, Slovenija
  • 29. Red Hat Cloud Foundations PaaS29 DSI 2011, Portorož, Slovenija
  • 30. Makara AcceleratesRed Hat Cloud Foundations PaaS ● Provision and secure Cloud resources ● Support for JBoss and PHP applications ● Application auto-scaling ● Performance monitoring for the entire stack ● Dynamic log management built in30 DSI 2011, Portorož, Slovenija
  • 31. Red Hat Public Cloud PaaS Service ● 1st Release of Red Hats PaaS offering will be as an online service ● Hosted public cloud service by Red Hat ● Will offer choice of public IaaS clouds for back-end providers ● Ideal for developers wanting to develop new applications rapidly as well as enterprises wanting to provide self- service development, test, and production environments Developers can currently try out an online preview of Red Hats PaaS at http://makara.com31 DSI 2011, Portorož, Slovenija
  • 32. Introducing JBoss AS 7.0 ● Motivation ● Improve Elasticity Qualities ● Improve Manageability ● Simplify Configuration ● Clean things up! ● Remove abstraction layers ● Remove legacy stuff ● Modularize32 DSI 2011, Portorož, Slovenija
  • 33. JBoss AS 7.0 – Elasticity ● Faster (Parallel) Start-up ● 3 secs (AS 6.0 ~19s) ● Smaller Memory Footprint ● 16M (AS 6.0 ~180M) ● Smaller Distribution ● 60M independent to the number of profiles33 DSI 2011, Portorož, Slovenija
  • 34. JBoss AS 7.0 – Manageability ● Multi-node Centralized Configuration ● Or Standalone ● Multiple management APIs ● CLI, Java, HTTP, Console ● Simplified Configuration ● No intermixing with internal wiring34 DSI 2011, Portorož, Slovenija
  • 35. JBoss AS 7.0 – Modularity ● Based on JBoss Modules ● In anticipation of Java SE 8 ● With Support for OSGi Bundles ● Modular ● Do not expose implementation details ● Better Classloader Isolation35 DSI 2011, Portorož, Slovenija
  • 36. JBoss AS 7.0 – Roadmap ● AS 7.0 currently in Beta3* ● 7.0 Final (EE6 Web Profile) ● 7.1 Final (EE6 Full Profile) ● JBoss AS 7.0 will be the base for JBoss Enterprise Application Platform 6 (EAP) *Check out JBoss JIRA for an up-to-date schedule36 DSI 2011, Portorož, Slovenija
  • 37. Agenda ● Why PaaS is important ● Existing Java PaaS offerings ● Java EE and the Cloud ● JBoss/RedHat and the Cloud ● Conclusion37 DSI 2011, Portorož, Slovenija
  • 38. PaaS is all about balance Managed Flexibility & Scalability Control38 DSI 2011, Portorož, Slovenija
  • 39. Beware of Vendor Lock-In!39 DSI 2011, Portorož, Slovenija
  • 40. Evaluating PaaS providers ● Ask the right questions ● Ease-of-use, Management, QoS, Cost ● Ability to ● use arbitrary technologies & frameworks ● move code & data between different clouds ● abstract and choose application services ● access the underlying infrastructure40 DSI 2011, Portorož, Slovenija
  • 41. 41 DSI 2011, Portorož, Slovenija