SlideShare a Scribd company logo
<Insert Picture Here>




Running your Java EE 6 Applications in the Cloud
Arun Gupta, Java EE & GlassFish Guy
blogs.sun.com/arungupta, @arungupta
The following/preceding is intended to outline our
general product direction. It is intended for
information purposes only, and may not be
incorporated into any contract. It is not a
commitment to deliver any material, code, or
functionality, and should not be relied upon in
making purchasing decisions.
The development, release, and timing of any
features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.



                                                     2
Agenda

•   Introduction to Java EE 6
•   Java EE 6 on Amazon
•   Java EE 6 on RightScale
•   Java EE 6 on Elastra
•   Java EE 6 on Joyent
•   Multi-cloud Vendor Comparison
•   Evolving Java EE for Cloud
•   Conclusions

                                    3
Brief Introduction to Java EE 6

●
    Light-weight
    ●
        Java EE 6 Web Profile, Pruning
●
    Extensible
    ●
        Embrace open-source frameworks using web fragments
●
    Easy-to-use
    ●
        CDI, Bean Validation, JAX-RS
    ●
        JPA 2, JSF 2, Servlets 3, EJB 3.1
    ●
        Annotations-based, Optional “web.xml”/”faces-config.xml”,
        EJB-in-WAR, ...



                                                                    4
Java EE 6 Demo


                 5
Oracle's definition of Cloud Computing

●
    Virtualized elastic platform for applications
    ●
        Standards-based application development/execution platform
    ●
        Includes hardware and software
    ●
        Virtualized and Elastic
    ●
        Runs a wide variety of applications
    ●
        On both public and private clouds
●
    Exalogic Elastic Compute Cloud (Cloud in a Box)
    ●
        Hardware and Software engineered to work together
    ●
        30 compute servers, 360 cores, 40 GB/sec Infiniband
    ●
        Servers, Network, Storage, VM, Operating System,
        Middleware, Develop/Run all applications

                                                                6
Based upon
research work ...

                    7
What is Amazon ?


•   Boot server instances, scale up/down, pay-per-use
•   EC2: Compute capacity in the cloud
•   S3: Storage capacity in the cloud (1b → 5 GB)
•   RRS (reduced redundancy), RDS (database), FWS
    (fulfillment), SQS (queue), SNS (notification),
    CloudWatch (monitoring), FPS (payment), VPC
    (private cloud), EBS (block storage), ...




                                                    8
Java EE 6 on Amazon

• 2 New AMIs based on Hardened OpenSolaris
 • Oracle GlassFish Server 3.0 (not released)
 • Apache HTTP Server + mod_jk (not released)
 • Pre-existing MySQL Database 5.1 AMI
• Instances managed by SMF
 • GlassFish: svcadm restart/enable/disable
   svc:/application/GlassFish/domain1:default
 • MySQL SMF: svcadm enable mysql
 • mod_jk: svcadm restart/refresh/enable/disable
   svc:/network/http:apache22



                                                   9
Java EE 6 on Amazon
# Define a load-balancing worker
                                                AJP_INSTANCE_NAME
worker.list=worker1                              in GlassFish instances
#
# Define an ajp13 worker to represent instance1
worker.instance1.type=ajp13
worker.instance1.host=ec2-67-202-51-223.compute-1.amazonaws.com
worker.instance1.port=8009
#
# Define an ajp13 worker to represent instance2
worker.instance2.type=ajp13
worker.instance2.host=ec2-67-202-7-236.compute-1.amazonaws.com
worker.instance2.port=8009
#
# Define the type of worker1
worker.worker1.type=lb
# Add inst1 and inst2 to the balance_workers property of worker1
worker.worker1.balance_workers=instance1,instance2




                                                                          10
mod_jk
                                        Managed
                                          Using
                                        “cladmin”


                            ...
GlassFish-1   GlassFish-1         GlassFish-N




               MySQL



                                                    11
