Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and...

49
Get Unstuck with JBoss John Liptak Get Unstuck with JBoss – An Evolutionary Approach June 25, 2015

Transcript of Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and...

Page 1: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Get Unstuck with JBoss

John LiptakGet Unstuck with JBoss – An Evolutionary ApproachJune 25, 2015

Page 2: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Introduction

John Liptak – [email protected]

• Principal Architect in the Technology & Strategy group

• Responsible for:

• Company-wide open source policies and adoption

• Java performance monitoring and management

• Architecture lead for our ongoing WLS JBoss migration and PaaS introduction

• External consulting engagements

2

Page 3: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

My Company

CenturyLink

• Third largest telecom company in the U.S.

• Broadband, Voice, Cloud, Managed Hosting and IT Services

• Operates 58 data centers in North America, Europe and Asia

• 250,000-route-mile U.S. fiber network and a 300,000-route-mile international transport network

3

Page 4: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

4

1930

1997 – 2007

2003

2009

2011

2012 - 2015

Successful history of acquiringand integrating companies;

added 2.0M accesslines between 1997 and 2007

And expanded our footprint

Acquisition of EMBARQ; 7.5million access lines, 2.1

million broadbandcustomers and 450K video

customers in 33 states

Addition of Hosting/Cloud & ITServices capabilities through

acquisitions of Savvis, AppFog, Tier3,DataGardens, Cognilytics & Orchestrate

Qwest acquisition created 3rd

largest telco with revenues of more than $18 billion, a robust national

fiber network, a significantly larger enterprise customer base

Acquired and builtFiber Assets

75 TelephoneCustomers

Our Transformation

Page 5: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Technology Adoption

Everything you need to know you learned before kindergarten:

Why?

How?

What’s Next?

5

Page 6: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Turning the light bulb on

Copyright Myles Pikney

http://www.mylespinkney.com/

6

Page 7: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

How Stuck Are You ??

7

Page 8: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Revolution (2012)

Sprint: Migrating to JBoss Enterprise Middleware in a Big Way

In April of 2011, Sprint approved and funded a major program to replace legacy Oracle WebLogic

and IBM WebSphere with JBoss Enterprise Application Platform. As of June 2012, Sprint expects

to have migrated over 160 applications utilizing 1,000 CPUs of WebLogic and 100,000 PVUs of

WebSphere. Within the scope of this program, Sprint also modernized its infrastructure, migrated

stand-alone servers into virtual machines, replaced legacy web servers with Apache, and

implemented an architecture that significantly increased IT application scalability, flexibility, and

supportability at Sprint.https://www.redhat.com/resourcelibrary/videos/sprint-migrating-to-jboss-enterprise-middleware-in-a-big-way

8

Page 9: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Evolution

Incremental Improvements

Multiple small improvements over time leading to a transformation of the IT ecosystem

Some improvements don’t work and they are not propagated to the next generation.

Extinction

Some products die off because they can’t keep up.

9

Page 10: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

JBoss Value Chain

10

JBoss Enterprise Web Server (EWS)

JBoss Operational Network (JON)

JBoss Enterprise Application Server (EAP))

JBoss Fuse

Page 11: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Open Source Freedom

Freedom from closed source provides needed

flexibility.

Example: object slicing problem

Hibernate uses ROW_NUM to limit query results.

If you use setMaxResults(5)

Fixed by using analytic

DENSE_RANK over partition

by primary key and duplicated order by clause

11

Master Detail

Detail

Detail

Detail

Detail

Detail

Detail

Detail

Page 12: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

HISTORY

Page 13: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

“A disciplined, consistent effort to develop, propagate, and exploit them [innovations] should indeed yield an order-of-

magnitude improvement” – Fred Brook

“All problems in computer science can be solved by another level of

indirection” – Butler Lampson

Page 14: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Historic Progression

Dedicated hardware

Stacked

• Standard Operating Environment

• Requirements

Virtualized

14

Server

App

Server

App App App

Server

App

Server

App

Server

App

