SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
Running your Java EE 6
Applications in the Cloud

                       Arun Gupta
                               Oracle
                 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
 Multi-cloud Vendor Comparison
 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




                      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
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
Multi-cloud Vendors




                      39
Vendor        Language   Compute    Storage Provider

RightScale    Bash,      Yes        Yes      Amazon, GoGrid, FlexiScale,
              Ruby, Perl                     Eucalyptus
Elastra       Design     Yes        ??       Amazon, ??

SimpleCloud   PHP        No         Yes,     Microsoft, IBM, Rackspace, Nirvanix,
                                    Queing   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/Star No      Amazon, GoGrid, OpenNebula,
              REST       t/Stop/Reb          Rackspace, RHEV-M, RimuHosting
                         oot/Destroy
CloudLoop     Java       No         Yes      Amazon, Nirvanix

Dasein        Java       ??         ??       Amazon, Rackspace, vSphere


                                                                                   40
GlassFish 3.1 Clustering
        Instance              Cluster                    Node




           broccoli                             apple

           spinach                             banana

                               food
                                               orange
              DAS                               fruits



     GlassFish 3.1 Sample Cluster Topology




     http://blogs.sun.com/arungupta/entry/totd_138_glassfish_3_1
                                                                   41
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




                                                          42

Mais conteúdo relacionado

Mais procurados

クラウド時代のアーキテクチャ設計
クラウド時代のアーキテクチャ設計クラウド時代のアーキテクチャ設計
クラウド時代のアーキテクチャ設計
SORACOM, INC
 
De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1
ikewu83
 

Mais procurados (19)

Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
 
Elastic beanstalk
Elastic beanstalkElastic beanstalk
Elastic beanstalk
 
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
 
AWS Black Belt Online Seminar AWS CloudFormation アップデート
AWS Black Belt Online Seminar AWS CloudFormation アップデートAWS Black Belt Online Seminar AWS CloudFormation アップデート
AWS Black Belt Online Seminar AWS CloudFormation アップデート
 
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
Seminar : "The Future of MySQL - Roadmap to Success" session MySQL ...
 
Eucalyptus 3 Product Overview
Eucalyptus 3 Product OverviewEucalyptus 3 Product Overview
Eucalyptus 3 Product Overview
 
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵 [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵
 
クラウド時代のアーキテクチャ設計
クラウド時代のアーキテクチャ設計クラウド時代のアーキテクチャ設計
クラウド時代のアーキテクチャ設計
 
How to Run Amazon Web Services Workloads on Your VMware vCloud®
How to Run Amazon Web Services Workloads on Your VMware vCloud®How to Run Amazon Web Services Workloads on Your VMware vCloud®
How to Run Amazon Web Services Workloads on Your VMware vCloud®
 
Spring boot-application
Spring boot-applicationSpring boot-application
Spring boot-application
 
De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1De 03 Introduction To V Cloud Api V1
De 03 Introduction To V Cloud Api V1
 
5 things you don't know about Amazon Web Services
5 things you don't know about Amazon Web Services5 things you don't know about Amazon Web Services
5 things you don't know about Amazon Web Services
 
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
 
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
The Java EE 7 Platform: Productivity & HTML5 at JavaOne Latin America 2012
 
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
OSGi & Java EE in GlassFish @ Silicon Valley Code Camp 2010
 
컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015
컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015
컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015
 
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012
 
Protect your app from Outages
Protect your app from OutagesProtect your app from Outages
Protect your app from Outages
 
Java Summit Chennai: JAX-RS 2.0
Java Summit Chennai: JAX-RS 2.0Java Summit Chennai: JAX-RS 2.0
Java Summit Chennai: JAX-RS 2.0
 

Destaque

Jisc RSC Eastern Learning Resources Managers forum 14/03/14 - Mobile users an...
Jisc RSC Eastern Learning Resources Managers forum 14/03/14 - Mobile users an...Jisc RSC Eastern Learning Resources Managers forum 14/03/14 - Mobile users an...
Jisc RSC Eastern Learning Resources Managers forum 14/03/14 - Mobile users an...
JISC RSC Eastern
 

Destaque (7)

Rsc eastern 2010
Rsc eastern 2010Rsc eastern 2010
Rsc eastern 2010
 
E learning forum oct 2013 - Introduction & News Update
E learning forum oct 2013 - Introduction & News UpdateE learning forum oct 2013 - Introduction & News Update
E learning forum oct 2013 - Introduction & News Update
 
Lets SAASify that Desktop Application
Lets SAASify that Desktop ApplicationLets SAASify that Desktop Application
Lets SAASify that Desktop Application
 
Jisc RSC Eastern Technical Managers forum June 2013 'BYOD Tech Managers forum'
Jisc RSC Eastern Technical Managers forum June 2013 'BYOD Tech Managers forum'Jisc RSC Eastern Technical Managers forum June 2013 'BYOD Tech Managers forum'
Jisc RSC Eastern Technical Managers forum June 2013 'BYOD Tech Managers forum'
 
MedicinMan September 2012
MedicinMan  September 2012MedicinMan  September 2012
MedicinMan September 2012
 
Jisc RSC Eastern Learning Resources Managers forum 14/03/14 - Mobile users an...
Jisc RSC Eastern Learning Resources Managers forum 14/03/14 - Mobile users an...Jisc RSC Eastern Learning Resources Managers forum 14/03/14 - Mobile users an...
Jisc RSC Eastern Learning Resources Managers forum 14/03/14 - Mobile users an...
 
Indic threads pune12-polyglot & functional programming on jvm
Indic threads pune12-polyglot & functional programming on jvmIndic threads pune12-polyglot & functional programming on jvm
Indic threads pune12-polyglot & functional programming on jvm
 

Semelhante a Running your Java EE 6 applications in the Cloud

Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
IndicThreads
 
AWS Cloud Kata 2014 | Jakarta - Startup Best Practices
AWS Cloud Kata 2014 | Jakarta - Startup Best PracticesAWS Cloud Kata 2014 | Jakarta - Startup Best Practices
AWS Cloud Kata 2014 | Jakarta - Startup Best Practices
Amazon Web Services
 
Optimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsOptimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer Tools
Amazon Web Services
 

Semelhante a Running your Java EE 6 applications in the Cloud (20)

Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01Javaee6 Jazoon 2010 100603081147 Phpapp01
Javaee6 Jazoon 2010 100603081147 Phpapp01
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)
 
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
 
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
 
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
 
