SlideShare una empresa de Scribd logo
1 de 41
Descargar para leer sin conexión
PaaSing a Java EE Application
Arun Gupta, Java EE & GlassFish Guy
blogs.oracle.com/arungupta, @arungupta
 1   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
The following is intended to outline our general product
    direction. It is intended for information purposes only, and
    may not be incorporated into any contract. It is not a
    commitment to deliver any material, code, or functionality,
    and should not be relied upon in making purchasing
    decisions. The development, release, and timing of any
    features or functionality described for Oracle s products
    remains at the sole discretion of Oracle.


2   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Cloud Computing
    Essential Characteristics
    •  On-demand Self-Service
    •  Broad network access
    •  Resource Pooling
    •  Rapid Elasticity
    •  Measured Service


                                                                           (*) NIST Definition of Cloud Computing – 800-145



3   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Cloud Computing
    Deployment Models
    •  Private Cloud
          –  Operated solely for an organization
          –  On-premise or off-premise
    •  Community Cloud
    •  Public Cloud
          –  Access to general public
    •  Hybrid Cloud
          –  2 or more clouds, Cloud Bursting
                                                                           (*) NIST Definition of Cloud Computing – 800-145

4   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Cloud Computing
    Service Models
    •  Software as a Service (SaaS)
    •  Platform as a Service (PaaS)
          –  Deploy customer-created applications
          –  Using languages and tools supported by PaaS Provider
          –  No control of underlying cloud infrastructure
          –  Control over deployed applications, hosting env. Configurations
    •  Infrastructure as a Service (IaaS)
                                                                           (*) NIST Definition of Cloud Computing – 800-145



5   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
PaaS and Java EE
    Java EE design principles and capabilities
    •  Common programming model for enterprise developers
    •  Runtime handles application’s infrastructure concerns
    •  Declarative resource references
    •  Scalable (scale-out) component models




6   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
PaaS and Java EE
    Java EE 7: “Making Java EE ready for the cloud”
    •  Enhancements
          –  New Roles for PaaS
          –  Services as first class citizens
          –  Multitenancy
    •  Evolution, not a revolution!




7   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
PaaS Implications on Deployment
    •  Simplified PaaS Application Deployment
         –  Single-click, self-service, “push to cloud”




8   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
PaaS Implications on Deployment
    Services Management
    •  Automatic Service Provisioning and Management
          –  Service Orchestration
                   •  Automatic Service Dependency discovery
                   •  Service Provisioning and Association
          –  Handle operational infrastructure concerns automatically
                   •  Network configuration, HA, Clustering, Load Balancing …
          –  Application and Service deployment versioning




9   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
PaaS Implications on Deployment
     Virtualized runtimes
     •  Scalable virtualized on-demand environment
           –  Support multiple cloud deployment models
                    •  Public, Private, Hybrid
           –  PaaS Provider decoupled from IaaS infrastructure
           –  Multi-tenancy




10   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
PaaS Implications on Deployment
     Scaling and Operations
     •  Automatic Scaling of Services
           –  Scale to application’s needs
           –  User-defined alerts and actions
     •  Control over application hosting environment
           –  Flexibility in choice of application services, framework
           –  Rich service configuration
           –  Shared services
           –  Extensible runtime to allow new Services


11   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Demo
     PaaSing a Java EE Application in the Cloud




     glassfish.org/javaone2011


12   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Conference Planning in the Cloud

Java EE Application

       JSF                                JPA                               Deploy

                                   Services
      EJB                          Metadata
                                                                               <glassfish-services>

                                                                               <service-description init-type="LB" name="ConferencePlanner-lb">

                                                                                   <template id="LBNative"/>

                                                                                   <configurations>

                                                                                      <configuration name="https-port" value="50443"/>

                                                                                      <configuration name="ssl-enabled" value="false"/>

                                                                                      <configuration name="http-port" value="50080"/>

                                                                                   </configurations></service-description>

                                                                               <service-description init-type="JavaEE" name="ConferencePlanner">

                                                                                   <characteristics>

                                                                                      <characteristic name="service-type" value="JavaEE"/>

                                                                                   </characteristics>

                                                                                   <configurations>

                                                                                      <configuration name="max.clustersize" value="4"/>

                                                                                      <configuration name="min.clustersize" value="2"/>

                                                                                   </configurations>

                                                                               </service-description>"
                                                                               . . .

                                                                               </glassfish-services>"



