SlideShare a Scribd company logo
Running your Java EE 6
Applications in the Cloud


Arun Gupta
Oracle Corporation
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.
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
> 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
Based upon
research work ...

                    6
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), ...


                                                   7
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

                                                   8
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


                                                                    9
Java EE 6 on Amazon

                   mod_jk
                                               Managed
                                                 Using
                                               “cladmin”


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




                   MySQL

                                                    10
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”
                                                    11
12
GlassFish 3.0.1
               JAX-RS
               EJB 3.1
               JPA 2



 20,000
surveys/hr
                       13
Pricing




http://aws.amazon.com/ec2/pricing/   14
What is RightScale ?

> SaaS to manage servers in multiple IaaS
> Automates everything that keeps operations busy
  – Provides a library of pre-configured assets
  – Design: Cloud-Ready ServerTemplates
  – Deploy: Group of Servers, Macros
  – Full Automation: Autoscaling, Active monitoring based on real-
    time triggers, Configuration, Macros, …
  – Best practices
> Professional Services
                                                               15
Cloud
                                                  Applications
R ig htS c a le


                     Automation                     C loud-R eady                  Expertise
                     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
What is Joyent ?

> High-performance and reliable public, private, and
  hybrid cloud
> Environment
  – Development Language: Java, PHP, Ruby, …
  – Server: GlassFish, Apache, Nginx, …
  – Database: MySQL, Oracle, …




                                                   32
Vs
Amazon




         33
How to Deploy ?

> 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
> Well-trained operations and systems staff

                                                           34
35
36
Sample Deployment

> http://fhm8e4fz.joyent.us:8080/




                                    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/
                                                   38
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


                                                  39
Arun Gupta           blogs.sun.com/arungupta
Oracle Corporation   arun.p.gupta@oracle.com

More Related Content

What's hot (17)

All about Azure workshop deck
All about Azure workshop deckAll about Azure workshop deck
All about Azure workshop deck
Alexey Bokov
 
Creating a gallery image for Azure marketplace
Creating a gallery image for Azure marketplaceCreating a gallery image for Azure marketplace
Creating a gallery image for Azure marketplace
Alexey Bokov
 
AutoScaling and Drupal
AutoScaling and DrupalAutoScaling and Drupal
AutoScaling and Drupal
Promet Source
 
Globus toolkit4installationguide
Globus toolkit4installationguideGlobus toolkit4installationguide
Globus toolkit4installationguide
Adarsh Patil
 
Mmik powershell dsc_slideshare_v1
Mmik powershell dsc_slideshare_v1Mmik powershell dsc_slideshare_v1
Mmik powershell dsc_slideshare_v1
Mmik Huang
 
How to scheduled jobs in a cloudera cluster without oozie
How to scheduled jobs in a cloudera cluster without oozieHow to scheduled jobs in a cloudera cluster without oozie
How to scheduled jobs in a cloudera cluster without oozie
Tiago Simões
 
Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devices
Patric Boscolo
 
Cloud MariaDB Data suite
Cloud MariaDB Data suiteCloud MariaDB Data suite
Cloud MariaDB Data suite
lemugfr
 
New features of Azure Cloud Provider in OpenShift Container Platform 3.10
New features of Azure Cloud Provider in OpenShift Container Platform 3.10New features of Azure Cloud Provider in OpenShift Container Platform 3.10
New features of Azure Cloud Provider in OpenShift Container Platform 3.10
Takayoshi Tanaka
 
How to implement a gdpr solution in a cloudera architecture
How to implement a gdpr solution in a cloudera architectureHow to implement a gdpr solution in a cloudera architecture
How to implement a gdpr solution in a cloudera architecture
Tiago Simões
 
New features of Azure Cloud Provider at OCP 3.10
New features of Azure Cloud Provider at OCP 3.10New features of Azure Cloud Provider at OCP 3.10
New features of Azure Cloud Provider at OCP 3.10
Takayoshi Tanaka
 