How to Deploy ?
• Launch MySQL AMI, create database, user,
  privileges, …
• Launch 1 or more GlassFish AMI
  • Set AJP_INSTANCE_NAME in each GlassFish
• Administer multiple instances using cladmin
  • --target instance-list OR set AS_TARGET=”...”
  • cladmin create-jdbc-connection-pool …
  • cladmin deploy ~/samples/hello.war
• Launch mod_jk AMI
  • Configure “worker.properties”



                                                    12
13
GlassFish 3.0.1
               JAX-RS
               EJB 3.1
               JPA 2




100,000+
surveys/hr



                         14
Pricing




http://aws.amazon.com/ec2/pricing/



                                     15
Java EE 6 on RightScale
                                                     Cloud
                                                   Applications



                      Automation                     C loud-R eady                         Expertise
R ig htS c a le




                      Architecture                      S olutions                         & S upport


                      Web
                      Site



                                                     Right
                      Grid                           Scripts




                  Amazon       Amazon     Amazon         Amazon                    IBM
                                                                     R ackspace                  VM Ware
                  US E as t    US Wes t     EU            As ia                   C loud




                                                                                                           16
How to Deploy ?
Macro Definition

• Launches a new virtual server with clean install
  of Ubuntu
• Install GlassFish Server Open Source Edition 3.0
• Detects database in the deployment
  • Installs MySQL Connector/J Driver
  • Creates a JDBC Connection Pool and Resource
• Install samples
  • Archives (WAR/EAR/...) stored in S3




                                                  17
High Availability Deployment
                        DNS Round Robin



          Load Balancer-1                 Load Balancer-2

                                                                    Min: 0;Max: 5

                                                            ...
GlassFish-1            GlassFish-2            GlassFish-3          GlassFish-n

                                                                    Server Array


              Master        replication      Slave
 EBS           DB                             DB            EBS
 Vol                                                        Vol   Amazon EC2

                            Amazon S3


                                                                                 18
RightScripts




               19
Alerts




         20
21
Pricing




          http://www.rightscale.com/products/plans-pricing/


                                                              22
What is Elastra ?
• Design, deploy, manage system designs on
  private/public clouds
  • Component: A piece of software such as GlassFish or Apache
  • Connectors: Enables components to communicate
  • Resources: Network storage
• Manage a hybrid cloud (Design → Deployment(s))
  • VMWare vCenter 2.5, VMWare vSphere4, AWS
• Enterprise Cloud Server (ECS) or AWS Edition




                                                            23
24
GlassFish Properties




                       25
Resource Allocation




                      26
Mapping to Amazon Instances




                              27
How to Deploy ?
Design → Deployment




                      28
Uninstalled
 Installing
 Installed
Configuring
Configured
  Starting
  Started




              29
How to Deploy ?
  Deploying Your App


• Web-based Admin Console to deploy/manage
  application on GlassFish
• MySQL GUI Tool




                                             30
Pricing

• Not publicly listed on website
  •   24 x 7 support
  •   Unlimited support tickets
  •   2-hour guaranteed response time
  •   Dedicated support engineer
  •   Forums
  •   ...




                                        31
Java EE 6 on Joyent

●
    High performance and reliable public, private,
    and hybrid cloud
●
    Environment
    ●
        Language: Java, PHP, Ruby, …
    ●
        Server: GlassFish, Apache, nginx, …
    ●
        Database: MySQL, Oracle, ...




                                                     32
Vs
Amazon




         33
Java EE 6 on Joyent

●
    Smart Machine (nee Accelerators)
    ●
        Public IP Address
    ●
        Root access to Solaris Zone
    ●
        Guaranteed minimum CPU/RAM
    ●
        Dedicated IP address + 100 Mbps connectivity
    ●
        Common packages like MySQL can be installed using
        Webmin
    ●
        “sftp” to upload application packages




                                                            34
