dsi-javaee-in-the-cloud-andreadis

568 views
513 views

Published on

http://dandreadis.blogspot.com/2011/04/dsi-2011-slovenia.html

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
568
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

dsi-javaee-in-the-cloud-andreadis

  1. 1. Red HatJava EE in the cloudDimitris AndreadisDSI 2011, Portorož, Slovenija1 DSI 2011, Portorož, Slovenija
  2. 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. 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. 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. 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. 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. 7. What “True” PaaS Buys You7 DSI 2011, Portorož, Slovenija
  8. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 27 DSI 2011, Portorož, Slovenija
  28. 28. Achieve Flexibility and Avoid Lock-in WithPortability in the Cloud28 DSI 2011, Portorož, Slovenija
  29. 29. Red Hat Cloud Foundations PaaS29 DSI 2011, Portorož, Slovenija
  30. 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. 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. 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. 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. 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. 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. 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. 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. 38. PaaS is all about balance Managed Flexibility & Scalability Control38 DSI 2011, Portorož, Slovenija
  39. 39. Beware of Vendor Lock-In!39 DSI 2011, Portorož, Slovenija
  40. 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. dimitris@redhat.com 41 http://dandreadis.blogspot.com DSI 2011, Portorož, Slovenija

×