13   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Service Provisioning

                                                                              Load
                                                                             Balancer



                                                 Java EE                    Java EE    ...   Java EE


                                                                            Database



14   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
GlassFish PaaS Runtime Architecture




15   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Service Terminology

     •  Service
     •  ServiceType
           –  Java EE, RDBMS, HTTP Load Balancer etc.
     •  Services – scope and lifecycle
           –  Provisioned Services
                    •  Application scoped
                    •  Shared
           –  External (a priori) services


16   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Specification of Service Metadata

     •  Optional!
           –  When not specified (vanilla EE app archives)
                    •  Orchestration Engine automatically handles discovery of service deps
                    •  Automatic wiring to default Service Templates
           –  Metadata may be specified when:
                    •  Finer grain control of application environment desired
                    •  Application-specific Service configuration




17   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Specification of Service Metadata

     •  Service Definition
           –  Metadata used to provision and configure a Service
                    •  What : Service characteristics (functional and non-functional) →
                       Template matching
                    •  How : Explicit Template specification → Template wiring
     •  Service Reference
           –  An application component’s dependency on a Service
                    •  Explicit : User-specified through deployment descriptors
                    •  Implicit and Discovered: Information contained within the archive


18   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Service Dependency Specification




19   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Sample Service Definition




20   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Sample Service Reference




21   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
GlassFish PaaS Runtime Architecture




22   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
IaaS Management Service (IMS)
     One-liner
        Provide common management interface across different
        virtualization technologies




23   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
IMS




24   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
IMS functionalities
•  Support virtualization definitions
•  Isolates from low level Virtual Machine allocation/interface
  –  Integrates with native solutions through Plug-in/SPI mechanism.
•  Template management
•  ServerPool / Hardware management (depending on the
   virtualization technology).




  25   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Templates
•  A virtual-machine disk
  –  can be duplicated
  –  used to instantiate a virtual-machine.
•  Virtualization Specific
•  Provides 1 to many service types (usually one).
•  Template are customized during the first startup
  –  DAS location
  –  Template parameters like instance name
  –  Customization mechanism is virtualization specific

  26   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
GlassFish PaaS Runtime Architecture




27   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Service Orchestration
     One-liner
         Enable single-click deployment of a PaaS application
        through automatic service dependency discovery,
        service provisioning and service association




28   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Service Dependency Discovery




29   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Service Provisioning




30   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Service Association




31   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
GlassFish PaaS Runtime Architecture




32   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Auto-Scaling
     One-liner
     The ability of a system to automatically adapt to volume of
      traffic without impacting throughput and availability




33   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
What we need
     •  To determine the health of Services in the System
          –  Number of metrics can be used
          –  An arbitrary / complex condition need to be evaluated
          –  Arbitrary actions can be taken


     •  A framework that allows
          –  Ability to define new Metric sources easily (Extensible)
          –  Ability to express complex queries easily
          –  Ability to create new Actions easily


34   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Determining State of Services

     •  Monitor System Resources
           –  CPU
                    •  Used and idle CPU times
           –  Memory
                    •  Process memory: Allocated, Resident etc.
                    •  JVM memory: Used, Committed and Max memory
           –  Disk
                    •  Reads, Writes per seconds
                    •  Bytes read, written etc.