Page 15: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Standard Deployment

• Load Balanced

• Highly Available

• Multiple Application Servers

• Separate Database Server

15

Load Balancer

Apache mod_ajp

mod_cluster

Apachemod_ajp

mod_cluster

App ServerEWSEAPWLS

App ServerEWSEAPWLS

DatabaseOracleMySQL

SQLServer

NASNFS v3

Page 16: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Field of Dreams

Build it and they will come:

MySQL

Tomcat (5.5)

Didn’t come

•No monitoring support

•No Admin support

•No platform support

16

Page 17: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Learn from Failure

• Business Case – break even on hardware replacement and reduced memory usage

• Density – Move from old hardware with 1G heaps to new hardware with 256M

• Manageability – Have to provide same or better support to development teams

17

Page 18: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Required Ingredients

• Management Support

• Business Case ROI

• Facts vs. Fear

18

Page 19: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

EVOLUTION

Page 20: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

20

FOSS Migration

0

20

40

60

80

100

120

140

160

180

2010Q1

2010Q2

2010Q3

2010Q4

2011Q1

2011Q2

2011Q3

2011Q4

2012Q1

2012Q2

2012Q3

2012Q4

2013Q1

2013Q2

2013Q3

2013Q4

2014Q1

2014Q2

2014Q3

2014Q4

2015Q1

2015Q2

2015Q3

2015Q4

AP

PLI

CA

TIO

NS

Migration Progress to date

Page 21: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

JBoss Value Chain

21

JBoss Enterprise Web Server (EWS)

JBoss Operational Network (JON)

JBoss Enterprise Application Server (EAP))

JBoss Fuse

Page 22: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Process Evolution Too!

This single process evolved over time to a process with multiple options

Page 23: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Organizational Flexibility

One size did not fit everyone.

Provide options:

• Directing application team work

• Factory model

• Ad-hoc consulting/Mentoring

23

Page 24: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Factory Model

• Get access to source code – work just like developers on the existing team

• Update Application

• Code• Build Process• Deliverable

• Running version in development/integration

• Code review and hand-back step

Page 25: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Standards

• What we provide

• Middleware• Services access

• What we allow

• No editing of configuration files

• How we deploy it

25

Load Balancer

Apache mod_ajp

mod_cluster

Apachemod_ajp

mod_cluster

App ServerEWSEAPWLS

App ServerEWSEAPWLS

DatabaseOracleMySQL

SQLServer

NASNFS v3

Page 26: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Winning Standardization

• Make standards easier than custom efforts

• Provide reasonable defaults• Provide multiple options• Make teams do the extra work for customization

• Solicit input from subject matter experts

• Web developers• Database experts• Networking• Security

• Have a reasonable exception process

• Third party software• Existing contracts• High cost conversions• Time

• Backup• Recovery• Security• Patching• Etc.

Page 27: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Training

Red Hat Consulting

•JBoss ON•EAP•Fuse

Train the trainer consulting

Wiki for converting applications

27

Page 28: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

THE IMPLEMENTATION

Page 29: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Adoption Selection

Pick 3 Apps

• Small, simple, easy win

• Large, simple, visible

• Complex application with flexibility

Include a Technology POC

My list: EJB, JMS, TIBCO RV, Camel, Struts 2, Spring, AspectJ, JAX-RPC, JAX-WS,

REST, native Hibernate and JPA

29

Page 30: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

What to Upgrade?

Required

• JDK 7+

• Remove or replace end of service life products

• Remove or replace components no longer approved

Application wish list

• Framework changes

• Services updates

30

Page 31: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Cost arguments

• JPA vs. Entity upgrade

• RMI

• Corba

• Portal

Windup and tattletale

31

Page 32: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Operational Readiness Review

TIBCO

JMS

EJB

XA Transactions

Spring

Session Replication

BPM

Load and Performance

32

Page 33: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Load Test

Require a Load Test

Java Mission Control

VisualVM

Eclipse

Memory Analysis

Tool (MAT)

33