Scaling Drupal & Deployment in AWS
Scaling Drupal & Deployment in AWSScaling Drupal & Deployment in AWS
Scaling Drupal & Deployment in AWS
永对 陈
 
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski
buildacloud
 
MAAS & Ubuntu Core: OCP Tech Day, Facebook Menlo Park, Aug 30th
MAAS & Ubuntu Core: OCP Tech Day, Facebook Menlo Park, Aug 30thMAAS & Ubuntu Core: OCP Tech Day, Facebook Menlo Park, Aug 30th
MAAS & Ubuntu Core: OCP Tech Day, Facebook Menlo Park, Aug 30th
Christian "kiko" Reis
 
제3회난공불락 오픈소스 인프라세미나 - JuJu
제3회난공불락 오픈소스 인프라세미나 - JuJu제3회난공불락 오픈소스 인프라세미나 - JuJu
제3회난공불락 오픈소스 인프라세미나 - JuJu
Tommy Lee
 
The three aaS's of MongoDB in Windows Azure
The three aaS's of MongoDB in Windows AzureThe three aaS's of MongoDB in Windows Azure
The three aaS's of MongoDB in Windows Azure
MongoDB
 
Mastering VMware datacenter
Mastering VMware datacenterMastering VMware datacenter
Mastering VMware datacenter
M.M.Rahman Munna, Linux, VMware and Mail Server Expert
 
All about Azure workshop deck
All about Azure workshop deckAll about Azure workshop deck
All about Azure workshop deck
Alexey Bokov
 
Creating a gallery image for Azure marketplace
Creating a gallery image for Azure marketplaceCreating a gallery image for Azure marketplace
Creating a gallery image for Azure marketplace
Alexey Bokov
 
AutoScaling and Drupal
AutoScaling and DrupalAutoScaling and Drupal
AutoScaling and Drupal
Promet Source
 
Globus toolkit4installationguide
Globus toolkit4installationguideGlobus toolkit4installationguide
Globus toolkit4installationguide
Adarsh Patil
 
Mmik powershell dsc_slideshare_v1
Mmik powershell dsc_slideshare_v1Mmik powershell dsc_slideshare_v1
Mmik powershell dsc_slideshare_v1
Mmik Huang
 
How to scheduled jobs in a cloudera cluster without oozie
How to scheduled jobs in a cloudera cluster without oozieHow to scheduled jobs in a cloudera cluster without oozie
How to scheduled jobs in a cloudera cluster without oozie
Tiago Simões
 
Gaming across multiple devices
Gaming across multiple devicesGaming across multiple devices
Gaming across multiple devices
Patric Boscolo
 
Cloud MariaDB Data suite
Cloud MariaDB Data suiteCloud MariaDB Data suite
Cloud MariaDB Data suite
lemugfr
 
New features of Azure Cloud Provider in OpenShift Container Platform 3.10
New features of Azure Cloud Provider in OpenShift Container Platform 3.10New features of Azure Cloud Provider in OpenShift Container Platform 3.10
New features of Azure Cloud Provider in OpenShift Container Platform 3.10
Takayoshi Tanaka
 
How to implement a gdpr solution in a cloudera architecture
How to implement a gdpr solution in a cloudera architectureHow to implement a gdpr solution in a cloudera architecture
How to implement a gdpr solution in a cloudera architecture
Tiago Simões
 
New features of Azure Cloud Provider at OCP 3.10
New features of Azure Cloud Provider at OCP 3.10New features of Azure Cloud Provider at OCP 3.10
New features of Azure Cloud Provider at OCP 3.10
Takayoshi Tanaka
 
Scaling Drupal & Deployment in AWS
Scaling Drupal & Deployment in AWSScaling Drupal & Deployment in AWS
Scaling Drupal & Deployment in AWS
永对 陈
 
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski
Troubleshooting Strategies for CloudStack Installations by Kirk Kosinski
buildacloud
 