Durga nagaraju aws_profile
Durga nagaraju aws_profileDurga nagaraju aws_profile
Durga nagaraju aws_profile
 
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
 
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
 
Scaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloudScaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloud
 
AWS Cloud Kata 2014 | Jakarta - Startup Best Practices
AWS Cloud Kata 2014 | Jakarta - Startup Best PracticesAWS Cloud Kata 2014 | Jakarta - Startup Best Practices
AWS Cloud Kata 2014 | Jakarta - Startup Best Practices
 
Deep dive into AWS fargate
Deep dive into AWS fargateDeep dive into AWS fargate
Deep dive into AWS fargate
 
OpenCms Days 2012 - OpenCms on open clouds
OpenCms Days 2012 - OpenCms on open cloudsOpenCms Days 2012 - OpenCms on open clouds
OpenCms Days 2012 - OpenCms on open clouds
 
Architecting Cloud Apps
Architecting Cloud AppsArchitecting Cloud Apps
Architecting Cloud Apps
 
Cloud computing & lamp applications
Cloud computing & lamp applicationsCloud computing & lamp applications
Cloud computing & lamp applications
 
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh VariaAWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
 
Amazon Elastic Beanstalk - Indicthreads.com cloud computing conference 2011
Amazon Elastic Beanstalk  - Indicthreads.com cloud computing conference 2011Amazon Elastic Beanstalk  - Indicthreads.com cloud computing conference 2011
Amazon Elastic Beanstalk - Indicthreads.com cloud computing conference 2011
 
Open stack in sina
Open stack in sinaOpen stack in sina
Open stack in sina
 
Architecting for the Cloud: Best Practices
Architecting for the Cloud: Best PracticesArchitecting for the Cloud: Best Practices
Architecting for the Cloud: Best Practices
 
Optimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer ToolsOptimising Productivity with AWS Developer Tools
Optimising Productivity with AWS Developer Tools
 
AWS Webcast - Best Practices in Architecting for the Cloud
AWS Webcast - Best Practices in Architecting for the CloudAWS Webcast - Best Practices in Architecting for the Cloud
AWS Webcast - Best Practices in Architecting for the Cloud
 

Mais de 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
 

Mais de IndicThreads (20)

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

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Running your Java EE 6 applications in the Cloud

  • 1. Running your Java EE 6 Applications in the Cloud Arun Gupta Oracle 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  Multi-cloud Vendor Comparison  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 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. 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
  • 40. Vendor Language Compute Storage Provider RightScale Bash, Yes Yes Amazon, GoGrid, FlexiScale, Ruby, Perl Eucalyptus Elastra Design Yes ?? Amazon, ?? SimpleCloud PHP No Yes, Microsoft, IBM, Rackspace, Nirvanix, Queing 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/Star No Amazon, GoGrid, OpenNebula, REST t/Stop/Reb Rackspace, RHEV-M, RimuHosting oot/Destroy CloudLoop Java No Yes Amazon, Nirvanix Dasein Java ?? ?? Amazon, Rackspace, vSphere 40
  • 41. GlassFish 3.1 Clustering Instance Cluster Node broccoli apple spinach banana food orange DAS fruits GlassFish 3.1 Sample Cluster Topology http://blogs.sun.com/arungupta/entry/totd_138_glassfish_3_1 41
  • 42. 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 42