1
Manage Java Applications in
an Open Hybrid Cloud
John Doyle
Senior Product Manager
18 June 2013
2
3
What is a cloud-ready architecture
● High degree of Automation
● Flexible Management
● Frugal Use of Resources
● Open Platform
PHYSICAL VIRTUAL PRIVATE PUBLIC
JBOSS ENTERPRISE MIDDLEWARE
4
Automation
5
JBoss EAP 6 Standalone Architecture
● Preserved simplicity
from earlier JBoss
EAP versions
● Server Instance is the
Unit of Automation
● Enhanced by EAP 6
Management APIs
6
JBoss EAP 6 Distributed Domain Architecture
● Domain
● DomainController
● HostManager
● ServerGroup
● Cluster
7
Flexible Management
8
Management Options
● JBoss EAP Command Line Interface (CLI)
● Graphical Console
● Native Java Interface
● JBoss Operations Network (JON)
● HTTP/REST Interface
● Direct XML Editing
9
JBoss EAP 6 Management : jboss-cli
● Transactional Interactive Client
● Connects to Standalone Instance or Domain Controller
● *nix based shell syntax, resources as files
● Contextual command and resource tab-completion
● High-level compound operations
● Persistent Changes
[standalone@localhost:9999 /] cd subsystem=datasources
[standalone@localhost:9999 subsystem=datasources] cd data-source=ExampleDS
[standalone@localhost:9999 data-source=ExampleDS] :flush-
flush-all-connection-in-pool flush-idle-connection-in-pool
[standalone@localhost:9999 data-source=ExampleDS] :flush-all-connection-in-pool
{"outcome" => "success"}
[standalone@localhost:9999 data-source=ExampleDS]
10
JBoss EAP 6 Web Console
● Simple
● Fast
● Lightweight
● Avoids XML Editing
● Single Instance and
Domains
● Mostly Configuration
● Basic monitoring
● Not a JBoss ON
replacement
11
JBoss EAP 6 Native API
● Native API Sample
ModelNode op = new ModelNode();
op.get("operation").set("read­resource­description");
ModelNode address = op.get("address");
address.add("subsystem", "web");
address.add("connector", "http");
op.get("recursive").set(true);
op.get("operations").set(true);
● CLI Equivalent
[localhost:9999 /] /subsystem=web/connector=http:read­resource­
description(recursive=true,operations=true)
12
JBoss Operations Network – Advanced
Manageability
● Central Management and
Monitoring
● Multiple Products / Versions
● Configuration Management
● Responsive Provisioning /
Deployment
● Performance and Availability
Management
● Custom Dashboards
13
Frugal Use of Resources
14
EAP6 Core Architecture
15
Traditional Application Server Classloading
16
Module Class Loading
<module name=”com.bananodyne”>
<main-class
name=”com.bananodyne.Main”/>
<resources>
<resource-root path=”mymain.jar”/>
</resources>
<dependencies>
<module name=”org.slf4j”/>
<module name=”javax.api”/>
<module name=”org.junit”/>
</dependencies>
</module>
<module name=”com.bananodyne”>
<main-class
name=”com.bananodyne.Main”/>
<resources>
<resource-root path=”mymain.jar”/>
</resources>
<dependencies>
<module name=”org.slf4j”/>
<module name=”javax.api”/>
<module name=”org.junit”/>
</dependencies>
</module>
Peer-to-peer delegation
Cyclical Graph
Similar to IDE “projects” or “modules”
JDK split into modules
NOT TRANSITIVE
17
Performance – Boot-time / Footprint
Cold Boot Time
Cold Boot Memory
18
Open Platform
19
Open Platform
● Open Standards are essential for the success of the
Open Hybrid Cloud.
● Open Standards form the links between the
Datacenter, Private Cloud, and Public Cloud.
● Open Standards are the DNA of Red Hat and JBoss.
● Adopt Open Standards whenever possible.
● Create new technology and drive to standards when
possible.
● SEAM -> CDI
● Hibernate -> JPA
20
EAP in the Cloud
21
JBoss EAP in Red Hat OpenShift
22
JBoss EAP in Red Hat Cloud Forms
23
JBoss EAP with Red Hat Cloud Access
24
JBoss : EAP 6 Distributed Domain Architecture
● Domain can
span
environments.
● Secure
management
connections
with SSL or TLS
● JON can also
manage and
monitor hosts
on EC2
EC2
OnPremise
● JBoss EAP product information:
http://www.redhat.com/products/jbossenterprise
middleware/application-platform/
● JBoss Operations Network product information:
http://www.redhat.com/products/jbossenterprise
middleware/operations-network/
● Follow Red Hat JBoss Middleware on
Facebook: facebook.com/jboss
● Follow Red Hat JBoss Middleware on Twitter:
@jboss

