Manage Java Applications in an Open Hybrid Cloud

25
1 Manage Java Applications in an Open Hybrid Cloud John Doyle Senior Product Manager 18 June 2013

description

JBoss EAP 6 architectural overview with a discussion of open hybrid clouds. More technically focused.

Transcript of Manage Java Applications in an Open Hybrid Cloud

Page 1: Manage Java Applications in an Open Hybrid Cloud

1

Manage Java Applications in

an Open Hybrid Cloud

John DoyleSenior Product Manager18 June 2013

Page 2: Manage Java Applications in an Open Hybrid Cloud

2

Page 3: Manage Java Applications in an Open Hybrid Cloud

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

Page 4: Manage Java Applications in an Open Hybrid Cloud

4

Automation

Page 5: Manage Java Applications in an Open Hybrid Cloud

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

Page 6: Manage Java Applications in an Open Hybrid Cloud

6

JBoss EAP 6 Distributed Domain Architecture

● Domain

● DomainController

● HostManager

● ServerGroup

● Cluster

Page 7: Manage Java Applications in an Open Hybrid Cloud

7

Flexible Management

Page 8: Manage Java Applications in an Open Hybrid Cloud

8

Management Options● JBoss EAP Command Line Interface (CLI)

● Graphical Console

● Native Java Interface

● JBoss Operations Network (JON)

● HTTP/REST Interface

● Direct XML Editing

Page 9: Manage Java Applications in an Open Hybrid Cloud

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]

Page 10: Manage Java Applications in an Open Hybrid Cloud

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

Page 11: Manage Java Applications in an Open Hybrid Cloud

11

JBoss EAP 6 Native API

● Native API SampleModelNode 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)

Page 12: Manage Java Applications in an Open Hybrid Cloud

12

JBoss Operations Network – Advanced Manageability

● Central Management and Monitoring

● Multiple Products / Versions

● Configuration Management

● Responsive Provisioning / Deployment

● Performance and Availability Management

● Custom Dashboards

Page 13: Manage Java Applications in an Open Hybrid Cloud

13

Frugal Use of Resources

Page 14: Manage Java Applications in an Open Hybrid Cloud

14

EAP6 Core Architecture

Page 15: Manage Java Applications in an Open Hybrid Cloud

15

Traditional Application Server Classloading

Page 16: Manage Java Applications in an Open Hybrid Cloud

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

Page 17: Manage Java Applications in an Open Hybrid Cloud

17

Performance – Boot-time / Footprint

Cold Boot Time

Cold Boot Memory

Page 18: Manage Java Applications in an Open Hybrid Cloud

18

Open Platform

Page 19: Manage Java Applications in an Open Hybrid Cloud

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

Page 20: Manage Java Applications in an Open Hybrid Cloud

20

EAP in the Cloud

Page 21: Manage Java Applications in an Open Hybrid Cloud

21

JBoss EAP in Red Hat OpenShift

Page 22: Manage Java Applications in an Open Hybrid Cloud

22

JBoss EAP in Red Hat Cloud Forms

Page 23: Manage Java Applications in an Open Hybrid Cloud

23

JBoss EAP with Red Hat Cloud Access

Page 24: Manage Java Applications in an Open Hybrid Cloud

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

Page 25: Manage Java Applications in an Open Hybrid Cloud

● JBoss EAP product information: http://www.redhat.com/products/jbossenterprisemiddleware/application-platform/

● JBoss Operations Network product information: http://www.redhat.com/products/jbossenterprisemiddleware/operations-network/

● Follow Red Hat JBoss Middleware on Facebook: facebook.com/jboss

● Follow Red Hat JBoss Middleware on Twitter: @jboss