Running your Java EE 6 applications in the Cloud (FISL 12)
Upcoming SlideShare
Loading in...5
×
 

Running your Java EE 6 applications in the Cloud (FISL 12)

on

  • 5,054 views

Running your Java EE 6 applications in the Cloud (FISL 12)

Running your Java EE 6 applications in the Cloud (FISL 12)

Statistics

Views

Total Views
5,054
Slideshare-icon Views on SlideShare
2,608
Embed Views
2,446

Actions

Likes
0
Downloads
36
Comments
0

11 Embeds 2,446

http://blogs.oracle.com 2293
https://blogs.oracle.com 90
http://httpwebpages.com 45
http://translate.googleusercontent.com 5
http://a0.twimg.com 3
http://feeds.feedburner.com 3
http://us-w1.rockmelt.com 3
http://webcache.googleusercontent.com 1
http://www.javaoracleblog.com 1
http://141.146.8.135 1
https://twitter.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Running your Java EE 6 applications in the Cloud (FISL 12) Running your Java EE 6 applications in the Cloud (FISL 12) Presentation Transcript

    • <Insert Picture Here>Running your Java EE Applications in the CloudArun Gupta, Java EE & GlassFish Guyblogs.oracle.com/arungupta, @arungupta
    • The following/preceding is intended to outline ourgeneral product direction. It is intended forinformation purposes only, and may not beincorporated into any contract. It is not acommitment to deliver any material, code, orfunctionality, and should not be relied upon inmaking purchasing decisions.The development, release, and timing of anyfeatures or functionality described for Oracle’sproducts 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
    • Oracles 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 uponresearch 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_NAMEworker.list=worker1 in GlassFish instances## Define an ajp13 worker to represent instance1worker.instance1.type=ajp13worker.instance1.host=ec2-67-202-51-223.compute-1.amazonaws.comworker.instance1.port=8009## Define an ajp13 worker to represent instance2worker.instance2.type=ajp13worker.instance2.host=ec2-67-202-7-236.compute-1.amazonaws.comworker.instance2.port=8009## Define the type of worker1worker.worker1.type=lb# Add inst1 and inst2 to the balance_workers property of worker1worker.worker1.balance_workers=instance1,instance2 12
    • mod_jk Managed Using “cladmin” ...GlassFish-1 GlassFish-2 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 2100,000+surveys/hr 16
    • Pricinghttp://aws.amazon.com/ec2/pricing/ 17
    • Java EE 6 on RightScale Cloud Applications Automation Cloud-Ready ExpertiseRightScale Architecture Solutions & Support Web Site Right Grid Scripts Amazon Amazon Amazon Amazon IBM Rackspace VMWare US East US West EU Asia Cloud 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 ?Publish Service Configuration Service Definition Run.cmd Launch.ps1 http://blogs.oracle.com/arungupta/entry/ttod_155_glassfish_in_azure 28
    • How to deploy ?Expose GlassFish ports 29
    • How to deploy ? Launch.ps1$connection_string =DefaultEndpointsProtocol=http;AccountName=YOUR-STORAGE;AccountKey=YOUR-KEY# JDK$jdk = jdk1.6.0_23.zipdownload_from_storage java $jdk $connection_string (Get-Location).Pathunzip ((Get-Location).Path + "" + $jdk) (Get-Location).Path# GlassFish$glassfish = glassfish-3.1-b40.zipdownload_from_storage apps $glassfish $connection_string (Get-Location).Pathunzip ((Get-Location).Path + "" + $glassfish) (Get-Location).Path# Launch GlassFish.jdk1.6.0_23binjava `-jar.glassfish3glassfishmodulesadmin-cli.jar start-domain --verbose 30
    • How to deploy ?Publish 31
    • Pricing• Offers - Consumption or Commitment • 30-day FREE pass• Platform offer comparison table 32
    • Pricinghttp://www.microsoft.com/windowsazure/offers/popup/popup.aspx?lang=en&locale=en-US&offer=COMPARE_PUBLIC 33
    • Tweet and Blog It!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
    • VsAmazon 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
    • Pricinghttp://www.joyentcloud.com/support/levels/ 40
    • Multi-cloud Vendors 41
    • Vendor Language Compute Storage ProviderRightScale Bash, Ruby, Yes Yes Amazon, GoGrid, FlexiScale, Perl EucalyptusOpenStack REST Yes Yes SeveralSimpleCloud PHP No Yes, Microsoft, IBM, Rackspace, Queing Nirvanix, GoGridlibcloud Python Yes ?? SeveraljClouds Java, Yes Yes Several ClojureDeltaCloud Ruby, Create/Start/ No Amazon, GoGrid, OpenNebula, REST Stop/Reboot Rackspace, RHEV-M, /Destroy RimuHostingCloudLoop Java No Yes Amazon, NirvanixDasein Java ?? Yes Amazon, Rackspace, vSphereCumulogic Language/IaaS-agnsotic PaaSCloudBees Java JVM-based PaaSOpenShift Java, PHP Java PaaS, MySQL, MongoDBCloudFoundry Spring, Several Rails, Node.js 42
    • Jigsaw puzzle, From the real users ... Modular, standard, less xml, easy, easy, have I Developers can concentrate said easy? on business logic, Java EE 6 is providing a standard for Standards compliance, vendor the infrastructure. independence, milliseconds and kilobyte deployment Faster development,Higher integrated specs, less frameworks, lesssimple and annotation driven, complexity, more greatsingle-classloader WARs, code shippednext level of industrystandard Definite excuse to avoid Spring forever Simplified Java Not your fat grandfathers Development, Focus on enterprise Java anymore, building great products enterprise Java renaissance 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 • Multi-tenancy and elasticity• Technology refresh: JMS 2.0, CDI 1.1, ...• HTML 5 and Web Sockets, WebSockets, Java JSON API• Possible JSRs inclusion • Concurrency Utilities for Java EE (JSR 236) • JCache (JSR 107)• Modularity and Versioning 45
    • Java EE 7 Schedule NEW• March 2011 Early EG Formed• Q3 2011 Early Draft• Q1 2012 Public Draft• Q4 2012 Final Release 46
    • Java EE 7 JSR Soup NEW• Java Persistence API 2.1 – JSR 338• JAX-RS 2.0 – JSR 339• Servlets 3.1 – JSR 340• Expression Language 3.0 – JSR 341• Java EE 7 – JSR 342• Java Message Service 2.0 – JSR 343• Java Server Faces 2.2 – JSR 344• EJB 3.2 – JSR 345• CDI 1.1 – JSR 346• JCache – JSR 107 47
    • GlassFish Server DistributionsDistribution License Features • Java EE 6 compatibilityGlassFish Server Open CDDL & • Web Profile supportSource Edition 3.1 GPLv2 • In-memory replication / clusteringWeb Profile • Centralized Administration • Java EE 6 compatibilityGlassFish Open Source CDDL & • Full Java EE distributionEdition 3.1 GPLv2 • In-memory replication / clustering • Centralized Administration • AddsOracle GlassFish Server 3.1 Commercial • Oracle GlassFish Server ControlWeb Profile • Patches, support, knowledge base • AddsOracle GlassFish Server 3.1 Commercial • Oracle GlassFish Server Control • Patches, support, knowledge base 48
    • Weblogic in the Cloud• Built-in Coherence grid for session management • Clusters spanning 400 nodes• Virtual Assembly Builder to stamp out environments • Appliances, Deployment Plan, Templates• Zip distribution for lighter-weight development • Download, install, startup < 2 mins• Excellent management tools • DIY Today • TBD: Automated in next release 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 users@glassfish.java.net. 50
    • References• glassfish.org• oracle.com/goto/glassfish• blogs.sun.com/theaquarium• youtube.com/user/GlassFishVideos• @glassfish 51
    • <Insert Picture Here>Running your Java EE 6 Applications in the CloudArun Gupta, Java EE & GlassFish Guyblogs.oracle.com/arungupta, @arungupta