35   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Determining State of Services (Contd.)
          –  Monitor Application Related Objects
                   •  HTTP Sessions created / destroyed per second
                   •  Number of HTTP requests that arrived
                   •  Connection Pools: Number of connections acquired / released etc.
                   •  Database Queries executed
                   •  Transaction status: Number of commits / rollbacks
                   •  Response time of a specific URL

          –  Many, many, many other metrics…



36   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
We have metrics. Now what?
     •  Use relevant metrics to determine health of the services
           –  Such as Java EE Clustered Instances, Clustered DB
     •  Use Trends
           –  Average memory usage above 60% for last 10 min
           –  Avg Response times of 90% of requests in last 10 min below 5ms
     •  Use Combinations
           –  Are both CPU and Memory usages high ?
           –  Is CPU usage of Java EE Cluster and number of queries executed
              on Database within certain limits ?


37   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
What Actions can you take?
     •  Possible Actions
           –  Send email to admin
           –  Log some info
           –  Scale up / Scale down to meet the load
           –  Send a (JMX) notification
           –  And many, many, many more…




38   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Call to Action

     •  Java EE 7 Expert Group Project
           – http://javaee-spec.java.net
     •  Java EE 7 Reference Implementation
           – http://glassfish.org
     •  The Aquarium
           –  http://blogs.oracle.com/theaquarium

39   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
PaaSing a Java EE Application
Arun Gupta, Java EE & GlassFish Guy
blogs.oracle.com/arungupta, @arungupta
40   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
41   Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

Más contenido relacionado

La actualidad más candente

Jfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE ApplicationJfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE Application
Arun Gupta
 
Jfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
Jfokus 2012 : The Java EE 7 Platform: Developing for the CloudJfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
Jfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
Arun Gupta
 

La actualidad más candente (20)

JAX-RS 2.0: What’s New in JSR 339 ?
JAX-RS 2.0: What’s New in JSR 339 ?JAX-RS 2.0: What’s New in JSR 339 ?
JAX-RS 2.0: What’s New in JSR 339 ?
 
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX London
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX LondonJAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX London
JAX-RS 2.0: New and Noteworthy in RESTful Web services API at JAX London
 
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
 
Jfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE ApplicationJfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE Application
 
Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7
 
GlassFish REST Administration Backend
GlassFish REST Administration BackendGlassFish REST Administration Backend
GlassFish REST Administration Backend
 
JAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesJAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web Services
 
Jfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
Jfokus 2012 : The Java EE 7 Platform: Developing for the CloudJfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
Jfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
 
Java Summit Chennai: JAX-RS 2.0
Java Summit Chennai: JAX-RS 2.0Java Summit Chennai: JAX-RS 2.0
Java Summit Chennai: JAX-RS 2.0
 
TDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE ApplicationTDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE Application
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
 
GIDS 2012: PaaSing a Java EE Application
GIDS 2012: PaaSing a Java EE ApplicationGIDS 2012: PaaSing a Java EE Application
GIDS 2012: PaaSing a Java EE Application
 
GIDS 2012: Java Message Service 2.0
GIDS 2012: Java Message Service 2.0GIDS 2012: Java Message Service 2.0
GIDS 2012: Java Message Service 2.0
 
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
 
Java EE Technical Keynote at JavaOne Latin America 2011
Java EE Technical Keynote at JavaOne Latin America 2011Java EE Technical Keynote at JavaOne Latin America 2011
Java EE Technical Keynote at JavaOne Latin America 2011
 
Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the Cloud
 
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the CloudTDC 2011: The Java EE 7 Platform: Developing for the Cloud
TDC 2011: The Java EE 7 Platform: Developing for the Cloud
 
GlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUGGlassFish & Java EE Business Update @ CEJUG
GlassFish & Java EE Business Update @ CEJUG
 
Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011Java EE 7 at JAX London 2011 and JFall 2011
Java EE 7 at JAX London 2011 and JFall 2011
 

Destacado

Developing With JAAS
Developing With JAASDeveloping With JAAS
Developing With JAAS
rahmed_sct
 