MAAS & Ubuntu Core: OCP Tech Day, Facebook Menlo Park, Aug 30th
MAAS & Ubuntu Core: OCP Tech Day, Facebook Menlo Park, Aug 30thMAAS & Ubuntu Core: OCP Tech Day, Facebook Menlo Park, Aug 30th
MAAS & Ubuntu Core: OCP Tech Day, Facebook Menlo Park, Aug 30th
Christian "kiko" Reis
 
제3회난공불락 오픈소스 인프라세미나 - JuJu
제3회난공불락 오픈소스 인프라세미나 - JuJu제3회난공불락 오픈소스 인프라세미나 - JuJu
제3회난공불락 오픈소스 인프라세미나 - JuJu
Tommy Lee
 
The three aaS's of MongoDB in Windows Azure
The three aaS's of MongoDB in Windows AzureThe three aaS's of MongoDB in Windows Azure
The three aaS's of MongoDB in Windows Azure
MongoDB
 

Similar to Javaee6 Jazoon 2010 100603081147 Phpapp01 (20)

Running your Java EE 6 applications in the clouds
Running your Java EE 6 applications in the clouds Running your Java EE 6 applications in the clouds
Running your Java EE 6 applications in the clouds
Arun Gupta
 
Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the Cloud
Arun Gupta
 
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Arun Gupta
 
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Arun Gupta
 
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the CloudJavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
Arun Gupta
 
Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the Cloud
Arun Gupta
 
Scaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloudScaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloud
Vladimir Ilic
 
Dynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFishDynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFish
IndicThreads
 
Durga nagaraju aws_profile
Durga nagaraju aws_profileDurga nagaraju aws_profile
Durga nagaraju aws_profile
MAINENI DURGANAGARAJU
 
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul MaddoxAWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS Riyadh User Group
 
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
zshoylev
 
데이터 마이그레이션 AWS와 같이하기 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
데이터 마이그레이션 AWS와 같이하기 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming데이터 마이그레이션 AWS와 같이하기 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
데이터 마이그레이션 AWS와 같이하기 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
Amazon Web Services Korea
 
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
Amazon Web Services Korea
 
Cloud State of the Union for Java Developers
Cloud State of the Union for Java DevelopersCloud State of the Union for Java Developers
Cloud State of the Union for Java Developers
Burr Sutter
 
Java one 2015 - v1
Java one   2015 - v1Java one   2015 - v1
Java one 2015 - v1
Michael Dawson
 
Premiers pas et bonnes pratiques sur Amazon AWS - Carlos Condé
Premiers pas et bonnes pratiques sur Amazon AWS - Carlos CondéPremiers pas et bonnes pratiques sur Amazon AWS - Carlos Condé
Premiers pas et bonnes pratiques sur Amazon AWS - Carlos Condé
Publicis Sapient Engineering
 
Cloud-native legacy applications
Cloud-native legacy applicationsCloud-native legacy applications
Cloud-native legacy applications
Robert Munteanu
 
Auto scaling with Ruby, AWS, Jenkins and Redis
Auto scaling with Ruby, AWS, Jenkins and RedisAuto scaling with Ruby, AWS, Jenkins and Redis
Auto scaling with Ruby, AWS, Jenkins and Redis
Yi Hsuan (Jeddie) Chuang
 
JavaOne 2014: Taming the Cloud Database with jclouds
JavaOne 2014: Taming the Cloud Database with jcloudsJavaOne 2014: Taming the Cloud Database with jclouds
JavaOne 2014: Taming the Cloud Database with jclouds
zshoylev
 
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
Amazon Web Services Korea
 
Running your Java EE 6 applications in the clouds
Running your Java EE 6 applications in the clouds Running your Java EE 6 applications in the clouds
Running your Java EE 6 applications in the clouds
Arun Gupta
 
Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the Cloud
Arun Gupta
 
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Arun Gupta
 
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Arun Gupta
 
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the CloudJavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
Arun Gupta
 
