SlideShare a Scribd company logo
<Insert Picture Here>




Running your Java EE 6 Applications in the Cloud
Arun Gupta, Java EE & GlassFish Guy
blogs.oracle.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 & Demo
• Java EE 6 on
  •
  •
  •
  •
• Multi-cloud Vendor Comparison
• Evolving Java EE for Cloud
• Conclusions
                                     3
Light-weight
• Java EE 6 Web Profile
• Pruning
   • Pruned today, means
    • Optional in the next release
    • Deleted in the subsequent releases
  • Technologies marked in Javadocs
    • EJB 2.x Entity Beans, JAX-RPC, JAXR, JSR 88




                                                    4
• EJB-in-WAR
• No-interface EJB
• Optional
  “web.xml”/”faces-
  config.xml”
• Annotation-driven
  •   @Schedule
  •   @Path
  •   @Inject
  •   ...




                      5
<web-fragment>
    <filter>
          <filter-name>wicket.helloworld</filter-name>
          <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
          <init-param>
               <param-name>applicationClassName</param-name>
               <param-value>...</param-value>
          </init-param>
    </filter>
    <filter-mapping>
          <filter-name>wicket.helloworld</filter-name>
          <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-fragment>



                                                                               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




                                                                7
Oracle Exalogic Elastic Cloud

●
    Hardware and Software
    engineered to work together
●
    100% Fault-tolerant & Scalable
    On-Demand
●
    30 compute servers, 360 cores,
    980 GB Solid-state disk, 40
    GB/sec Infiniband, Patch
    centrally
●
    Servers, Network, Storage, VM,
    Operating System, Middleware,
    Develop/Run all applications



                                     8
Based upon
research work ...

                    9
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)
•   Simple Email Service, RDS (Database), FWS
    (fulfillment), SQS (queue), SNS (notification),
    CloudWatch (monitoring), FPS (payment), VPC
    (private cloud), EBS (block storage), ...




                                                        10
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



                                                   11
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




                                                                         12
mod_jk
                                        Managed
                                          Using
                                        “cladmin”


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




               MySQL



                                                    13
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”



                                                    14
15
GlassFish 3.0.1
               JAX-RS
               EJB 3.1
               JPA 2




100,000+
surveys/hr



                         16
Pricing




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



                                     17
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




                                                                                                           18
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




                                                  19
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


                                                                                 20
RightScripts




               21
Alerts




         22
23
Pricing




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


                                                              24
What is Azure ?




                  25
How to deploy ?
Azure Storage




                  26
How to deploy ?
Visual Studio Project




                        27
How to deploy ?
    Launch.ps1
$connection_string =
'DefaultEndpointsProtocol=http;AccountName=YOUR-
STORAGE;AccountKey=YOUR-KEY'

# JDK
$jdk = 'jdk1.6.0_23.zip'
download_from_storage 'java' $jdk $connection_string (Get-
Location).Path
unzip ((Get-Location).Path + "" + $jdk) (Get-Location).Path

# GlassFish
$glassfish = 'glassfish-3.1-b40.zip'
download_from_storage 'apps' $glassfish $connection_string (Get-
Location).Path
unzip ((Get-Location).Path + "" + $glassfish) (Get-Location).Path

