SlideShare une entreprise Scribd logo
1  sur  57
Télécharger pour lire hors ligne
PaaSing a JavaEE 6 Application
                        Kshitiz Saxena




                                         LOGO
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.
Program Agenda
•   Cloud Computing
•   PaaS and Java EE
•   PaaS implications on application deployment
•   Design Model
•   IMS
•   Service Orchestration
•   Auto-Scaling
•   Resources
Cloud Computing
What’s new?
• Illusion of infinite computing resources available on
  demand
• Elimination of an up-front commitment by cloud users
• Ability to pay for use of computing resources on a short-
  term basis


                           (+) Above the Clouds, Armbrust et al, UC Berkeley, 2009
Cloud Computing
Essential Characteristics
•   On-demand Self-Service
•   Broad network access
•   Resource Pooling
•   Rapid Elasticity
•   Measured Service


                             (*) NIST Definition of Cloud Computing – 800-145
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
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
Program Agenda

•   Cloud Computing
•   PaaS and Java EE
•   PaaS implications on application deployment
•   Design Model
•   IMS
•   Service Orchestration
•   Auto-Scaling
•   Resources
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
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!
New PaaS Roles in Java EE 7

•   PaaS Product Vendor
•   PaaS Provider
•   PaaS Account Manager
•   PaaS Customer
•   Application Submitter
•   Application Administrator
•   End-User
Java EE 7 Roles in a PaaS scenario
Program Agenda

•   Cloud Computing
•   PaaS and Java EE
•   PaaS implications on application deployment
•   Design Model
•   IMS
•   Service Orchestration
•   Auto-Scaling
•   Resources
PaaS Implications on Deployment
• Simplified PaaS Application Deployment
  – Single-click, self-service, “push to cloud”
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
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
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
A sample application stack
Traditional Java EE Application Deployment
Java EE PaaS Application Deployment
Program Agenda
•   Cloud Computing
•   PaaS and Java EE
•   PaaS implications on application deployment
•   Design Model
•   IMS
•   Service Orchestration
•   Auto-Scaling
•   Resources
Terminology

• Service
• ServiceType
  – Java EE, RDBMS, HTTP Load Balancer etc.
• Services – scope and lifecycle
  – Provisioned Services
    • Application scoped
    • Shared
  – External (a priori ) services
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
Design Model
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
Service Dependency Specification
Sample Service Definition
Sample Service Reference
GlassFish PaaS Runtime Architecture
Service Orchestration Flow
Demo
PaaSing a Java EE Application in the Cloud
Conference Planning in the Cloud




                 <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>
PaaS Deployment for Demo
Program Agenda

•   Cloud Computing
•   PaaS and Java EE
•   PaaS implications on application deployment
•   Design Model
•   IMS
•   Service Orchestration
•   Auto-Scaling
•   Resources
GlassFish PaaS Runtime Architecture
IMS
One-liner
 Provide common management interface across different
 virtualization technologies
IMS
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).
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
Program Agenda

•   Cloud Computing
•   PaaS and Java EE
•   PaaS implications on application deployment
•   Design Model
•   IMS
•   Service Orchestration
•   Auto-Scaling
•   Resources
GlassFish PaaS Runtime Architecture
Service Orchestration
One-liner
 Enable single-click deployment of a PaaS application
 through automatic service dependency discovery,
 service provisioning and service association
Service Dependency Discovery
Service Provisioning
Service Association
Program Agenda

