Upload
wasdev-community
View
69
Download
0
Embed Size (px)
Citation preview
© 2015 IBM Corporation
WebSphereApplication ServerLiberty Management
Chris VignolaSTSM, WebSphere [email protected]
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
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!
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