<Insert Picture Here>Running your Java EE 6 Applications in the CloudArun Gupta, Java EE & GlassFish Guyblogs.oracle.com/a...
The following/preceding is intended to outline ourgeneral product direction. It is intended forinformation purposes only, ...
Agenda• Introduction to Java EE 6 & Demo• Java EE 6 on  •  •  •  •• Multi-cloud Vendor Comparison• Evolving Java EE for Cl...
Light-weight• Java EE 6 Web Profile• Pruning   • Pruned today, means    • Optional in the next release    • Deleted in the...
• EJB-in-WAR• No-interface EJB• Optional  “web.xml”/”faces-  config.xml”• Annotation-driven  •   @Schedule  •   @Path  •  ...
<web-fragment>    <filter>          <filter-name>wicket.helloworld</filter-name>          <filter-class>org.apache.wicket....
Oracles definition of Cloud Computing●    Virtualized elastic platform for applications    ●        Standards-based applic...
Oracle Exalogic Elastic Cloud●    Hardware and Software    engineered to work together●    100% Fault-tolerant & Scalable ...
Based uponresearch work ...                    9
What is Amazon ?•   Boot server instances, scale up/down, pay-per-use•   EC2: Compute capacity in the cloud•   S3: Storage...
Java EE 6 on Amazon• 2 New AMIs based on Hardened OpenSolaris • Oracle GlassFish Server 3.0 (not released) • Apache HTTP S...
Java EE 6 on Amazon# Define a load-balancing worker                                               AJP_INSTANCE_NAMEworker....
mod_jk                                        Managed                                          Using                      ...
How to Deploy ?• Launch MySQL AMI, create database, user,  privileges, …• Launch 1 or more GlassFish AMI  • Set AJP_INSTAN...
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                                         ...
How to Deploy ?Macro Definition• Launches a new virtual server with clean install  of Ubuntu• Install GlassFish Server Ope...
High Availability Deployment                        DNS Round Robin          Load Balancer-1                 Load Balancer...
RightScripts               21
Alerts         22
23
Pricing          http://www.rightscale.com/products/plans-pricing/                                                        ...
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-KE...
How to deploy ?Expose GlassFish ports                         29
How to deploy ?Publish                  30
How to deploy ?Publish                        Service                      Configuration                         Service  ...
Pricing• Offers - Consumption or Commitment  • 30-day FREE pass• Platform offer comparison table                          ...
Pricinghttp://www.microsoft.com/windowsazure/offers/popup/popup.aspx?lang=en&locale=en-US&offer=COMPARE_PUBLIC            ...
http://blogs.oracle.com/arungupta/entry/wishlist_for_windows_azure                                                        ...
Java EE 6 on Joyent●    High performance and reliable public, private,    and hybrid cloud●    Environment    ●        Lan...
VsAmazon         36
Java EE 6 on Joyent●    Smart Machine (nee Accelerators)    ●        Public IP Address    ●        Root access to Solaris ...
38
39
Pricing • Included support issues      • Inaccessible smart machine      • Slow performance      • System-level functional...
Multi-cloud Vendors                      41
Vendor        Language   Compute         Storage ProviderRightScale    Bash, Ruby, Yes            Yes      Amazon, GoGrid,...
From the real Java EE 6 users ...                                                            Jigsaw puzzle, Modular,Develo...
What does Java EE offer to Cloud ?●    Containers●    Injectable services●    Scale to large clusters●    Security model● ...
Java EE 7 : JSR 342                                                        NEW• Theme: Cloud• More easily operate on priva...
Java EE 7 Schedule                               NEW• March 2011 Early EG Formed• Q3 2011 Early Draft• Q1 2012 Public Draf...
Java EE JSR Soup                                       NEW• Java EE 7 - JSR 342• Servlets 3.1 – JSR 340• Expression Langua...
GlassFish Server DistributionsDistribution                  License      Features                                         ...
Conclusions• Java EE 6 is light-weight, flexible, easy-to-use• GlassFish Server Open Source Edition 3.0 and  Oracle GlassF...
References• glassfish.org• oracle.com/goto/glassfish• blogs.oracle.com/theaquarium• youtube.com/user/GlassFishVideos• @gla...
<Insert Picture Here>Running your Java EE 6 Applications in the CloudArun Gupta, Java EE & GlassFish Guyblogs.oracle.com/a...
Upcoming SlideShare
Loading in …5
×

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

888 views
847 views

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
888
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  1. 1. <Insert Picture Here>Running your Java EE 6 Applications in the CloudArun Gupta, Java EE & GlassFish Guyblogs.oracle.com/arungupta, @arungupta
  2. 2. 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
  3. 3. Agenda• Introduction to Java EE 6 & Demo• Java EE 6 on • • • •• Multi-cloud Vendor Comparison• Evolving Java EE for Cloud• Conclusions 3
  4. 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. 5. • EJB-in-WAR• No-interface EJB• Optional “web.xml”/”faces- config.xml”• Annotation-driven • @Schedule • @Path • @Inject • ... 5
  6. 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. 7. 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
  8. 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
  9. 9. Based uponresearch work ... 9
  10. 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. 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. 12. 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
  13. 13. mod_jk Managed Using “cladmin” ...GlassFish-1 GlassFish-1 GlassFish-N MySQL 13
  14. 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. 15
  16. 16. GlassFish 3.0.1 JAX-RS EJB 3.1 JPA 2100,000+surveys/hr 16
  17. 17. Pricinghttp://aws.amazon.com/ec2/pricing/ 17
  18. 18. Java EE 6 on RightScale Cloud Applications Automation C loud-R eady ExpertiseR 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. 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. 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
  21. 21. RightScripts 21
  22. 22. Alerts 22
  23. 23. 23
  24. 24. Pricing http://www.rightscale.com/products/plans-pricing/ 24
  25. 25. What is Azure ? 25
  26. 26. How to deploy ?Azure Storage 26
  27. 27. How to deploy ?Visual Studio Project 27
  28. 28. 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 28
  29. 29. How to deploy ?Expose GlassFish ports 29
  30. 30. How to deploy ?Publish 30
  31. 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. 32. Pricing• Offers - Consumption or Commitment • 30-day FREE pass• Platform offer comparison table 32
  33. 33. Pricinghttp://www.microsoft.com/windowsazure/offers/popup/popup.aspx?lang=en&locale=en-US&offer=COMPARE_PUBLIC 33
  34. 34. http://blogs.oracle.com/arungupta/entry/wishlist_for_windows_azure 34
  35. 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. 36. VsAmazon 36
  37. 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. 38
  39. 39. 39
  40. 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
  41. 41. Multi-cloud Vendors 41
  42. 42. 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, vSphere 42
  43. 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 forthe infrastructure. Standards compliance, vendor independence, milliseconds and kilobyte deploymentHigher integrated specs,simple and annotation driven,single-classloader WARs,next level of industry Faster development, lessstandard frameworks/complexity, more great code shipped http://blogs.oracle.com/arungupta/tags/community+feedback 43
  44. 44. What does Java EE offer to Cloud ?● Containers● Injectable services● Scale to large clusters● Security model● ... 44
  45. 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. 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. 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. 48. 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
  49. 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. 49
  50. 50. References• glassfish.org• oracle.com/goto/glassfish• blogs.oracle.com/theaquarium• youtube.com/user/GlassFishVideos• @glassfish 50
  51. 51. <Insert Picture Here>Running your Java EE 6 Applications in the CloudArun Gupta, Java EE & GlassFish Guyblogs.oracle.com/arungupta, @arungupta

×