Running your Java EE applications in the Cloud
Running your Java EE applications in the CloudRunning your Java EE applications in the Cloud
Running your Java EE applications in the Cloud
Arun Gupta
 
Scaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloudScaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloud
Vladimir Ilic
 
Dynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFishDynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFish
IndicThreads
 
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul MaddoxAWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
AWS Riyadh User Group
 
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
zshoylev
 
데이터 마이그레이션 AWS와 같이하기 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
데이터 마이그레이션 AWS와 같이하기 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming데이터 마이그레이션 AWS와 같이하기 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
데이터 마이그레이션 AWS와 같이하기 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
Amazon Web Services Korea
 
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
Amazon Web Services Korea
 
Cloud State of the Union for Java Developers
Cloud State of the Union for Java DevelopersCloud State of the Union for Java Developers
Cloud State of the Union for Java Developers
Burr Sutter
 
Premiers pas et bonnes pratiques sur Amazon AWS - Carlos Condé
Premiers pas et bonnes pratiques sur Amazon AWS - Carlos CondéPremiers pas et bonnes pratiques sur Amazon AWS - Carlos Condé
Premiers pas et bonnes pratiques sur Amazon AWS - Carlos Condé
Publicis Sapient Engineering
 
Cloud-native legacy applications
Cloud-native legacy applicationsCloud-native legacy applications
Cloud-native legacy applications
Robert Munteanu
 
Auto scaling with Ruby, AWS, Jenkins and Redis
Auto scaling with Ruby, AWS, Jenkins and RedisAuto scaling with Ruby, AWS, Jenkins and Redis
Auto scaling with Ruby, AWS, Jenkins and Redis
Yi Hsuan (Jeddie) Chuang
 
JavaOne 2014: Taming the Cloud Database with jclouds
JavaOne 2014: Taming the Cloud Database with jcloudsJavaOne 2014: Taming the Cloud Database with jclouds
JavaOne 2014: Taming the Cloud Database with jclouds
zshoylev
 
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
대용량 데이타 쉽고 빠르게 분석하기 :: 김일호 솔루션즈 아키텍트 :: Gaming on AWS 2016
Amazon Web Services Korea
 

Javaee6 Jazoon 2010 100603081147 Phpapp01

  • 1. Running your Java EE 6 Applications in the Cloud Arun Gupta Oracle Corporation 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.
  • 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 > 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
  • 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), ... 7
  • 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 8
  • 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 9
  • 10. Java EE 6 on Amazon mod_jk Managed Using “cladmin” GlassFish-1 GlassFish-2 ... GlassFish-N MySQL 10
  • 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” 11
  • 12. 12
  • 13. GlassFish 3.0.1 JAX-RS EJB 3.1 JPA 2 20,000 surveys/hr 13
  • 15. What is RightScale ? > SaaS to manage servers in multiple IaaS > Automates everything that keeps operations busy – Provides a library of pre-configured assets – Design: Cloud-Ready ServerTemplates – Deploy: Group of Servers, Macros – Full Automation: Autoscaling, Active monitoring based on real- time triggers, Configuration, Macros, … – Best practices > Professional Services 15
  • 16. Cloud Applications R ig htS c a le Automation C loud-R eady Expertise 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
  • 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. What is Joyent ? > High-performance and reliable public, private, and hybrid cloud > Environment – Development Language: Java, PHP, Ruby, … – Server: GlassFish, Apache, Nginx, … – Database: MySQL, Oracle, … 32
  • 33. Vs Amazon 33
  • 34. How to Deploy ? > 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 > Well-trained operations and systems staff 34
  • 35. 35
  • 36. 36
  • 38. 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/ 38
  • 39. 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 39
  • 40. Arun Gupta blogs.sun.com/arungupta Oracle Corporation [email protected]