Page 34: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Deployment

+Standard deployment

+Application artifacts

+Environment (logging, cron jobs, etc.)

= running application

34

Application Servers

Version Control

Distribution (Gold Copy)

Application Properties

De

plo

ymen

t

Binaries

Page 35: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Layers to validate

SSL

Load balancing

Failover

Security

35

Load Balancer

Apache mod_ajp

mod_cluster

Apachemod_ajp

mod_cluster

App ServerEWSEAPWLS

App ServerEWSEAPWLS

DatabaseOracleMySQL

SQLServer

NASNFS v3

Page 36: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

JBoss PRODUCT SPECIFICS

Page 37: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

EWS

Simple –

No editing xml files

•Use META-INF/context.xml for resourcesProperty file deployment

No libraries provided

Auto add truststore or keystore if provided

37

Page 38: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Applications

• Epicentric Portal to iText

• Integration Gateways

• Large numbers of web applications

Page 39: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

JBoss Operational Network

Operations

• Used to track and view performance across multiple layers

• Use custom scripts for deployment

Development access

• Allowing development teams to view data is key

• Share in all environments via LDAP groups

History

• Historical data is the most valuable feature

• What was my application doing last Tuesday at 2:00 a.m.?39

Page 40: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

EAP

Run multiple servers in standalone mode

Startup scripts allow for automatic creation of clones with port offsets

Includes custom JAAS realms for application security

No editing standalone.xml

Property file deployment

Re-sync on startup

XA support

Session Replication

40

Page 41: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

EAP Modules

Provide operations curated modules

• Database Drivers

• Security

Take advantage of multiple versions

if necessary

• JAXB versions

File URI

vfs:// vs. file://Learn about jboss-deployment-structure.xml

41

Page 42: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

EAP CLI Scripts

Allow applications to start with different configurations (standalone, full, full-ha)

Use CLI to customize

• Database pools

• JMS pools

• Database drivers

• URL endpoints for WSDL

42

Page 43: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Applications

• Account services

MDB issues https://access.redhat.com/solutions/475193 caused by GC pauses@ActivationConfigProperty(propertyName = "clientFailureCheckPeriod", propertyValue = "600000")

@ActivationConfigProperty(propertyName = "connectionTTL", propertyValue = "-1")

• Quote to order

Multithreaded deployment issues resolved by adding CDI injected references

Manual JNDI lookups can leave unresolved deployment references

-Dorg.jboss.server.bootstrap.maxThreads=10

Page 44: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Fuse & Fabric8

Features – no random bundles

Take advantage of the , separated directories for configuration directories

Discovery protocol for ActiveMQ

Delaying Fabric8 to 6.2 for application endpoints

Branching fabric GIT repository for multiple applications needed deeper understanding

and working version was not GA.

44

Page 45: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

Applications

• Multiple Model Driven Workflow (MDW) applications upgrading

• OSGi/ServiceMix applications supporting critical billing functionality

Page 46: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

What’s Next

Journey to the Cloud

http://www.thinkgig.com/centurylinks-journey-to-the-cloud-a-new-path-weve-walked-

many-times-before/

CenturyLink IT team has made a commitment to migrate 90% of our strategic

applications to the cloud.

46

Page 47: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

47

FOSS Migration

0

20

40

60

80

100

120

140

160

180

2010Q1

2010Q2

2010Q3

2010Q4

2011Q1

2011Q2

2011Q3

2011Q4

2012Q1

2012Q2

2012Q3

2012Q4

2013Q1

2013Q2

2013Q3

2013Q4

2014Q1

2014Q2

2014Q3

2014Q4

2015Q1

2015Q2

2015Q3

2015Q4

AP

PLI

CA

TIO

NS

Migration Progress to date

Page 48: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss

QUESTIONS & DISCUSSION

Page 49: Get Unstuck with JBoss - Red Hat · PDF fileGet Unstuck with JBoss ... Sprint approved and funded a major program to replace legacy Oracle WebLogic and IBM WebSphere with JBoss