35
36
Pricing
  • Included support issues
          • Inaccessible smart machine
          • Slow performance
          • System-level functionality not working
  • $199/incident (max one hour)




http://www.joyent.com/support/support-programs/




                                                     37
Multi-cloud Vendors




                      38
Vendor        Language   Compute         Storage Provider
RightScale    Bash, Ruby, Yes            Yes      Amazon, GoGrid, FlexiScale,
              Perl                                Eucalyptus
Elastra       Design     Yes             ??       Amazon, ??

SimpleCloud   PHP        No              Yes,     Microsoft, IBM, Rackspace,
                                         Queing   Nirvanix, GoGrid
libcloud      Python     Yes             ??       Dreamhost, Amazon, Eucalyptus,
                                                  IBM Cloud, Linode, Rackspace,
                                                  RimuHosting, SliceHost,
                                                  vCloud, ...
jClouds       Java,      Yes             Yes      Opscode, Chef, IBM Developer
              Clojure                             Cloud, Eucalyptus, Google
                                                  Storage, Terremark, Slicehost,
                                                  Box.net, Azure
DeltaCloud    Ruby,      Create/Start/   No       Amazon, GoGrid, OpenNebula,
              REST       Stop/Reboot              Rackspace, RHEV-M,
                         /Destroy                 RimuHosting
CloudLoop     Java       No              Yes      Amazon, Nirvanix

Dasein        Java       ??              ??       Amazon, Rackspace, vSphere
                                                                                   39
What does Java EE offer to Cloud ?

●
    Containers
●
    Injectable services
●
    Scale to large clusters
●
    Security model
●
    ...




                                         40
What can Java EE do for Clouds ?

●
    Tighter requirements for resource and state
    management
●
    Better isolation between applications
●
    Potential standard APIs for NRDBMS, Caching, …
●
    HTML5
●
    Common management and monitoring interfaces
●
    Better packaging
    ●
        Apps/Data are (multiple) versioned, Upgrades,
        Expose/Connect to services, QoS attributes, ...
●
    Evolution, not revolution

                                                          41
GlassFish Distributions
Distribution              License      Features

GlassFish Open Source     CDDL &       • Java EE 6 Compatibility
Edition 3.0.1             GPLv2        • No Clustering
                                       • Clustering planned in 3.1
                                       • mod_jk for load balancing

GlassFish Open Source     CDDL &       • Java EE 5 Compatibility
Edition 2.1.1             GPLv2        • In memory replication
                                       • mod_loadbalancer
Oracle GlassFish Server   Commercial   • GlassFish Open Source Edition 3.0.1
3.0.1                                  • GlassFish Server Control            Clustering
                                       • Clustering planned in 3.1            Coming
                                                                                Soon!
Oracle GlassFish Server   Commercial   • GlassFish Open Source Edition 2.1.1
2.1.1                                  • Enterprise Manager
                                       • HADB
GlassFish Roadmap Detail




 43

©2010 Oracle Corporation
Conclusions

• Java EE 6 is light-weight, flexible, easy-to-use
• GlassFish Server Open Source Edition 3.0 and
  Oracle GlassFish Server 3.0 provides feature-
  rich implementation
• Java EE 6 applications can be easily deployed
  on Amazon, RightScale, Elastra, Joyent, and
  other clouds
• Talk to us at users@glassfish.dev.java.net.



                                                     44
References


• glassfish.org
• oracle.com/goto/glassfish
• blogs.sun.com/theaquarium
• glassfish.org/roadmap
• youtube.com/user/GlassFishVideos
• Follow @glassfish




                                     45
<Insert Picture Here>




Running your Java EE 6 Applications in the Cloud
Arun Gupta, Java EE & GlassFish Guy
blogs.sun.com/arungupta, @arungupta

More Related Content

