24
© 2015 IBM Corporation WebSphere Application Server Liberty Management Chris Vignola STSM, WebSphere Architecture [email protected]

Liberty management

Embed Size (px)

Citation preview

© 2015 IBM Corporation

WebSphereApplication ServerLiberty Management

Chris VignolaSTSM, WebSphere [email protected]

2

Imagine a multitude of Liberty app servers …

… how can you manage it all?

???

3

Liberty Management Objectives

• Light weight

• Flexible

• Scalable

4

Liberty Management Objectives

• Light weight - built on Liberty, agent-less

• Flexible – loosely coupled, cloud-enabled

• Scalable – to 10K servers and counting

5

Liberty Management – The Liberty Collective

• Federation of Liberty servers comprising a loosely coupled multi-server management domain.

• Management function provided by collectiveController-1.0 feature.

• Membership function provided by collectiveMember-1.0 feature.

6

Collective Controller

• Function provided by collectiveController-1.0 feature.

• Provides member registry, operations proxy, and monitoring.

• Clusterable for HA and scale.

• Communicates with members via HTTPS.

7

Collective Member

• Function provided by collectiveMember-1.0 feature.

• Publishes member state and app information.

• Failover model allows connection to any available collective controller.

• Communicates with collective controller via HTTPS.

8

Liberty Collective

Liberty App Serverfeature: collectiveController-1.0

Liberty App Serverfeature: collectiveMember-1.0

Liberty App Serverfeature: collectiveMember-1.0

Liberty App Serverfeature: collectiveMember-1.0

App server identity:

1) Host2) User dir3) Server name

9

Easy Construction thru collective command

• Member management (e.g. add/remove)

• Controller management (e.g. addReplica/removeReplica)

• Host management (e.g. registerHost/unregisterHost)

10

Liberty Admin API

• JMX MBeans

• REST API • Mapping to MBeans • REST-only – e.g. File Transfer

• Admin Center – Web UI

11

Liberty Collective – Admin APIs

Liberty App Serverfeature:

adminCenter-1.0

Liberty App Serverfeature: collectiveMember-1.0

Liberty App Serverfeature: collectiveMember-1.0

Liberty App Serverfeature: collectiveMember-1.0

JMX or RESTcaller

proxied calls

12

Scripting

• Any Java-enabled language (e.g. Jython, JRuby, Groovy, etc)

• Any REST-capable language (e.g. Python, CURL, Go, etc)

• Liberty does not ship a script language runtime

• Samples on wasdev.net

13

Application Deployment

• Best practices • Server package • Blue/Green deployment

• 2 Models

• Bottom up • Push out

14

Bottom-up Deployment

• Create server directly on target system

1. create server1. file transfer server package (recommended)

2. use Liberty ‘server’ command (ok)

2. join to collective

• Manually, scripted, or via dev-ops tool chain

15

Example dev-ops tools chain (bottom up)

Jenkins

Liberty

store pkg/join

16

Server Package Deployment: Managing Config

$WLP_USER_DIR/MyServer/ server.xml apps/ MyApp.war

deploy (apply overrides)

$WLP_USER_DIR/MyServer/ server.xml configDropins/ overrides/ prod.xml apps/ MyApp.war

Controller Members

Liberty Collective

WebSphere Developer Tools

File

Tra

nsfe

r S

ervi

ce

Liberty ServerPackage

Push Out Deployment D

eplo

y To

ol

Ready To Run!

18

View Management – Tags

• Assignable to host, server, app, cluster

• Searchable in Admin Center

19

Clustering

• clusterMember-1.0 feature

• opt-in model

• cluster operations for start/stop/membership

• supports application routing, HA and scale

20

Auto-scaling

• Policy-driven, elastic applications

• scalingController-1.0 and scalingMember-1.0 features

<scalingDefinitions> <scalingPolicy id="cluster1Policy“ min=“2“ max=“5">

<metric name="CPU" min="10" max="70"/> <bind clusters="cluster1"/>

</scalingPolicy> </scalingDefinitions>

21

Auto-scaling …

Liberty App Serverfeature:

scalingController-1.0

Liberty App Serverfeature:

scalingMember-1.0

Liberty App Serverfeature:

scalingMember-1.0

Liberty App Serverfeature:

scalingMember-1.0…

Scalingpolicy

application cluster

dynamic start/stop

Workload

thresholds breaches

22

Dynamic Routing

• Dynamic mode in Web Server plugin for WAS • Dynamically/automatically obtains updates to WAS deployment.• No more re-generation of WAS plugin config.

• Also available in Data Power

• dynamicRouting-1.0 feature

23

Dynamic Routing …

Liberty App Serverfeature:

dynamicRouting-1.0

Liberty App Serverfeature: collectiveMember-1.0

app: ITSOWeb.war

IHSor

DataPower

Liberty App Serverfeature: collectiveMember-1.0

app: ITSOWeb.war

Liberty App Serverfeature: collectiveMember-1.0

app: ITSOWeb.war

http://.../ITSOWeb

App routing info

App routing info and changes are dynamically pushed to routing tier

routing info and change publishing

Thank You

24