# Launch GlassFish
.jdk1.6.0_23binjava `-jar
.glassfish3glassfishmodulesadmin-cli.jar start-domain --verbose



                                                                      28
How to deploy ?
Expose GlassFish ports




                         29
How to deploy ?
Publish




                  30
How to deploy ?
Publish
                        Service
                      Configuration


                         Service
                        Definition



                         Run.cmd



                       Launch.ps1

    http://blogs.oracle.com/arungupta/entry/ttod_155_glassfish_in_azure


                                                                          31
Pricing

• Offers - Consumption or Commitment
  • 30-day FREE pass
• Platform offer comparison table




                                       32
Pricing




http://www.microsoft.com/windowsazure/offers/popup/popup.aspx?lang=en&locale=en-US&offer=COMPARE_PUBLIC


                                                                                                          33
http://blogs.oracle.com/arungupta/entry/wishlist_for_windows_azure


                                                                 34
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, ...




                                                     35
Vs
Amazon




         36
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




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



                                                  40
Multi-cloud Vendors




                      41
Vendor        Language   Compute         Storage Provider
RightScale    Bash, Ruby, Yes            Yes      Amazon, GoGrid, FlexiScale,
              Perl                                Eucalyptus
OpenStack     REST       Yes             Yes      Several
SimpleCloud   PHP        No              Yes,     Microsoft, IBM, Rackspace,
                                         Queing   Nirvanix, GoGrid
libcloud      Python     Yes             ??       Several
jClouds       Java,      Yes             Yes      Several
              Clojure
DeltaCloud    Ruby,      Create/Start/   No       Amazon, GoGrid, OpenNebula,
              REST       Stop/Reboot              Rackspace, RHEV-M,
                         /Destroy                 RimuHosting
CloudLoop     Java       No              Yes      Amazon, Nirvanix
Dasein        Java       ??              Yes      Amazon, Rackspace, vSphere




                                                                                42
From the real Java EE 6 users ...
                                                            Jigsaw puzzle, Modular,
Developers can concentrate                                  standard, less xml, easy,
on business logic, Java EE 6 is                             easy, have I said easy?
providing a standard for
the infrastructure.

                                     Standards compliance, vendor
                                     independence, milliseconds
                                     and kilobyte deployment
Higher integrated specs,
simple and annotation driven,
single-classloader WARs,
next level of industry                                   Faster development, less
standard                                                 frameworks/complexity,
                                                         more great code shipped



             http://blogs.oracle.com/arungupta/tags/community+feedback


                                                                                        43
What does Java EE offer to Cloud ?

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




                                         44
Java EE 7 : JSR 342
                                                        NEW
• Theme: Cloud
• More easily operate on private or public clouds
• Deliver functionality as a service with support for
  features such as multi-tenancy and elasticity
• Technology refresh: JMS 2.0, CDI 1.1, ...
• Latest web standards: HTML 5 and Web Sockets
• Possible JSRs inclusion
  • Concurrency Utilities for Java EE (JSR 236)
  • JCache (JSR 107)
• New JSRs: Web Sockets, Java JSON API
• Modularity and Versioning


                                                              45
Java EE 7 Schedule
                               NEW

• March 2011 Early EG Formed
• Q3 2011 Early Draft
• Q1 2012 Public Draft
• Q3 2012 Final Release




                                     46
Java EE JSR Soup
                                       NEW

• Java EE 7 - JSR 342
• Servlets 3.1 – JSR 340
• Expression Language 3.0 – JSR 341
• Java Message Service 2.0 – JSR 343
• Java Server Faces 2.2 – JSR 344
• Java Persistence API 2.1 – JSR 338
• JAX-RS 2.0 – JSR 339



                                             47
GlassFish Server Distributions


Distribution                  License      Features

                                           • Java EE 6 compatibility
GlassFish Server Open         CDDL &       • Web Profile support
Source Edition 3.1            GPLv2        • In-memory replication / clustering
Web Profile
                                           • Centralized Administration
                                           • Java EE 6 compatibility
GlassFish Open Source         CDDL &       • Full Java EE distribution
Edition 3.1                   GPLv2        • In-memory replication / clustering
                                           • Centralized Administration
                                           • Adds
Oracle GlassFish Server 3.1   Commercial        • Oracle GlassFish Server Control
Web Profile                                     • Patches, support, knowledge
                                                base
                                           • Adds
Oracle GlassFish Server 3.1   Commercial        • Oracle GlassFish Server Control
                                                • Patches, support, knowledge
                                                base




                                                                                    48
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, Azure, Joyent, and other
  clouds.
• Java EE 7/GlassFish 4.0 will provide a
  standards-based programming model for PaaS
  environments.
• Talk to us at users@glassfish.java.net.

                                                 49
References


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




                                     50
<Insert Picture Here>




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

More Related Content

What's hot (20)

PDF
Java Web Application Security - Jazoon 2011
Matt Raible
 
PDF
What's New in Spring 3.1
Matt Raible
 
PDF
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
Arun Gupta
 
PDF
Use Angular Schematics to Simplify Your Life - Develop Denver 2019
Matt Raible
 
PDF
10 Excellent Ways to Secure Your Spring Boot Application - The Secure Develop...
Matt Raible
 
PDF
Front End Development for Back End Java Developers - Jfokus 2020
Matt Raible
 
PDF
Java REST API Framework Comparison - PWX 2021
Matt Raible
 
PDF
JAX-RS JavaOne Hyderabad, India 2011
Shreedhar Ganapathy
 
PDF
Spark IT 2011 - Developing RESTful Web services with JAX-RS
Arun Gupta
 
PDF
Spark IT 2011 - Java EE 6 Workshop
Arun Gupta
 
PDF
Bootiful Development with Spring Boot and React - UberConf 2018
Matt Raible
 
PDF
Clojure Web Development
Hong Jiang
 
PDF
Java Web Application Security - Utah JUG 2011
Matt Raible
 
PDF
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
Matt Raible
 
PDF
Seven Simple Reasons to Use AppFuse
Matt Raible
 
PDF
How to Win at UI Development in the World of Microservices - THAT Conference ...
Matt Raible
 
PDF
Hybrid Apps (Native + Web) via QtWebKit
Ariya Hidayat
 
PPT
Choosing a Java Web Framework
Will Iverson
 
PDF
A Gentle Introduction to Angular Schematics - Angular SF 2019
Matt Raible
 
PDF
Front End Development for Backend Developers - GIDS 2019
Matt Raible
 
Java Web Application Security - Jazoon 2011
Matt Raible
 
What's New in Spring 3.1
Matt Raible
 
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
Arun Gupta
 
Use Angular Schematics to Simplify Your Life - Develop Denver 2019
Matt Raible
 
10 Excellent Ways to Secure Your Spring Boot Application - The Secure Develop...
Matt Raible
 
Front End Development for Back End Java Developers - Jfokus 2020
Matt Raible
 
Java REST API Framework Comparison - PWX 2021
Matt Raible
 
JAX-RS JavaOne Hyderabad, India 2011
Shreedhar Ganapathy
 
Spark IT 2011 - Developing RESTful Web services with JAX-RS
Arun Gupta
 
Spark IT 2011 - Java EE 6 Workshop
Arun Gupta
 
Bootiful Development with Spring Boot and React - UberConf 2018
Matt Raible
 
Clojure Web Development
Hong Jiang
 
Java Web Application Security - Utah JUG 2011
Matt Raible
 
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
Matt Raible
 
Seven Simple Reasons to Use AppFuse
Matt Raible
 
How to Win at UI Development in the World of Microservices - THAT Conference ...
Matt Raible
 
Hybrid Apps (Native + Web) via QtWebKit
Ariya Hidayat
 
Choosing a Java Web Framework
Will Iverson
 
A Gentle Introduction to Angular Schematics - Angular SF 2019
Matt Raible
 
Front End Development for Backend Developers - GIDS 2019
Matt Raible
 

Viewers also liked (17)

PDF
Hyperproductive JSF 2.0 @ JavaOne Brazil 2010
Arun Gupta
 
PDF
Spark IT 2011 - Context & Dependency Injection in the Java EE 6 Ecosystem
Arun Gupta
 
PDF
Java EE 7 Soup to Nuts at JavaOne 2014
Arun Gupta
 
PDF
JavaServer Faces 2.0 - JavaOne India 2011
Arun Gupta
 
PDF
Java EE 6 = Less Code + More Power
Arun Gupta
 
PDF
Deep Dive Hands-on in Java EE 6 - Oredev 2010
Arun Gupta
 
PDF
Understanding the nuts & bolts of Java EE 6
Arun Gupta
 
PDF
JAX-RS 2.0: What’s New in JSR 339 ?
Arun Gupta
 
PDF
The Java EE 7 Platform: Productivity++ & Embracing HTML5
Arun Gupta
 
PDF
Understanding
Arun Gupta
 
PDF
PaaSing a Java EE 6 Application at Geecon 2012
Arun Gupta
 
PDF
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
Arun Gupta
 
PDF
Running your Java EE 6 applications in the Cloud
Arun Gupta
 
PDF
JAX-RS 2.0: RESTful Web services on steroids at Geecon 2012
Arun Gupta
 
PDF
Jfokus 2012: PaaSing a Java EE Application
Arun Gupta
 
PDF
Java E
Arun Gupta
 
PDF
Servlets 3.0 - Asynchronous, Extensibility, Ease-of-use @ JavaOne Brazil 2010
Arun Gupta
 
Hyperproductive JSF 2.0 @ JavaOne Brazil 2010
Arun Gupta
 
Spark IT 2011 - Context & Dependency Injection in the Java EE 6 Ecosystem
Arun Gupta
 
Java EE 7 Soup to Nuts at JavaOne 2014
Arun Gupta
 
JavaServer Faces 2.0 - JavaOne India 2011
Arun Gupta
 
Java EE 6 = Less Code + More Power
Arun Gupta
 
Deep Dive Hands-on in Java EE 6 - Oredev 2010
Arun Gupta
 
Understanding the nuts & bolts of Java EE 6
Arun Gupta
 
JAX-RS 2.0: What’s New in JSR 339 ?
Arun Gupta
 
The Java EE 7 Platform: Productivity++ & Embracing HTML5
Arun Gupta
 
Understanding
Arun Gupta
 
PaaSing a Java EE 6 Application at Geecon 2012
Arun Gupta
 
GlassFish 3.1 – Simplifying your Java EE 6 Development and Deployment @ JAX L...
Arun Gupta
 
Running your Java EE 6 applications in the Cloud
Arun Gupta
 
JAX-RS 2.0: RESTful Web services on steroids at Geecon 2012
Arun Gupta
 
Jfokus 2012: PaaSing a Java EE Application
Arun Gupta
 
Java E
Arun Gupta
 
Servlets 3.0 - Asynchronous, Extensibility, Ease-of-use @ JavaOne Brazil 2010
Arun Gupta
 
Ad

Similar to Running your Java EE 6 Apps in the Cloud - JavaOne India 2011 (20)

PDF
Running your Java EE 6 Applications in the Cloud
Arun Gupta
 
PDF
JFokus 2011 - Running your Java EE 6 apps in the Cloud
Arun Gupta
 
PDF
Running your Java EE 6 applications in the Cloud (FISL 12)
Arun Gupta
 
PDF
Running your Java EE 6 applications in the Cloud
IndicThreads
 
PDF
Running your Java EE 6 applications in the clouds
Arun Gupta
 
PDF
Running your Java EE 6 applications in the cloud
Arun Gupta
 
PDF
Javaee6 Jazoon 2010 100603081147 Phpapp01
MindTree Ltd
 
PDF
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Arun Gupta
 
PDF
Running your Java EE applications in the Cloud
Arun Gupta
 
PDF
Glassfish Overview 29 Oktober 2009
Eugene Bogaart
 
PDF
Overzicht van de GlassFish technologie, Eugene Bogaart
Jaco Haans
 
PDF
Java EE 6 Clustering with Glassfish 3.1
Shreedhar Ganapathy
 
PDF
GlassFish v3 Prelude Aquarium Paris
Alexis Moussine-Pouchkine
 
PDF
Cloud Computing from an Entrpreneur's Viewpoint
J Singh
 
PDF
Boston 2011 OTN Developer Days - GlassFish
Arun Gupta
 
ODP
Liferay and Cloud
Miguel Pastor
 
PDF
Amdatu - ApacheCon NA 2011
Bram de Kruijff
 
PDF
GlassFish & Java EE Business Update @ CEJUG
Arun Gupta
 
PDF
GlassFish Server 3.1: Deploying your Java EE 6 Applications
Arun Gupta
 
PDF
GlassFish 3.1 at JCertif 2011
Arun Gupta
 
Running your Java EE 6 Applications in the Cloud
Arun Gupta
 
JFokus 2011 - Running your Java EE 6 apps in the Cloud
Arun Gupta
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Arun Gupta
 
Running your Java EE 6 applications in the Cloud
IndicThreads
 
Running your Java EE 6 applications in the clouds
Arun Gupta
 
Running your Java EE 6 applications in the cloud
Arun Gupta
 
Javaee6 Jazoon 2010 100603081147 Phpapp01
MindTree Ltd
 
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Arun Gupta
 
Running your Java EE applications in the Cloud
Arun Gupta
 
Glassfish Overview 29 Oktober 2009
Eugene Bogaart
 
Overzicht van de GlassFish technologie, Eugene Bogaart
Jaco Haans
 
Java EE 6 Clustering with Glassfish 3.1
Shreedhar Ganapathy
 
GlassFish v3 Prelude Aquarium Paris
Alexis Moussine-Pouchkine
 
Cloud Computing from an Entrpreneur's Viewpoint
J Singh
 
Boston 2011 OTN Developer Days - GlassFish
Arun Gupta
 
Liferay and Cloud
Miguel Pastor
 
Amdatu - ApacheCon NA 2011
Bram de Kruijff
 
GlassFish & Java EE Business Update @ CEJUG
Arun Gupta
 
GlassFish Server 3.1: Deploying your Java EE 6 Applications
Arun Gupta
 
GlassFish 3.1 at JCertif 2011
Arun Gupta
 
Ad

More from Arun Gupta (20)

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

Recently uploaded (20)

PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
July Patch Tuesday
Ivanti
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 

Running your Java EE 6 Apps in the Cloud - JavaOne India 2011

  • 1. <Insert Picture Here> Running your Java EE 6 Applications in the Cloud Arun Gupta, Java EE & GlassFish Guy blogs.oracle.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 & Demo • Java EE 6 on • • • • • Multi-cloud Vendor Comparison • Evolving Java EE for Cloud • Conclusions 3
  • 4. Light-weight • Java EE 6 Web Profile • Pruning • Pruned today, means • Optional in the next release • Deleted in the subsequent releases • Technologies marked in Javadocs • EJB 2.x Entity Beans, JAX-RPC, JAXR, JSR 88 4
  • 5. • EJB-in-WAR • No-interface EJB • Optional “web.xml”/”faces- config.xml” • Annotation-driven • @Schedule • @Path • @Inject • ... 5
  • 6. <web-fragment> <filter> <filter-name>wicket.helloworld</filter-name> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> <init-param> <param-name>applicationClassName</param-name> <param-value>...</param-value> </init-param> </filter> <filter-mapping> <filter-name>wicket.helloworld</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-fragment> 6
  • 7. 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 7
  • 8. Oracle Exalogic Elastic Cloud ● Hardware and Software engineered to work together ● 100% Fault-tolerant & Scalable On-Demand ● 30 compute servers, 360 cores, 980 GB Solid-state disk, 40 GB/sec Infiniband, Patch centrally ● Servers, Network, Storage, VM, Operating System, Middleware, Develop/Run all applications 8
  • 10. 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) • Simple Email Service, RDS (Database), FWS (fulfillment), SQS (queue), SNS (notification), CloudWatch (monitoring), FPS (payment), VPC (private cloud), EBS (block storage), ... 10
  • 11. 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 11
  • 12. 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 12
  • 13. mod_jk Managed Using “cladmin” ... GlassFish-1 GlassFish-1 GlassFish-N MySQL 13
  • 14. 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” 14
  • 15. 15
  • 16. GlassFish 3.0.1 JAX-RS EJB 3.1 JPA 2 100,000+ surveys/hr 16
  • 18. 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 18
  • 19. 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 19
  • 20. 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 20
  • 22. Alerts 22
  • 23. 23
  • 24. Pricing http://www.rightscale.com/products/plans-pricing/ 24
  • 26. How to deploy ? Azure Storage 26
  • 27. How to deploy ? Visual Studio Project 27
  • 28. How to deploy ? Launch.ps1 $connection_string = 'DefaultEndpointsProtocol=http;AccountName=YOUR- STORAGE;AccountKey=YOUR-KEY' # JDK $jdk = 'jdk1.6.0_23.zip' download_from_storage 'java' $jdk $connection_string (Get- Location).Path unzip ((Get-Location).Path + "" + $jdk) (Get-Location).Path # GlassFish $glassfish = 'glassfish-3.1-b40.zip' download_from_storage 'apps' $glassfish $connection_string (Get- Location).Path unzip ((Get-Location).Path + "" + $glassfish) (Get-Location).Path # Launch GlassFish .jdk1.6.0_23binjava `-jar .glassfish3glassfishmodulesadmin-cli.jar start-domain --verbose 28
  • 29. How to deploy ? Expose GlassFish ports 29
  • 30. How to deploy ? Publish 30
  • 31. How to deploy ? Publish Service Configuration Service Definition Run.cmd Launch.ps1 http://blogs.oracle.com/arungupta/entry/ttod_155_glassfish_in_azure 31
  • 32. Pricing • Offers - Consumption or Commitment • 30-day FREE pass • Platform offer comparison table 32
  • 35. 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, ... 35
  • 36. Vs Amazon 36
  • 37. 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 37
  • 38. 38
  • 39. 39
  • 40. 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/ 40
  • 42. Vendor Language Compute Storage Provider RightScale Bash, Ruby, Yes Yes Amazon, GoGrid, FlexiScale, Perl Eucalyptus OpenStack REST Yes Yes Several SimpleCloud PHP No Yes, Microsoft, IBM, Rackspace, Queing Nirvanix, GoGrid libcloud Python Yes ?? Several jClouds Java, Yes Yes Several Clojure DeltaCloud Ruby, Create/Start/ No Amazon, GoGrid, OpenNebula, REST Stop/Reboot Rackspace, RHEV-M, /Destroy RimuHosting CloudLoop Java No Yes Amazon, Nirvanix Dasein Java ?? Yes Amazon, Rackspace, vSphere 42
  • 43. From the real Java EE 6 users ... Jigsaw puzzle, Modular, Developers can concentrate standard, less xml, easy, on business logic, Java EE 6 is easy, have I said easy? providing a standard for the infrastructure. Standards compliance, vendor independence, milliseconds and kilobyte deployment Higher integrated specs, simple and annotation driven, single-classloader WARs, next level of industry Faster development, less standard frameworks/complexity, more great code shipped http://blogs.oracle.com/arungupta/tags/community+feedback 43
  • 44. What does Java EE offer to Cloud ? ● Containers ● Injectable services ● Scale to large clusters ● Security model ● ... 44
  • 45. Java EE 7 : JSR 342 NEW • Theme: Cloud • More easily operate on private or public clouds • Deliver functionality as a service with support for features such as multi-tenancy and elasticity • Technology refresh: JMS 2.0, CDI 1.1, ... • Latest web standards: HTML 5 and Web Sockets • Possible JSRs inclusion • Concurrency Utilities for Java EE (JSR 236) • JCache (JSR 107) • New JSRs: Web Sockets, Java JSON API • Modularity and Versioning 45
  • 46. Java EE 7 Schedule NEW • March 2011 Early EG Formed • Q3 2011 Early Draft • Q1 2012 Public Draft • Q3 2012 Final Release 46
  • 47. Java EE JSR Soup NEW • Java EE 7 - JSR 342 • Servlets 3.1 – JSR 340 • Expression Language 3.0 – JSR 341 • Java Message Service 2.0 – JSR 343 • Java Server Faces 2.2 – JSR 344 • Java Persistence API 2.1 – JSR 338 • JAX-RS 2.0 – JSR 339 47
  • 48. GlassFish Server Distributions Distribution License Features • Java EE 6 compatibility GlassFish Server Open CDDL & • Web Profile support Source Edition 3.1 GPLv2 • In-memory replication / clustering Web Profile • Centralized Administration • Java EE 6 compatibility GlassFish Open Source CDDL & • Full Java EE distribution Edition 3.1 GPLv2 • In-memory replication / clustering • Centralized Administration • Adds Oracle GlassFish Server 3.1 Commercial • Oracle GlassFish Server Control Web Profile • Patches, support, knowledge base • Adds Oracle GlassFish Server 3.1 Commercial • Oracle GlassFish Server Control • Patches, support, knowledge base 48
  • 49. 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, Azure, Joyent, and other clouds. • Java EE 7/GlassFish 4.0 will provide a standards-based programming model for PaaS environments. • Talk to us at [email protected]. 49
  • 50. References • glassfish.org • oracle.com/goto/glassfish • blogs.oracle.com/theaquarium • youtube.com/user/GlassFishVideos • @glassfish 50
  • 51. <Insert Picture Here> Running your Java EE 6 Applications in the Cloud Arun Gupta, Java EE & GlassFish Guy blogs.oracle.com/arungupta, @arungupta