SlideShare una empresa de Scribd logo
1 de 41
Red Hat
Java EE in the cloud

Dimitris Andreadis


DSI 2011, Portorož, Slovenija



1                    DSI 2011, Portorož, Slovenija
Agenda

    ●   Why PaaS is important
    ●   Existing Java PaaS offerings
    ●   Java EE and the Cloud
    ●   JBoss/RedHat and the Cloud
    ●   Conclusion




2                       DSI 2011, Portorož, Slovenija
Agenda

    ●   Why PaaS is important
    ●   Existing Java PaaS offerings
    ●   Java EE and the Cloud
    ●   JBoss/RedHat and the Cloud
    ●   Conclusion




3                       DSI 2011, Portorož, Slovenija
The most Powerful Shift in Enterprise
Computing in the last Decade

                       Provide new services despite
The Cloud              budget limits

                       Increase enterprise agility

                       Improve service levels

                       Reduce capital requirements

                       Increase operational efficiency




4              DSI 2011, Portorož, Slovenija
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
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

    • API's, Drivers, Tools                           Bare metal:     Full access,
                                                                      No Abstraction
    • Federation                    System Admins

6                             DSI 2011, Portorož, Slovenija
What “True” PaaS Buys You




7             DSI 2011, Portorož, Slovenija
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 Security




8                            DSI 2011, Portorož, Slovenija
Agenda

    ●   Why PaaS is important
    ●   Existing Java PaaS offerings
    ●   Java EE and the Cloud
    ●   JBoss/RedHat and the Cloud
    ●   Conclusion




9                       DSI 2011, Portorož, Slovenija
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 efficient
10                            DSI 2011, Portorož, Slovenija
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 results

11                           DSI 2011, Portorož, Slovenija
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
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
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
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/applications




15                            DSI 2011, Portorož, Slovenija
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 host


16                           DSI 2011, Portorož, Slovenija
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@Cloud




17                          DSI 2011, Portorož, Slovenija
Agenda

     ●   Why PaaS is important
     ●   Existing Java PaaS offerings
     ●   Java EE and the Cloud
     ●   JBoss/RedHat and the Cloud
     ●   Conclusion




18                       DSI 2011, Portorož, Slovenija
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
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 good
20                            DSI 2011, Portorož, Slovenija
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 problems




21                        DSI 2011, Portorož, Slovenija
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 infrastructure



22                            DSI 2011, Portorož, Slovenija
Java EE 7 Goals

     ●   Multitenancy support
          ●   Different apps sharing a runtime
          ●   Potentially 100's of them

     ●   Service Metadata
          ●   Configuration and QoS for provided services
          ●
              Clustering, 2nd level Caching (e.g. cloud.xml)
          ●   New Cloud “Deployer” Role



23                            DSI 2011, Portorož, Slovenija
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
Java EE 7 Goals – cont.

     ●   Target Timeframe – end of 2012
          ●   Timeboxed Release                              Design by Committe®



     ●   The “Enterprise Cloud” - WARNING!
          ●   Let best practices emerge, then standardize




25                           DSI 2011, Portorož, Slovenija
Agenda

     ●   Why PaaS is important
     ●   Existing Java PaaS offerings
     ●   Java EE and the Cloud
     ●   JBoss/RedHat and the Cloud
     ●   Conclusion




26                       DSI 2011, Portorož, Slovenija
27   DSI 2011, Portorož, Slovenija
Achieve Flexibility and Avoid Lock-in With
Portability in the Cloud




28              DSI 2011, Portorož, Slovenija
Red Hat Cloud Foundations PaaS




29            DSI 2011, Portorož, Slovenija
Makara Accelerates
Red 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 in

30                       DSI 2011, Portorož, Slovenija
Red Hat Public Cloud PaaS Service

 ●
     1st Release of Red Hat's 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 Hat's PaaS at
                                     http://makara.com

31                            DSI 2011, Portorož, Slovenija
Introducing JBoss AS 7.0

     ●   Motivation
          ●   Improve Elasticity Qualities
          ●   Improve Manageability
          ●   Simplify Configuration

     ●   Clean things up!
          ●   Remove abstraction layers
          ●   Remove legacy stuff
          ●   Modularize


32                           DSI 2011, Portorož, Slovenija
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 profiles



33                          DSI 2011, Portorož, Slovenija
JBoss AS 7.0 – Manageability

     ●   Multi-node Centralized Configuration
          ●   Or Standalone


     ●   Multiple management APIs
          ●   CLI, Java, HTTP, Console

     ●   Simplified Configuration
          ●   No intermixing with internal wiring



34                            DSI 2011, Portorož, Slovenija
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 Isolation




35                          DSI 2011, Portorož, Slovenija
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 schedule


36                            DSI 2011, Portorož, Slovenija
Agenda

     ●   Why PaaS is important
     ●   Existing Java PaaS offerings
     ●   Java EE and the Cloud
     ●   JBoss/RedHat and the Cloud
     ●   Conclusion




37                       DSI 2011, Portorož, Slovenija
PaaS is all about balance


       Managed                              Flexibility &
       Scalability                          Control




38                   DSI 2011, Portorož, Slovenija
Beware of Vendor Lock-In!