Manage Java Applications in an Open Hybrid Cloud

  • 1.
    1 Manage Java Applicationsin an Open Hybrid Cloud John Doyle Senior Product Manager 18 June 2013
  • 2.
  • 3.
    3 What is acloud-ready architecture ● High degree of Automation ● Flexible Management ● Frugal Use of Resources ● Open Platform PHYSICAL VIRTUAL PRIVATE PUBLIC JBOSS ENTERPRISE MIDDLEWARE
  • 4.
  • 5.
    5 JBoss EAP 6Standalone Architecture ● Preserved simplicity from earlier JBoss EAP versions ● Server Instance is the Unit of Automation ● Enhanced by EAP 6 Management APIs
  • 6.
    6 JBoss EAP 6Distributed Domain Architecture ● Domain ● DomainController ● HostManager ● ServerGroup ● Cluster
  • 7.
  • 8.
    8 Management Options ● JBossEAP Command Line Interface (CLI) ● Graphical Console ● Native Java Interface ● JBoss Operations Network (JON) ● HTTP/REST Interface ● Direct XML Editing
  • 9.
    9 JBoss EAP 6Management : jboss-cli ● Transactional Interactive Client ● Connects to Standalone Instance or Domain Controller ● *nix based shell syntax, resources as files ● Contextual command and resource tab-completion ● High-level compound operations ● Persistent Changes [standalone@localhost:9999 /] cd subsystem=datasources [standalone@localhost:9999 subsystem=datasources] cd data-source=ExampleDS [standalone@localhost:9999 data-source=ExampleDS] :flush- flush-all-connection-in-pool flush-idle-connection-in-pool [standalone@localhost:9999 data-source=ExampleDS] :flush-all-connection-in-pool {"outcome" => "success"} [standalone@localhost:9999 data-source=ExampleDS]
  • 10.
    10 JBoss EAP 6Web Console ● Simple ● Fast ● Lightweight ● Avoids XML Editing ● Single Instance and Domains ● Mostly Configuration ● Basic monitoring ● Not a JBoss ON replacement
  • 11.
    11 JBoss EAP 6Native API ● Native API Sample ModelNode op = new ModelNode(); op.get("operation").set("read­resource­description"); ModelNode address = op.get("address"); address.add("subsystem", "web"); address.add("connector", "http"); op.get("recursive").set(true); op.get("operations").set(true); ● CLI Equivalent [localhost:9999 /] /subsystem=web/connector=http:read­resource­ description(recursive=true,operations=true)
  • 12.
    12 JBoss Operations Network– Advanced Manageability ● Central Management and Monitoring ● Multiple Products / Versions ● Configuration Management ● Responsive Provisioning / Deployment ● Performance and Availability Management ● Custom Dashboards
  • 13.
  • 14.
  • 15.
  • 16.
    16 Module Class Loading <modulename=”com.bananodyne”> <main-class name=”com.bananodyne.Main”/> <resources> <resource-root path=”mymain.jar”/> </resources> <dependencies> <module name=”org.slf4j”/> <module name=”javax.api”/> <module name=”org.junit”/> </dependencies> </module> <module name=”com.bananodyne”> <main-class name=”com.bananodyne.Main”/> <resources> <resource-root path=”mymain.jar”/> </resources> <dependencies> <module name=”org.slf4j”/> <module name=”javax.api”/> <module name=”org.junit”/> </dependencies> </module> Peer-to-peer delegation Cyclical Graph Similar to IDE “projects” or “modules” JDK split into modules NOT TRANSITIVE
  • 17.
    17 Performance – Boot-time/ Footprint Cold Boot Time Cold Boot Memory
  • 18.
  • 19.
    19 Open Platform ● OpenStandards are essential for the success of the Open Hybrid Cloud. ● Open Standards form the links between the Datacenter, Private Cloud, and Public Cloud. ● Open Standards are the DNA of Red Hat and JBoss. ● Adopt Open Standards whenever possible. ● Create new technology and drive to standards when possible. ● SEAM -> CDI ● Hibernate -> JPA
  • 20.
  • 21.
    21 JBoss EAP inRed Hat OpenShift
  • 22.
    22 JBoss EAP inRed Hat Cloud Forms
  • 23.
    23 JBoss EAP withRed Hat Cloud Access
  • 24.
    24 JBoss : EAP6 Distributed Domain Architecture ● Domain can span environments. ● Secure management connections with SSL or TLS ● JON can also manage and monitor hosts on EC2 EC2 OnPremise
  • 25.
    ● JBoss EAPproduct information: http://www.redhat.com/products/jbossenterprise middleware/application-platform/ ● JBoss Operations Network product information: http://www.redhat.com/products/jbossenterprise middleware/operations-network/ ● Follow Red Hat JBoss Middleware on Facebook: facebook.com/jboss ● Follow Red Hat JBoss Middleware on Twitter: @jboss