4. Liberty Management Objectives
• Light weight - built on Liberty, agent-less
• Flexible – loosely coupled, cloud-enabled
• Scalable – to 10K servers and counting
3
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.
4
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.
5
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.
6
8. Liberty Collective
7
Liberty App Server
feature:
collectiveController-1.0
Liberty App Server
feature:
collectiveMember-1.0
Liberty App Server
feature:
collectiveMember-1.0
Liberty App Server
feature:
collectiveMember-1.0
…
App server identity:
1) Host
2) User dir
3) Server name
10. Liberty Admin API
• JMX MBeans
• REST API
• Mapping to MBeans
• REST-only – e.g. File Transfer
• Admin Center – Web UI
9
11. Liberty Collective – Admin APIs
10
Liberty App Server
feature:
adminCenter-1.0
Liberty App Server
feature:
collectiveMember-1.0
Liberty App Server
feature:
collectiveMember-1.0
Liberty App Server
feature:
collectiveMember-1.0
…
JMX or
REST
caller
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
11
13. Application Deployment
• Best practices
• Server package
• Blue/Green deployment
• 2 Models
• Bottom up
• Push out
12
14. Bottom-up Deployment
• Create server directly on target system
1. create server
1. file transfer server package (recommended)
2. use Liberty ‘server’ command (ok)
2. join to collective
• Manually, scripted, or via dev-ops tool chain
13
21. Auto-scaling …
20
Liberty App Server
feature:
scalingController-1.0
Liberty App Server
feature:
scalingMember-1.0
Liberty App Server
feature:
scalingMember-1.0
Liberty App Server
feature:
scalingMember-1.0
…
Scaling
policy
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
21
23. Dynamic Routing …
22
Liberty App Server
feature:
dynamicRouting-1.0
Liberty App Server
feature:
collectiveMember-1.0
app:
ITSOWeb.war
…
IHS
or
DataPower
Liberty App Server
feature:
collectiveMember-1.0
app:
ITSOWeb.war
Liberty App Server
feature:
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
Loosely coupled multi-server management domain
Comprised of collective controllers and collective members
Collective controller provides management function
Provided by collectiveController-1.0 feature
Serves as registry of managed app servers
Acts as management proxy
Can be clustered active-active for HA and scale
Collective member is an app server in the management domain
Membership provided by collectiveMember-1.0 feature
Members own their configuration (no centralized copy)
Members join/leave collective via light-weight registration
Members publish basic information about themselves to the registry
Supported MBeans
App Routing information
Server package is app + server config + optionally Liberty runtime itself.