39             DSI 2011, Portorož, Slovenija
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 infrastructure



40                           DSI 2011, Portorož, Slovenija
dimitris@redhat.com
 41                                           http://dandreadis.blogspot.com
                      DSI 2011, Portorož, Slovenija

Más contenido relacionado

Destacado

7 secrets of successful opensource developers
7 secrets of successful opensource developers7 secrets of successful opensource developers
7 secrets of successful opensource developersDimitris Andreadis
 
WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the UnionDimitris Andreadis
 
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.Dimitris Andreadis
 
JBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the UnionJBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the UnionDimitris Andreadis
 

Destacado (9)

2012 Devoxx - JBossAS BOF
2012 Devoxx - JBossAS BOF2012 Devoxx - JBossAS BOF
2012 Devoxx - JBossAS BOF
 
7 secrets of successful opensource developers
7 secrets of successful opensource developers7 secrets of successful opensource developers
7 secrets of successful opensource developers
 
jboss.org-jboss.com
jboss.org-jboss.comjboss.org-jboss.com
jboss.org-jboss.com
 
WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the Union
 
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
 
JBoss AS7 Reloaded
JBoss AS7 ReloadedJBoss AS7 Reloaded
JBoss AS7 Reloaded
 
JBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the UnionJBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the Union
 
JBoss AS / EAP and Java EE6
JBoss AS / EAP and Java EE6JBoss AS / EAP and Java EE6
JBoss AS / EAP and Java EE6
 
WildFly & WildFly Swarm
WildFly & WildFly SwarmWildFly & WildFly Swarm
WildFly & WildFly Swarm
 

Último

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Último (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

dsi-javaee-in-the-cloud-andreadis

  • 1. Red Hat Java EE in the cloud Dimitris Andreadis DSI 2011, Portorož, Slovenija 1 DSI 2011, Portorož, Slovenija
  • 2. Agenda ● Why PaaS is important ● Existing Java PaaS offerings ● Java EE and the Cloud ● JBoss/RedHat and the Cloud ● Conclusion 2 DSI 2011, Portorož, Slovenija
  • 3. Agenda ● Why PaaS is important ● Existing Java PaaS offerings ● Java EE and the Cloud ● JBoss/RedHat and the Cloud ● Conclusion 3 DSI 2011, Portorož, Slovenija
  • 4. The most Powerful Shift in Enterprise Computing in the last Decade Provide new services despite The Cloud budget limits Increase enterprise agility Improve service levels Reduce capital requirements Increase operational efficiency 4 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 • API's, Drivers, Tools Bare metal: Full access, No Abstraction • Federation System Admins 6 DSI 2011, Portorož, Slovenija
  • 7. What “True” PaaS Buys You 7 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 Security 8 DSI 2011, Portorož, Slovenija
  • 9. Agenda ● Why PaaS is important ● Existing Java PaaS offerings ● Java EE and the Cloud ● JBoss/RedHat and the Cloud ● Conclusion 9 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 efficient 10 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 results 11 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/applications 15 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 host 16 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@Cloud 17 DSI 2011, Portorož, Slovenija
  • 18. Agenda ● Why PaaS is important ● Existing Java PaaS offerings ● Java EE and the Cloud ● JBoss/RedHat and the Cloud ● Conclusion 18 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 good 20 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 problems 21 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 infrastructure 22 DSI 2011, Portorož, Slovenija
  • 23. Java EE 7 Goals ● Multitenancy support ● Different apps sharing a runtime ● Potentially 100's of them ● Service Metadata ● Configuration and QoS for provided services ● Clustering, 2nd level Caching (e.g. cloud.xml) ● New Cloud “Deployer” Role 23 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 standardize 25 DSI 2011, Portorož, Slovenija
  • 26. Agenda ● Why PaaS is important ● Existing Java PaaS offerings ● Java EE and the Cloud ● JBoss/RedHat and the Cloud ● Conclusion 26 DSI 2011, Portorož, Slovenija
  • 27. 27 DSI 2011, Portorož, Slovenija
  • 28. Achieve Flexibility and Avoid Lock-in With Portability in the Cloud 28 DSI 2011, Portorož, Slovenija
  • 29. Red Hat Cloud Foundations PaaS 29 DSI 2011, Portorož, Slovenija
  • 30. Makara Accelerates Red 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 in 30 DSI 2011, Portorož, Slovenija
  • 31. Red Hat Public Cloud PaaS Service ● 1st Release of Red Hat's 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 Hat's PaaS at http://makara.com 31 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 ● Modularize 32 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 profiles 33 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 wiring 34 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 Isolation 35 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 schedule 36 DSI 2011, Portorož, Slovenija
  • 37. Agenda ● Why PaaS is important ● Existing Java PaaS offerings ● Java EE and the Cloud ● JBoss/RedHat and the Cloud ● Conclusion 37 DSI 2011, Portorož, Slovenija
  • 38. PaaS is all about balance Managed Flexibility & Scalability Control 38 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 infrastructure 40 DSI 2011, Portorož, Slovenija
  • 41. dimitris@redhat.com 41 http://dandreadis.blogspot.com DSI 2011, Portorož, Slovenija