SAP_Business_Object_Professional
SAP_Business_Object_ProfessionalSAP_Business_Object_Professional
SAP_Business_Object_Professional
Kapil Verma
 
Static Analysis Primer
Static Analysis PrimerStatic Analysis Primer
Static Analysis Primer
Coverity
 
03 stacks and_queues_using_arrays
03 stacks and_queues_using_arrays03 stacks and_queues_using_arrays
03 stacks and_queues_using_arrays
tameemyousaf
 
A Short Intorduction to JasperReports
A Short Intorduction to JasperReportsA Short Intorduction to JasperReports
A Short Intorduction to JasperReports
Guo Albert
 
Architecture of message oriented middleware
Architecture of message oriented middlewareArchitecture of message oriented middleware
Architecture of message oriented middleware
Likan Patra
 
Transaction processing system
Transaction processing systemTransaction processing system
Transaction processing system
Jayson Jueco
 

Destacado (19)

Developing With JAAS
Developing With JAASDeveloping With JAAS
Developing With JAAS
 
JVM Encryption Boot Camp 0.4.3
JVM Encryption Boot Camp 0.4.3JVM Encryption Boot Camp 0.4.3
JVM Encryption Boot Camp 0.4.3
 
SAP_Business_Object_Professional
SAP_Business_Object_ProfessionalSAP_Business_Object_Professional
SAP_Business_Object_Professional
 
Core & advanced java classes in mumbai
Core & advanced java classes in mumbaiCore & advanced java classes in mumbai
Core & advanced java classes in mumbai
 
The Landbank's Role in Driving Redevelopment, UC DAAP by Chris Recht
The Landbank's Role in Driving Redevelopment, UC DAAP by Chris RechtThe Landbank's Role in Driving Redevelopment, UC DAAP by Chris Recht
The Landbank's Role in Driving Redevelopment, UC DAAP by Chris Recht
 
Global leader in real-time clearing
Global leader in real-time clearingGlobal leader in real-time clearing
Global leader in real-time clearing
 
Learn advanced java programming
Learn advanced java programmingLearn advanced java programming
Learn advanced java programming
 
Static Analysis Primer
Static Analysis PrimerStatic Analysis Primer
Static Analysis Primer
 
03 stacks and_queues_using_arrays
03 stacks and_queues_using_arrays03 stacks and_queues_using_arrays
03 stacks and_queues_using_arrays
 
A Short Intorduction to JasperReports
A Short Intorduction to JasperReportsA Short Intorduction to JasperReports
A Short Intorduction to JasperReports
 
RESTful Web services using JAX-RS
RESTful Web services using JAX-RSRESTful Web services using JAX-RS
RESTful Web services using JAX-RS
 
Introduction to Jasper Reports
Introduction to Jasper ReportsIntroduction to Jasper Reports
Introduction to Jasper Reports
 
Japer Reports
Japer ReportsJaper Reports
Japer Reports
 
Architecture of message oriented middleware
Architecture of message oriented middlewareArchitecture of message oriented middleware
Architecture of message oriented middleware
 
MOM - Message Oriented Middleware
MOM - Message Oriented MiddlewareMOM - Message Oriented Middleware
MOM - Message Oriented Middleware
 
Rest API Security
Rest API SecurityRest API Security
Rest API Security
 
Aranya Low Cost Housing
Aranya Low Cost HousingAranya Low Cost Housing
Aranya Low Cost Housing
 
Transaction processing system
Transaction processing systemTransaction processing system
Transaction processing system
 
Concurrency Errors in Java
Concurrency Errors in JavaConcurrency Errors in Java
Concurrency Errors in Java
 

Similar a PaaSing a Java EE 6 Application at Geecon 2012

Similar a PaaSing a Java EE 6 Application at Geecon 2012 (20)

PaaS enabling Java EE applications through service meta-data and policies - J...
PaaS enabling Java EE applications through service meta-data and policies - J...PaaS enabling Java EE applications through service meta-data and policies - J...
PaaS enabling Java EE applications through service meta-data and policies - J...
 