PDF
JFokus 2011 - Running your Java EE 6 apps in the Cloud
PDF
Running your Java EE 6 Applications in the Cloud
PDF
Running your Java EE 6 applications in the Cloud
PDF
MySQL高可用
PDF
UK Azure Users Group
PDF
State of the art of MySQL replication and clustering
PDF
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
PPTX
Elastic beanstalk
JFokus 2011 - Running your Java EE 6 apps in the Cloud
Running your Java EE 6 Applications in the Cloud
Running your Java EE 6 applications in the Cloud
MySQL高可用
UK Azure Users Group
State of the art of MySQL replication and clustering
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
Elastic beanstalk

What's hot (17)

PDF
AWS Black Belt Online Seminar AWS CloudFormation アップデート
PDF
[JSDC 2016] Codex: Conditional Modules Strike Back
PDF
JavaOne 2014: Taming the Cloud Database with jclouds
PDF
Amazed by aws 1st session
PDF
Multi thread slave_performance_on_opc
ODP
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
PPTX
Scaling Drupal & Deployment in AWS
PDF
Lesson 1 configuring
PPTX
The three aaS's of MongoDB in Windows Azure
PDF
Linux and H/W optimizations for MySQL
PDF
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
PPT
OSSCube MySQL Cluster Tutorial By Sonali At Osspac 09
ODP
AutoScaling and Drupal
PDF
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
PDF
Amazon Aurora Let's Talk About Performance
PDF
Lockless in Seattle - Using In-Memory OLTP for Transaction Processing
PDF
High-Performance JDBC Voxxed Bucharest 2016
AWS Black Belt Online Seminar AWS CloudFormation アップデート
[JSDC 2016] Codex: Conditional Modules Strike Back
JavaOne 2014: Taming the Cloud Database with jclouds
Amazed by aws 1st session
Multi thread slave_performance_on_opc
DB proxy server test: run tests on tens of virtual machines with Jenkins, Vag...
Scaling Drupal & Deployment in AWS
Lesson 1 configuring
The three aaS's of MongoDB in Windows Azure
Linux and H/W optimizations for MySQL
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
OSSCube MySQL Cluster Tutorial By Sonali At Osspac 09
AutoScaling and Drupal
What You Should Know About WebLogic Server 12c (12.2.1.2) #oow2015 #otntour2...
Amazon Aurora Let's Talk About Performance
Lockless in Seattle - Using In-Memory OLTP for Transaction Processing
High-Performance JDBC Voxxed Bucharest 2016
Ad

Viewers also liked (6)

ODP
Java EE 6 & GlassFish v3: Paving path for the future
PDF
Java EE 6 and GlassFish v3: Paving the path for future
PDF
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
PDF
Javaee6 eclipseday-googleplex-2010
PDF
50 features of Java EE 7 in 50 minutes at JavaZone 2014
PDF
Using the latest Java Persistence API 2 Features - Tech Days 2010 India
Java EE 6 & GlassFish v3: Paving path for the future
Java EE 6 and GlassFish v3: Paving the path for future
Spark IT 2011 - Simplified Web Development using Java Server Faces 2.0
Javaee6 eclipseday-googleplex-2010
50 features of Java EE 7 in 50 minutes at JavaZone 2014
Using the latest Java Persistence API 2 Features - Tech Days 2010 India
Ad

Similar to Running your Java EE 6 applications in the clouds (20)

