SlideShare ist ein Scribd-Unternehmen logo
1 von 57
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
Michael Noel
 
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
sqlserver.co.il
 
Sp2010 high availlability_sql
Sp2010 high availlability_sqlSp2010 high availlability_sql
Sp2010 high availlability_sql
Samuel Zürcher
 
ESB Evaluation Framework
ESB Evaluation FrameworkESB Evaluation Framework
ESB Evaluation Framework
WSO2
 
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
WSO2
 

Was ist angesagt? (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
 

Ähnlich wie Paa sing a java ee 6 application kshitiz saxena

Introduction to PaaS
Introduction to PaaSIntroduction to PaaS
Introduction to PaaS
Chris Haddad
 
Building a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosBuilding a SaaS using WSO2 Stratos
Building a SaaS using WSO2 Stratos
WSO2
 
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
 

Ähnlich wie Paa sing a java ee 6 application kshitiz saxena (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
 

Mehr von IndicThreads

Scrap Your MapReduce - Apache Spark
 Scrap Your MapReduce - Apache Spark Scrap Your MapReduce - Apache Spark
Scrap Your MapReduce - Apache Spark
IndicThreads
 
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
IndicThreads
 
Unraveling OpenStack Clouds
 Unraveling OpenStack Clouds Unraveling OpenStack Clouds
Unraveling OpenStack Clouds
IndicThreads
 

Mehr von 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!
 

Kürzlich hochgeladen

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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+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@
 

Kürzlich hochgeladen (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
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
 
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...
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
"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 ...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 

Paa sing a java ee 6 application kshitiz saxena

  • 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