Paa sing a java ee 6 application kshitiz saxena
Paa sing a java ee 6 application   kshitiz saxenaPaa sing a java ee 6 application   kshitiz saxena
Paa sing a java ee 6 application kshitiz saxena
 
[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현
[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현
[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현
 
Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012
 
WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014WebLogic 12c - OMF Canberra June 2014
WebLogic 12c - OMF Canberra June 2014
 
Java EE for the Cloud
Java EE for the CloudJava EE for the Cloud
Java EE for the Cloud
 
Oracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration ArchitecturesOracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration Architectures
 
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
 
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
 
F428435966 odtug web-logic for developers
F428435966 odtug   web-logic for developersF428435966 odtug   web-logic for developers
F428435966 odtug web-logic for developers
 
Java EE7 in action
Java EE7 in actionJava EE7 in action
Java EE7 in action
 
Latest Innovations in Database as a Service Enabled by Oracle Enterprise Manager
Latest Innovations in Database as a Service Enabled by Oracle Enterprise ManagerLatest Innovations in Database as a Service Enabled by Oracle Enterprise Manager
Latest Innovations in Database as a Service Enabled by Oracle Enterprise Manager
 
TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"
 
40020
4002040020
40020
 
40020
4002040020
40020
 
Java EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersJava EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c Developers
 
Boston 2011 OTN Developer Days - Java EE 6
Boston 2011 OTN Developer Days - Java EE 6Boston 2011 OTN Developer Days - Java EE 6
Boston 2011 OTN Developer Days - Java EE 6
 
JavaOne2015報告会 in Okinawa
JavaOne2015報告会 in OkinawaJavaOne2015報告会 in Okinawa
JavaOne2015報告会 in Okinawa
 
Oracle JET overview
Oracle JET overviewOracle JET overview
Oracle JET overview
 
JavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth SlidesJavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth Slides
 

Más de Arun Gupta

Más de Arun Gupta (20)

5 Skills To Force Multiply Technical Talents.pdf
5 Skills To Force Multiply Technical Talents.pdf5 Skills To Force Multiply Technical Talents.pdf
5 Skills To Force Multiply Technical Talents.pdf
 
Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubernetes - AI Conclave 2019Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubernetes - AI Conclave 2019
 
Machine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and KubernetesMachine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and Kubernetes
 
Secure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using FirecrackerSecure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using Firecracker
 
Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019
 
Why Amazon Cares about Open Source
Why Amazon Cares about Open SourceWhy Amazon Cares about Open Source
Why Amazon Cares about Open Source
 
Machine learning using Kubernetes
Machine learning using KubernetesMachine learning using Kubernetes
Machine learning using Kubernetes
 
Building Cloud Native Applications
Building Cloud Native ApplicationsBuilding Cloud Native Applications
Building Cloud Native Applications
 
Chaos Engineering with Kubernetes
Chaos Engineering with KubernetesChaos Engineering with Kubernetes
Chaos Engineering with Kubernetes
 
How to be a mentor to bring more girls to STEAM
How to be a mentor to bring more girls to STEAMHow to be a mentor to bring more girls to STEAM
How to be a mentor to bring more girls to STEAM
 
Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 Keynote
 
Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018
 
Mastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv SummitMastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv Summit
 
Top 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's LandscapeTop 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's Landscape
 
Container Landscape in 2017
Container Landscape in 2017Container Landscape in 2017
Container Landscape in 2017
 
Java EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShiftJava EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShift
 
Docker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developersDocker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developers
 
Thanks Managers!
Thanks Managers!Thanks Managers!
Thanks Managers!
 
Migrate your traditional VM-based Clusters to Containers
Migrate your traditional VM-based Clusters to ContainersMigrate your traditional VM-based Clusters to Containers
Migrate your traditional VM-based Clusters to Containers
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

PaaSing a Java EE 6 Application at Geecon 2012

  • 1. PaaSing a Java EE Application Arun Gupta, Java EE & GlassFish Guy blogs.oracle.com/arungupta, @arungupta 1 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 2. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle. 2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 3. Cloud Computing Essential Characteristics •  On-demand Self-Service •  Broad network access •  Resource Pooling •  Rapid Elasticity •  Measured Service (*) NIST Definition of Cloud Computing – 800-145 3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 4. Cloud Computing Deployment Models •  Private Cloud –  Operated solely for an organization –  On-premise or off-premise •  Community Cloud •  Public Cloud –  Access to general public •  Hybrid Cloud –  2 or more clouds, Cloud Bursting (*) NIST Definition of Cloud Computing – 800-145 4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 5. Cloud Computing Service Models •  Software as a Service (SaaS) •  Platform as a Service (PaaS) –  Deploy customer-created applications –  Using languages and tools supported by PaaS Provider –  No control of underlying cloud infrastructure –  Control over deployed applications, hosting env. Configurations •  Infrastructure as a Service (IaaS) (*) NIST Definition of Cloud Computing – 800-145 5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 6. PaaS and Java EE Java EE design principles and capabilities •  Common programming model for enterprise developers •  Runtime handles application’s infrastructure concerns •  Declarative resource references •  Scalable (scale-out) component models 6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 7. PaaS and Java EE Java EE 7: “Making Java EE ready for the cloud” •  Enhancements –  New Roles for PaaS –  Services as first class citizens –  Multitenancy •  Evolution, not a revolution! 7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 8. PaaS Implications on Deployment •  Simplified PaaS Application Deployment –  Single-click, self-service, “push to cloud” 8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 9. PaaS Implications on Deployment Services Management •  Automatic Service Provisioning and Management –  Service Orchestration •  Automatic Service Dependency discovery •  Service Provisioning and Association –  Handle operational infrastructure concerns automatically •  Network configuration, HA, Clustering, Load Balancing … –  Application and Service deployment versioning 9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 10. PaaS Implications on Deployment Virtualized runtimes •  Scalable virtualized on-demand environment –  Support multiple cloud deployment models •  Public, Private, Hybrid –  PaaS Provider decoupled from IaaS infrastructure –  Multi-tenancy 10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 11. PaaS Implications on Deployment Scaling and Operations •  Automatic Scaling of Services –  Scale to application’s needs –  User-defined alerts and actions •  Control over application hosting environment –  Flexibility in choice of application services, framework –  Rich service configuration –  Shared services –  Extensible runtime to allow new Services 11 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 12. Demo PaaSing a Java EE Application in the Cloud glassfish.org/javaone2011 12 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 13. Conference Planning in the Cloud Java EE Application JSF JPA Deploy Services EJB Metadata <glassfish-services>
 <service-description init-type="LB" name="ConferencePlanner-lb">
 <template id="LBNative"/>
 <configurations>
 <configuration name="https-port" value="50443"/>
 <configuration name="ssl-enabled" value="false"/>
 <configuration name="http-port" value="50080"/>
 </configurations></service-description>
 <service-description init-type="JavaEE" name="ConferencePlanner">
 <characteristics>
 <characteristic name="service-type" value="JavaEE"/>
 </characteristics>
 <configurations>
 <configuration name="max.clustersize" value="4"/>
 <configuration name="min.clustersize" value="2"/>
 </configurations>
 </service-description>" . . .
 </glassfish-services>" 13 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 14. Service Provisioning Load Balancer Java EE Java EE ... Java EE Database 14 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 15. GlassFish PaaS Runtime Architecture 15 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 16. Service Terminology •  Service •  ServiceType –  Java EE, RDBMS, HTTP Load Balancer etc. •  Services – scope and lifecycle –  Provisioned Services •  Application scoped •  Shared –  External (a priori) services 16 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 17. Specification of Service Metadata •  Optional! –  When not specified (vanilla EE app archives) •  Orchestration Engine automatically handles discovery of service deps •  Automatic wiring to default Service Templates –  Metadata may be specified when: •  Finer grain control of application environment desired •  Application-specific Service configuration 17 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 18. Specification of Service Metadata •  Service Definition –  Metadata used to provision and configure a Service •  What : Service characteristics (functional and non-functional) → Template matching •  How : Explicit Template specification → Template wiring •  Service Reference –  An application component’s dependency on a Service •  Explicit : User-specified through deployment descriptors •  Implicit and Discovered: Information contained within the archive 18 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 19. Service Dependency Specification 19 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 20. Sample Service Definition 20 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 21. Sample Service Reference 21 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 22. GlassFish PaaS Runtime Architecture 22 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 23. IaaS Management Service (IMS) One-liner Provide common management interface across different virtualization technologies 23 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 24. IMS 24 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 25. IMS functionalities •  Support virtualization definitions •  Isolates from low level Virtual Machine allocation/interface –  Integrates with native solutions through Plug-in/SPI mechanism. •  Template management •  ServerPool / Hardware management (depending on the virtualization technology). 25 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 26. Templates •  A virtual-machine disk –  can be duplicated –  used to instantiate a virtual-machine. •  Virtualization Specific •  Provides 1 to many service types (usually one). •  Template are customized during the first startup –  DAS location –  Template parameters like instance name –  Customization mechanism is virtualization specific 26 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 27. GlassFish PaaS Runtime Architecture 27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 28. Service Orchestration One-liner Enable single-click deployment of a PaaS application through automatic service dependency discovery, service provisioning and service association 28 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 29. Service Dependency Discovery 29 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 30. Service Provisioning 30 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 31. Service Association 31 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 32. GlassFish PaaS Runtime Architecture 32 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 33. Auto-Scaling One-liner The ability of a system to automatically adapt to volume of traffic without impacting throughput and availability 33 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 34. What we need •  To determine the health of Services in the System –  Number of metrics can be used –  An arbitrary / complex condition need to be evaluated –  Arbitrary actions can be taken •  A framework that allows –  Ability to define new Metric sources easily (Extensible) –  Ability to express complex queries easily –  Ability to create new Actions easily 34 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 35. Determining State of Services •  Monitor System Resources –  CPU •  Used and idle CPU times –  Memory •  Process memory: Allocated, Resident etc. •  JVM memory: Used, Committed and Max memory –  Disk •  Reads, Writes per seconds •  Bytes read, written etc. 35 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 36. Determining State of Services (Contd.) –  Monitor Application Related Objects •  HTTP Sessions created / destroyed per second •  Number of HTTP requests that arrived •  Connection Pools: Number of connections acquired / released etc. •  Database Queries executed •  Transaction status: Number of commits / rollbacks •  Response time of a specific URL –  Many, many, many other metrics… 36 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 37. We have metrics. Now what? •  Use relevant metrics to determine health of the services –  Such as Java EE Clustered Instances, Clustered DB •  Use Trends –  Average memory usage above 60% for last 10 min –  Avg Response times of 90% of requests in last 10 min below 5ms •  Use Combinations –  Are both CPU and Memory usages high ? –  Is CPU usage of Java EE Cluster and number of queries executed on Database within certain limits ? 37 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 38. What Actions can you take? •  Possible Actions –  Send email to admin –  Log some info –  Scale up / Scale down to meet the load –  Send a (JMX) notification –  And many, many, many more… 38 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 39. Call to Action •  Java EE 7 Expert Group Project – http://javaee-spec.java.net •  Java EE 7 Reference Implementation – http://glassfish.org •  The Aquarium –  http://blogs.oracle.com/theaquarium 39 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 40. PaaSing a Java EE Application Arun Gupta, Java EE & GlassFish Guy blogs.oracle.com/arungupta, @arungupta 40 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 41. 41 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.