PDF
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
PDF
Running your Java EE 6 applications in the Cloud (FISL 12)
PDF
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
PDF
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
PDF
Running your Java EE 6 applications in the Cloud
PDF
Running your Java EE applications in the Cloud
PDF
Javaee6 Jazoon 2010 100603081147 Phpapp01
PDF
Running your Java EE 6 applications in the cloud
PDF
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
PPTX
Cloud computing & lamp applications
PDF
Dynamic Languages & Web Frameworks in GlassFish
PPTX
Open stack in sina
PDF
Cloud-native legacy applications
PPTX
Migrating enterprise workloads to AWS
PDF
JVMs in Containers
PDF
JVMs in Containers - Best Practices
PDF
Cloudy Ajax 08 10
PPTX
19th February 2013, AWS User Group UK, Meetup #3, Managing your apps on AWS: ...
PPTX
Protect your app from Outages
PDF
데이터 마이그레이션 AWS와 같이하기 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
Running your Java EE 6 applications in the Cloud
Running your Java EE applications in the Cloud
Javaee6 Jazoon 2010 100603081147 Phpapp01
Running your Java EE 6 applications in the cloud
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
Cloud computing & lamp applications
Dynamic Languages & Web Frameworks in GlassFish
Open stack in sina
Cloud-native legacy applications
Migrating enterprise workloads to AWS
JVMs in Containers
JVMs in Containers - Best Practices
Cloudy Ajax 08 10
19th February 2013, AWS User Group UK, Meetup #3, Managing your apps on AWS: ...
Protect your app from Outages
데이터 마이그레이션 AWS와 같이하기 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming

More from Arun Gupta (20)

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

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Encapsulation theory and applications.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Big Data Technologies - Introduction.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Machine learning based COVID-19 study performance prediction
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
cuic standard and advanced reporting.pdf
PPTX
Machine Learning_overview_presentation.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Spectroscopy.pptx food analysis technology
Chapter 3 Spatial Domain Image Processing.pdf
Encapsulation theory and applications.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Advanced methodologies resolving dimensionality complications for autism neur...
MIND Revenue Release Quarter 2 2025 Press Release
Big Data Technologies - Introduction.pptx
Approach and Philosophy of On baking technology
Machine learning based COVID-19 study performance prediction
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
A comparative analysis of optical character recognition models for extracting...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Unlocking AI with Model Context Protocol (MCP)
gpt5_lecture_notes_comprehensive_20250812015547.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
cuic standard and advanced reporting.pdf
Machine Learning_overview_presentation.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Encapsulation_ Review paper, used for researhc scholars
Spectroscopy.pptx food analysis technology