•   Cloud Computing
•   PaaS and Java EE
•   PaaS implications on application deployment
•   Design Model
•   IMS
•   Service Orchestration
•   Auto-Scaling
•   Resources
GlassFish PaaS Runtime Architecture
Auto-Scaling
One-liner
The ability of a system to automatically adapt to volume of
 traffic without impacting throughput and availability
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`
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.
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…
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 ?
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…
Program Agenda

•   Cloud Computing
•   PaaS and Java EE
•   PaaS implications on application deployment
•   Design Model
•   Service Orchestration
•   Auto-Scaling
•   IMS
•   Resources
Resources
For more information
• GlassFish 4.0 http://download.java.net/glassfish/4.0/promoted/
  – Spec http://bit.ly/sAZtEL
  – Java EE 7 keynote demo http://bit.ly/q9T7Z2
• Java EE 7 http://jcp.org//en/jsr/detail?id=342
   – PaaS Model http://bit.ly/o3XZIP
• Above the Clouds: A Berkeley View of Cloud Computing
  http://bit.ly/15MEL0
• The NIST Definition of Cloud Computing -- Special Publication 800-
  145 http://1.usa.gov/ohXnlM
Q&A
PaaSing a JavaEE 6 Application
                             Kshitiz Saxena




Conference Session - 25360                    LOGO

Contenu connexe

Tendances

Selecting a SQL Server Cloud Platform - IaaS, Amazon RDS or Azure SQL DB?
Selecting a SQL Server Cloud Platform - IaaS, Amazon RDS or Azure SQL DB?Selecting a SQL Server Cloud Platform - IaaS, Amazon RDS or Azure SQL DB?
Selecting a SQL Server Cloud Platform - IaaS, Amazon RDS or Azure SQL DB?Christopher Foot
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point appTalbott Crowell
 
Delivering Schema as a Service
Delivering Schema as a ServiceDelivering Schema as a Service
Delivering Schema as a ServicePete Sharman
 
Azure SQL Database Introduction by Tim Radney
Azure SQL Database Introduction by Tim RadneyAzure SQL Database Introduction by Tim Radney
Azure SQL Database Introduction by Tim RadneyHasan Savran
 
Enterprise Soa Concept
Enterprise Soa ConceptEnterprise Soa Concept
Enterprise Soa ConceptTerry Cho
 
Ultimate SharePoint 2013 Infrastructure Best Practices Session - SPKSLO 2012
Ultimate SharePoint 2013 Infrastructure Best Practices Session - SPKSLO 2012Ultimate SharePoint 2013 Infrastructure Best Practices Session - SPKSLO 2012
Ultimate SharePoint 2013 Infrastructure Best Practices Session - SPKSLO 2012Michael Noel
 
Sp2010 high availlability
Sp2010 high availlabilitySp2010 high availlability
Sp2010 high availlabilitySamuel Zürcher
 
Using Snap Clone with Enterprise Manager 12c
Using Snap Clone with Enterprise Manager 12cUsing Snap Clone with Enterprise Manager 12c
Using Snap Clone with Enterprise Manager 12cPete Sharman
 
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Events
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended EventsSQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Events
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Eventssqlserver.co.il
 
Sp2010 high availlability_sql
Sp2010 high availlability_sqlSp2010 high availlability_sql
Sp2010 high availlability_sqlSamuel Zürcher
 
ESB Evaluation Framework
ESB Evaluation FrameworkESB Evaluation Framework
ESB Evaluation FrameworkWSO2
 
Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIWSO2
 
Introduction to Azure SQL DB
Introduction to Azure SQL DBIntroduction to Azure SQL DB
Introduction to Azure SQL DBChristopher Foot
 
AzureSQL Managed Instance (SQLKonferenz 2018)
AzureSQL Managed Instance (SQLKonferenz 2018)AzureSQL Managed Instance (SQLKonferenz 2018)
AzureSQL Managed Instance (SQLKonferenz 2018)Jovan Popovic
 
SQL Server Reporting Services Disaster Recovery Webinar
SQL Server Reporting Services Disaster Recovery WebinarSQL Server Reporting Services Disaster Recovery Webinar
SQL Server Reporting Services Disaster Recovery WebinarDenny Lee
 
Oracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance TuningOracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance TuningBrian Huff
 
Azure SQL Database Managed Instance - technical overview
Azure SQL Database Managed Instance - technical overviewAzure SQL Database Managed Instance - technical overview
Azure SQL Database Managed Instance - technical overviewGeorge Walters
 

Tendances (20)

Selecting a SQL Server Cloud Platform - IaaS, Amazon RDS or Azure SQL DB?
Selecting a SQL Server Cloud Platform - IaaS, Amazon RDS or Azure SQL DB?Selecting a SQL Server Cloud Platform - IaaS, Amazon RDS or Azure SQL DB?
Selecting a SQL Server Cloud Platform - IaaS, Amazon RDS or Azure SQL DB?
 
SharePoint 2013 - What's New
SharePoint 2013 - What's NewSharePoint 2013 - What's New
SharePoint 2013 - What's New
 
Developing a provider hosted share point app
Developing a provider hosted share point appDeveloping a provider hosted share point app
Developing a provider hosted share point app
 
Delivering Schema as a Service
Delivering Schema as a ServiceDelivering Schema as a Service
Delivering Schema as a Service
 
Azure SQL Database Introduction by Tim Radney
Azure SQL Database Introduction by Tim RadneyAzure SQL Database Introduction by Tim Radney
Azure SQL Database Introduction by Tim Radney
 
Enterprise Soa Concept
Enterprise Soa ConceptEnterprise Soa Concept
Enterprise Soa Concept
 
Ultimate SharePoint 2013 Infrastructure Best Practices Session - SPKSLO 2012
Ultimate SharePoint 2013 Infrastructure Best Practices Session - SPKSLO 2012Ultimate SharePoint 2013 Infrastructure Best Practices Session - SPKSLO 2012
Ultimate SharePoint 2013 Infrastructure Best Practices Session - SPKSLO 2012
 
Sp2010 high availlability
Sp2010 high availlabilitySp2010 high availlability
Sp2010 high availlability
 
Using Snap Clone with Enterprise Manager 12c
Using Snap Clone with Enterprise Manager 12cUsing Snap Clone with Enterprise Manager 12c
Using Snap Clone with Enterprise Manager 12c
 
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Events
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended EventsSQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Events
SQL Explore 2012 - Tzahi Hakikat and Keren Bartal: Extended Events
 
Sp2010 high availlability_sql
Sp2010 high availlability_sqlSp2010 high availlability_sql
Sp2010 high availlability_sql
 
ESB Evaluation Framework
ESB Evaluation FrameworkESB Evaluation Framework
ESB Evaluation Framework
 
Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EI
 
The Age of Network Operations Management in Software Defined Data Centers
The Age of Network Operations Management in Software Defined Data CentersThe Age of Network Operations Management in Software Defined Data Centers
The Age of Network Operations Management in Software Defined Data Centers
 
Introduction to Azure SQL DB
Introduction to Azure SQL DBIntroduction to Azure SQL DB
Introduction to Azure SQL DB
 
Managing the cloud
Managing the cloudManaging the cloud
Managing the cloud
 
AzureSQL Managed Instance (SQLKonferenz 2018)
AzureSQL Managed Instance (SQLKonferenz 2018)AzureSQL Managed Instance (SQLKonferenz 2018)
AzureSQL Managed Instance (SQLKonferenz 2018)
 
SQL Server Reporting Services Disaster Recovery Webinar
SQL Server Reporting Services Disaster Recovery WebinarSQL Server Reporting Services Disaster Recovery Webinar
SQL Server Reporting Services Disaster Recovery Webinar
 
Oracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance TuningOracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance Tuning
 
Azure SQL Database Managed Instance - technical overview
Azure SQL Database Managed Instance - technical overviewAzure SQL Database Managed Instance - technical overview
Azure SQL Database Managed Instance - technical overview
 

Similaire à Deploying Java Apps in PaaS

Introduction to PaaS
Introduction to PaaSIntroduction to PaaS
Introduction to PaaSChris Haddad
 
Services Saas,Pass,Iaas
Services Saas,Pass,IaasServices Saas,Pass,Iaas
Services Saas,Pass,IaasSofiya81
 
Basics of Java Cloud
Basics of Java CloudBasics of Java Cloud
Basics of Java CloudAnkur Gupta
 
Where to Begin? Application Portfolio Migration
Where to Begin? Application Portfolio MigrationWhere to Begin? Application Portfolio Migration
Where to Begin? Application Portfolio MigrationAmazon Web Services
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithMarkus Eisele
 
Chapter 2 Service Model
Chapter 2 Service ModelChapter 2 Service Model
Chapter 2 Service Modelnewbie2019
 
Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017 Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017 Amazon Web Services
 
Building a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosBuilding a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosWSO2
 
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...Ram G Athreya
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing MicroservicesDavid Chou
 
Stream Analytics in the Enterprise
Stream Analytics in the EnterpriseStream Analytics in the Enterprise
Stream Analytics in the EnterpriseJesus Rodriguez
 
Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps ...
Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps ...Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps ...
Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps ...WSO2
 
Cnam azure ze cloud resource manager
Cnam azure ze cloud  resource managerCnam azure ze cloud  resource manager
Cnam azure ze cloud resource managerAymeric Weinbach
 
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...VMware Tanzu
 
(ENT306) Application Portfolio Migration | AWS re:Invent 2014
(ENT306) Application Portfolio Migration | AWS re:Invent 2014(ENT306) Application Portfolio Migration | AWS re:Invent 2014
(ENT306) Application Portfolio Migration | AWS re:Invent 2014Amazon Web Services
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud ComputingDavid Wallom
 

Similaire à Deploying Java Apps in PaaS (20)

Introduction to PaaS
Introduction to PaaSIntroduction to PaaS
Introduction to PaaS
 
Azure App Service Deep Dive
Azure App Service Deep DiveAzure App Service Deep Dive
Azure App Service Deep Dive
 
Services Saas,Pass,Iaas
Services Saas,Pass,IaasServices Saas,Pass,Iaas
Services Saas,Pass,Iaas
 
Coud discovery chap 3
Coud discovery chap 3Coud discovery chap 3
Coud discovery chap 3
 
Basics of Java Cloud
Basics of Java CloudBasics of Java Cloud
Basics of Java Cloud
 
Where to Begin? Application Portfolio Migration
Where to Begin? Application Portfolio MigrationWhere to Begin? Application Portfolio Migration
Where to Begin? Application Portfolio Migration
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
 
Chapter 2 Service Model
Chapter 2 Service ModelChapter 2 Service Model
Chapter 2 Service Model
 
SaaS External Presentation
SaaS External PresentationSaaS External Presentation
SaaS External Presentation
 
Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017 Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017
 
Building a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosBuilding a SaaS using WSO2 Stratos
Building a SaaS using WSO2 Stratos
 
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
Stream Analytics in the Enterprise
Stream Analytics in the EnterpriseStream Analytics in the Enterprise
Stream Analytics in the Enterprise
 
Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps ...
Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps ...Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps ...
Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps ...
 
Cloud presentation NELA
Cloud presentation NELACloud presentation NELA
Cloud presentation NELA
 
Cnam azure ze cloud resource manager
Cnam azure ze cloud  resource managerCnam azure ze cloud  resource manager
Cnam azure ze cloud resource manager
 
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
 
(ENT306) Application Portfolio Migration | AWS re:Invent 2014
(ENT306) Application Portfolio Migration | AWS re:Invent 2014(ENT306) Application Portfolio Migration | AWS re:Invent 2014
(ENT306) Application Portfolio Migration | AWS re:Invent 2014
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 

Plus de IndicThreads

Http2 is here! And why the web needs it
Http2 is here! And why the web needs itHttp2 is here! And why the web needs it
Http2 is here! And why the web needs itIndicThreads
 
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive ApplicationsUnderstanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive ApplicationsIndicThreads
 
Go Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang wayGo Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang wayIndicThreads
 
Building Resilient Microservices
Building Resilient Microservices Building Resilient Microservices
Building Resilient Microservices IndicThreads
 
App using golang indicthreads
App using golang  indicthreadsApp using golang  indicthreads
App using golang indicthreadsIndicThreads
 
Building on quicksand microservices indicthreads
Building on quicksand microservices  indicthreadsBuilding on quicksand microservices  indicthreads
Building on quicksand microservices indicthreadsIndicThreads
 
How to Think in RxJava Before Reacting
How to Think in RxJava Before ReactingHow to Think in RxJava Before Reacting
How to Think in RxJava Before ReactingIndicThreads
 
Iot secure connected devices indicthreads
Iot secure connected devices indicthreadsIot secure connected devices indicthreads
Iot secure connected devices indicthreadsIndicThreads
 
Real world IoT for enterprises
Real world IoT for enterprisesReal world IoT for enterprises
Real world IoT for enterprisesIndicThreads
 
IoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreadsIoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreadsIndicThreads
 
Functional Programming Past Present Future
Functional Programming Past Present FutureFunctional Programming Past Present Future
Functional Programming Past Present FutureIndicThreads
 
Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams IndicThreads
 
Building & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fameBuilding & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fameIndicThreads
 
Internet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads ConferenceInternet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads ConferenceIndicThreads
 
Cars and Computers: Building a Java Carputer
 Cars and Computers: Building a Java Carputer Cars and Computers: Building a Java Carputer
Cars and Computers: Building a Java CarputerIndicThreads
 
Scrap Your MapReduce - Apache Spark
 Scrap Your MapReduce - Apache Spark Scrap Your MapReduce - Apache Spark
Scrap Your MapReduce - Apache SparkIndicThreads
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & DockerIndicThreads
 
Speed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedbackSpeed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedbackIndicThreads
 
Unraveling OpenStack Clouds
 Unraveling OpenStack Clouds Unraveling OpenStack Clouds
Unraveling OpenStack CloudsIndicThreads
 
Digital Transformation of the Enterprise. What IT leaders need to know!
Digital Transformation of the Enterprise. What IT  leaders need to know!Digital Transformation of the Enterprise. What IT  leaders need to know!
Digital Transformation of the Enterprise. What IT leaders need to know!IndicThreads
 

Plus de IndicThreads (20)

Http2 is here! And why the web needs it
Http2 is here! And why the web needs itHttp2 is here! And why the web needs it
Http2 is here! And why the web needs it
 
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive ApplicationsUnderstanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
 
Go Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang wayGo Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang way
 
Building Resilient Microservices
Building Resilient Microservices Building Resilient Microservices
Building Resilient Microservices
 
App using golang indicthreads
App using golang  indicthreadsApp using golang  indicthreads
App using golang indicthreads
 
Building on quicksand microservices indicthreads
Building on quicksand microservices  indicthreadsBuilding on quicksand microservices  indicthreads
Building on quicksand microservices indicthreads
 
How to Think in RxJava Before Reacting
How to Think in RxJava Before ReactingHow to Think in RxJava Before Reacting
How to Think in RxJava Before Reacting
 
Iot secure connected devices indicthreads
Iot secure connected devices indicthreadsIot secure connected devices indicthreads
Iot secure connected devices indicthreads
 
Real world IoT for enterprises
Real world IoT for enterprisesReal world IoT for enterprises
Real world IoT for enterprises
 
IoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreadsIoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreads
 
Functional Programming Past Present Future
Functional Programming Past Present FutureFunctional Programming Past Present Future
Functional Programming Past Present Future
 
Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams
 
Building & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fameBuilding & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fame
 
Internet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads ConferenceInternet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads Conference
 
Cars and Computers: Building a Java Carputer
 Cars and Computers: Building a Java Carputer Cars and Computers: Building a Java Carputer
Cars and Computers: Building a Java Carputer
 
Scrap Your MapReduce - Apache Spark
 Scrap Your MapReduce - Apache Spark Scrap Your MapReduce - Apache Spark
Scrap Your MapReduce - Apache Spark
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 
Speed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedbackSpeed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedback
 
Unraveling OpenStack Clouds
 Unraveling OpenStack Clouds Unraveling OpenStack Clouds
Unraveling OpenStack Clouds
 
Digital Transformation of the Enterprise. What IT leaders need to know!
Digital Transformation of the Enterprise. What IT  leaders need to know!Digital Transformation of the Enterprise. What IT  leaders need to know!
Digital Transformation of the Enterprise. What IT leaders need to know!
 

Dernier

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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
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
 
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 Processorsdebabhi2
 

Dernier (20)

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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
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
 
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
 

Deploying Java Apps in PaaS

  • 1. PaaSing a JavaEE 6 Application Kshitiz Saxena LOGO
  • 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.
  • 3. Program Agenda • Cloud Computing • PaaS and Java EE • PaaS implications on application deployment • Design Model • IMS • Service Orchestration • Auto-Scaling • Resources
  • 4. Cloud Computing What’s new? • Illusion of infinite computing resources available on demand • Elimination of an up-front commitment by cloud users • Ability to pay for use of computing resources on a short- term basis (+) Above the Clouds, Armbrust et al, UC Berkeley, 2009
  • 5. Cloud Computing Essential Characteristics • On-demand Self-Service • Broad network access • Resource Pooling • Rapid Elasticity • Measured Service (*) NIST Definition of Cloud Computing – 800-145
  • 6. 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
  • 7. 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
  • 8. Program Agenda • Cloud Computing • PaaS and Java EE • PaaS implications on application deployment • Design Model • IMS • Service Orchestration • Auto-Scaling • Resources
  • 9. 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
  • 10. 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!
  • 11. New PaaS Roles in Java EE 7 • PaaS Product Vendor • PaaS Provider • PaaS Account Manager • PaaS Customer • Application Submitter • Application Administrator • End-User
  • 12. Java EE 7 Roles in a PaaS scenario
  • 13. Program Agenda • Cloud Computing • PaaS and Java EE • PaaS implications on application deployment • Design Model • IMS • Service Orchestration • Auto-Scaling • Resources
  • 14. PaaS Implications on Deployment • Simplified PaaS Application Deployment – Single-click, self-service, “push to cloud”
  • 15. 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
  • 16. 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
  • 17. 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
  • 19. Traditional Java EE Application Deployment
  • 20. Java EE PaaS Application Deployment
  • 21. Program Agenda • Cloud Computing • PaaS and Java EE • PaaS implications on application deployment • Design Model • IMS • Service Orchestration • Auto-Scaling • Resources
  • 22. Terminology • Service • ServiceType – Java EE, RDBMS, HTTP Load Balancer etc. • Services – scope and lifecycle – Provisioned Services • Application scoped • Shared – External (a priori ) services
  • 23. 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
  • 25. 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
  • 29. GlassFish PaaS Runtime Architecture
  • 31. Demo PaaSing a Java EE Application in the Cloud
  • 32. Conference Planning in the Cloud <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>
  • 34. Program Agenda • Cloud Computing • PaaS and Java EE • PaaS implications on application deployment • Design Model • IMS • Service Orchestration • Auto-Scaling • Resources
  • 35. GlassFish PaaS Runtime Architecture
  • 36. IMS One-liner Provide common management interface across different virtualization technologies
  • 37. IMS
  • 38. 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).
  • 39. 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
  • 40. Program Agenda • Cloud Computing • PaaS and Java EE • PaaS implications on application deployment • Design Model • IMS • Service Orchestration • Auto-Scaling • Resources
  • 41. GlassFish PaaS Runtime Architecture
  • 42. Service Orchestration One-liner Enable single-click deployment of a PaaS application through automatic service dependency discovery, service provisioning and service association
  • 46. Program Agenda • Cloud Computing • PaaS and Java EE • PaaS implications on application deployment • Design Model • IMS • Service Orchestration • Auto-Scaling • Resources
  • 47. GlassFish PaaS Runtime Architecture
  • 48. Auto-Scaling One-liner The ability of a system to automatically adapt to volume of traffic without impacting throughput and availability
  • 49. 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`
  • 50. 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.
  • 51. 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…
  • 52. 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 ?
  • 53. 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…
  • 54. Program Agenda • Cloud Computing • PaaS and Java EE • PaaS implications on application deployment • Design Model • Service Orchestration • Auto-Scaling • IMS • Resources
  • 55. Resources For more information • GlassFish 4.0 http://download.java.net/glassfish/4.0/promoted/ – Spec http://bit.ly/sAZtEL – Java EE 7 keynote demo http://bit.ly/q9T7Z2 • Java EE 7 http://jcp.org//en/jsr/detail?id=342 – PaaS Model http://bit.ly/o3XZIP • Above the Clouds: A Berkeley View of Cloud Computing http://bit.ly/15MEL0 • The NIST Definition of Cloud Computing -- Special Publication 800- 145 http://1.usa.gov/ohXnlM
  • 56. Q&A
  • 57. PaaSing a JavaEE 6 Application Kshitiz Saxena Conference Session - 25360 LOGO