Professional Documents
Culture Documents
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 Oracles 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
Whats 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 shortterm basis
Cloud Computing
Essential Characteristics
On-demand Self-Service Broad network access Resource Pooling Rapid Elasticity Measured Service
Cloud Computing
Deployment Models
Private Cloud
Operated solely for an organization On-premise or off-premise
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
Program Agenda
Cloud Computing PaaS and Java EE PaaS implications on application deployment Design Model IMS Service Orchestration Auto-Scaling Resources
Program Agenda
Cloud Computing PaaS and Java EE PaaS implications on application deployment Design Model IMS Service Orchestration Auto-Scaling Resources
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.
Design Model
Service Reference
An application components dependency on a Service
Explicit : User-specified through deployment descriptors Implicit and Discovered: Information contained within the archive
Demo
PaaSing a Java EE Application 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>
Program Agenda
Cloud Computing PaaS and Java EE PaaS implications on application deployment Design Model IMS Service Orchestration Auto-Scaling Resources
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.
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
Service Orchestration
One-liner
Enable single-click deployment of a PaaS application through automatic service dependency discovery, service provisioning and service association
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
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
Memory
Process memory: Allocated, Resident etc. JVM memory: Used, Committed and Max memory
Disk
Reads, Writes per seconds Bytes read, written etc.
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 ?
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 800145 http://1.usa.gov/ohXnlM
Q&A
LOGO