Running your Java EE 6 applications in the clouds

  • 1. <Insert Picture Here> Running your Java EE 6 Applications in the Cloud Arun Gupta, Java EE & GlassFish Guy blogs.sun.com/arungupta, @arungupta
  • 2. The following/preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 2
  • 3. Agenda • Introduction to Java EE 6 • Java EE 6 on Amazon • Java EE 6 on RightScale • Java EE 6 on Elastra • Java EE 6 on Joyent • Multi-cloud Vendor Comparison • Evolving Java EE for Cloud • Conclusions 3
  • 4. Brief Introduction to Java EE 6 ● Light-weight ● Java EE 6 Web Profile, Pruning ● Extensible ● Embrace open-source frameworks using web fragments ● Easy-to-use ● CDI, Bean Validation, JAX-RS ● JPA 2, JSF 2, Servlets 3, EJB 3.1 ● Annotations-based, Optional “web.xml”/”faces-config.xml”, EJB-in-WAR, ... 4
  • 5. Java EE 6 Demo 5
  • 6. Oracle's definition of Cloud Computing ● Virtualized elastic platform for applications ● Standards-based application development/execution platform ● Includes hardware and software ● Virtualized and Elastic ● Runs a wide variety of applications ● On both public and private clouds ● Exalogic Elastic Compute Cloud (Cloud in a Box) ● Hardware and Software engineered to work together ● 30 compute servers, 360 cores, 40 GB/sec Infiniband ● Servers, Network, Storage, VM, Operating System, Middleware, Develop/Run all applications 6
  • 8. What is Amazon ? • Boot server instances, scale up/down, pay-per-use • EC2: Compute capacity in the cloud • S3: Storage capacity in the cloud (1b → 5 GB) • RRS (reduced redundancy), RDS (database), FWS (fulfillment), SQS (queue), SNS (notification), CloudWatch (monitoring), FPS (payment), VPC (private cloud), EBS (block storage), ... 8
  • 9. Java EE 6 on Amazon • 2 New AMIs based on Hardened OpenSolaris • Oracle GlassFish Server 3.0 (not released) • Apache HTTP Server + mod_jk (not released) • Pre-existing MySQL Database 5.1 AMI • Instances managed by SMF • GlassFish: svcadm restart/enable/disable svc:/application/GlassFish/domain1:default • MySQL SMF: svcadm enable mysql • mod_jk: svcadm restart/refresh/enable/disable svc:/network/http:apache22 9
  • 10. Java EE 6 on Amazon # Define a load-balancing worker AJP_INSTANCE_NAME worker.list=worker1 in GlassFish instances # # Define an ajp13 worker to represent instance1 worker.instance1.type=ajp13 worker.instance1.host=ec2-67-202-51-223.compute-1.amazonaws.com worker.instance1.port=8009 # # Define an ajp13 worker to represent instance2 worker.instance2.type=ajp13 worker.instance2.host=ec2-67-202-7-236.compute-1.amazonaws.com worker.instance2.port=8009 # # Define the type of worker1 worker.worker1.type=lb # Add inst1 and inst2 to the balance_workers property of worker1 worker.worker1.balance_workers=instance1,instance2 10
  • 11. mod_jk Managed Using “cladmin” ... GlassFish-1 GlassFish-1 GlassFish-N MySQL 11
  • 12. How to Deploy ? • Launch MySQL AMI, create database, user, privileges, … • Launch 1 or more GlassFish AMI • Set AJP_INSTANCE_NAME in each GlassFish • Administer multiple instances using cladmin • --target instance-list OR set AS_TARGET=”...” • cladmin create-jdbc-connection-pool … • cladmin deploy ~/samples/hello.war • Launch mod_jk AMI • Configure “worker.properties” 12
  • 13. 13
  • 14. GlassFish 3.0.1 JAX-RS EJB 3.1 JPA 2 100,000+ surveys/hr 14
  • 16. Java EE 6 on RightScale Cloud Applications Automation C loud-R eady Expertise R ig htS c a le Architecture S olutions & S upport Web Site Right Grid Scripts Amazon Amazon Amazon Amazon IBM R ackspace VM Ware US E as t US Wes t EU As ia C loud 16
  • 17. How to Deploy ? Macro Definition • Launches a new virtual server with clean install of Ubuntu • Install GlassFish Server Open Source Edition 3.0 • Detects database in the deployment • Installs MySQL Connector/J Driver • Creates a JDBC Connection Pool and Resource • Install samples • Archives (WAR/EAR/...) stored in S3 17
  • 18. High Availability Deployment DNS Round Robin Load Balancer-1 Load Balancer-2 Min: 0;Max: 5 ... GlassFish-1 GlassFish-2 GlassFish-3 GlassFish-n Server Array Master replication Slave EBS DB DB EBS Vol Vol Amazon EC2 Amazon S3 18
  • 20. Alerts 20
  • 21. 21
  • 22. Pricing http://www.rightscale.com/products/plans-pricing/ 22
  • 23. What is Elastra ? • Design, deploy, manage system designs on private/public clouds • Component: A piece of software such as GlassFish or Apache • Connectors: Enables components to communicate • Resources: Network storage • Manage a hybrid cloud (Design → Deployment(s)) • VMWare vCenter 2.5, VMWare vSphere4, AWS • Enterprise Cloud Server (ECS) or AWS Edition 23
  • 24. 24
  • 27. Mapping to Amazon Instances 27
  • 28. How to Deploy ? Design → Deployment 28
  • 30. How to Deploy ? Deploying Your App • Web-based Admin Console to deploy/manage application on GlassFish • MySQL GUI Tool 30
  • 31. Pricing • Not publicly listed on website • 24 x 7 support • Unlimited support tickets • 2-hour guaranteed response time • Dedicated support engineer • Forums • ... 31
  • 32. Java EE 6 on Joyent ● High performance and reliable public, private, and hybrid cloud ● Environment ● Language: Java, PHP, Ruby, … ● Server: GlassFish, Apache, nginx, … ● Database: MySQL, Oracle, ... 32
  • 33. Vs Amazon 33
  • 34. Java EE 6 on Joyent ● Smart Machine (nee Accelerators) ● Public IP Address ● Root access to Solaris Zone ● Guaranteed minimum CPU/RAM ● Dedicated IP address + 100 Mbps connectivity ● Common packages like MySQL can be installed using Webmin ● “sftp” to upload application packages 34
  • 35. 35
  • 36. 36
  • 37. Pricing • Included support issues • Inaccessible smart machine • Slow performance • System-level functionality not working • $199/incident (max one hour) http://www.joyent.com/support/support-programs/ 37
  • 39. Vendor Language Compute Storage Provider RightScale Bash, Ruby, Yes Yes Amazon, GoGrid, FlexiScale, Perl Eucalyptus Elastra Design Yes ?? Amazon, ?? SimpleCloud PHP No Yes, Microsoft, IBM, Rackspace, Queing Nirvanix, GoGrid libcloud Python Yes ?? Dreamhost, Amazon, Eucalyptus, IBM Cloud, Linode, Rackspace, RimuHosting, SliceHost, vCloud, ... jClouds Java, Yes Yes Opscode, Chef, IBM Developer Clojure Cloud, Eucalyptus, Google Storage, Terremark, Slicehost, Box.net, Azure DeltaCloud Ruby, Create/Start/ No Amazon, GoGrid, OpenNebula, REST Stop/Reboot Rackspace, RHEV-M, /Destroy RimuHosting CloudLoop Java No Yes Amazon, Nirvanix Dasein Java ?? ?? Amazon, Rackspace, vSphere 39
  • 40. What does Java EE offer to Cloud ? ● Containers ● Injectable services ● Scale to large clusters ● Security model ● ... 40
  • 41. What can Java EE do for Clouds ? ● Tighter requirements for resource and state management ● Better isolation between applications ● Potential standard APIs for NRDBMS, Caching, … ● HTML5 ● Common management and monitoring interfaces ● Better packaging ● Apps/Data are (multiple) versioned, Upgrades, Expose/Connect to services, QoS attributes, ... ● Evolution, not revolution 41
  • 42. GlassFish Distributions Distribution License Features GlassFish Open Source CDDL & • Java EE 6 Compatibility Edition 3.0.1 GPLv2 • No Clustering • Clustering planned in 3.1 • mod_jk for load balancing GlassFish Open Source CDDL & • Java EE 5 Compatibility Edition 2.1.1 GPLv2 • In memory replication • mod_loadbalancer Oracle GlassFish Server Commercial • GlassFish Open Source Edition 3.0.1 3.0.1 • GlassFish Server Control Clustering • Clustering planned in 3.1 Coming Soon! Oracle GlassFish Server Commercial • GlassFish Open Source Edition 2.1.1 2.1.1 • Enterprise Manager • HADB
  • 43. GlassFish Roadmap Detail 43 ©2010 Oracle Corporation
  • 44. Conclusions • Java EE 6 is light-weight, flexible, easy-to-use • GlassFish Server Open Source Edition 3.0 and Oracle GlassFish Server 3.0 provides feature- rich implementation • Java EE 6 applications can be easily deployed on Amazon, RightScale, Elastra, Joyent, and other clouds • Talk to us at users@glassfish.dev.java.net. 44
  • 45. References • glassfish.org • oracle.com/goto/glassfish • blogs.sun.com/theaquarium • glassfish.org/roadmap • youtube.com/user/GlassFishVideos • Follow @glassfish 45
  • 46. <Insert Picture Here> Running your Java EE 6 Applications in the Cloud Arun Gupta, Java EE & GlassFish Guy blogs.sun.com/arungupta, @arungupta