[go: up one dir, main page]

0% found this document useful (0 votes)
240 views46 pages

Open Liberty

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 46

WebSphere Application Server

V9 Update:
On Premise and In the Cloud
Ian Robinson: DE, WebSphere Foundation Chief Architect
@ian__robinson
Raj Suryavanshi: Offering Manager
rajsurya@us.ibm.com
Agenda
• Digital transformation is happening: A quick overview
• WAS’s Entry point approach to facilitate customer’s Journey to
Cloud
• Highlights of 2q2016 deliverables: Announcement: June 7, 2016,
eGA: June 24, 2016
• WAS v9 – Highlights
– Create, Connect, Optimize – brief overview
– Deep dive
• Seamlessly upgrade to WebSphere Application Server V9

1
Digital Transformation is happening….Clients are looking to:

Deliver Better, Faster and Cheaper

DevTest in the cloud Implement Microservices


Adopt a hybrid Architecture & leverage Docker
cloud strategy Containers for portability

Integrate seamlessly Continuous


across any platform Hybrid Cloud: Delivery of Apps
the platform for digital
transformation

Optimize the cost Adopt and Expand


of their existing API usage
infrastructure
Add cognitive
Move their IT capabilities
Enhance applications
infrastructure
with new services
to cloud 2
WebSphere supports the entire hybrid cloud landscape
 Integrate seamlessly across anything  Innovation across enterprise IT and new ecosystems

Systems of Insight

Hybrid
CRM ERP Transactions Cloud
Integration bus Systems of Engagement
Social, Mobile, IoT

Systems of Record

WebSphere Application Server

3
WebSphere Application Server
The cornerstone of your cloud strategy
$325K
annual
30%+ 122% infrastructure Industry Leading 30% Intelligent
TCO ROI savings Security better performance Management
WAS on Cloud Liberty by year 3 - Open ID Connect with Java 8 45% less hardware 45% less software
Bluemix vs On- vs Open Source vs. Open Source - Secure Engineering 60% admin savings 90% fewer outages
premises Accreditation O-TTPS

CREATE CONNECT OPTIMIZE

Developer focused to Easy cloud connections for new & Smart management of
speed delivery pipeline existing apps the mission critical

• Lightweight composable runtime - • Create, expose and connect APIs • Leading edge cloud & mobile
perfect for microservices • Re-use existing apps and connect security
• Full integration with any DevOps to “on or off” premises • Enterprise Management of Java &
toolchain for continuous delivery • Deploy anywhere - on premises, Node.js
• Java EE7 market leadership and in cloud or hybrid • High availability: auto-scaling,
support for Open Source dynamic routing, health
management, diagnostics
WAS V9: 2Q16 Key Announcements

Create WAS V9 delivers robust & modern developer environment for speed &
new cloud enterprise scalability
apps • Cloud-First Java app platform - Speed development with composable runtime
and microservices architecture;
• Full Java EE7 certification for both WAS Traditional and Liberty Profiles;
• Leverage Spring and Spring Boot frameworks within applications;
• Quick start cloud native Java apps with Liberty app accelerator and Game-On
exemplar – seamless deploy to IBM Bluemix
• Leverage end-to-end DevOps Toolchain and Garage Method (best practices)
• Portability of apps with Docker support; Deploy to IBM Container Service, Docker
Data Center, and other container services
• Seamlessly manage Java and Node.js apps and APIs through common
management interface

5
WAS V9: 2Q16 Key Announcements (cont.)

Optimize Move apps anywhere, in any way, to increase speed and optimize costs
costs for • Create a borderless environment with easy app portability regardless of architectural
app infra environment (Cloud container services, Docker, VMWare)
• Exploit WAS ND intelligent management for workload optimization and placement
• Move apps to the IBM public cloud with choice of pre-configured environ, flexible PayGo
pricing models
• WAS Liberty app deployment to OpenShift and Pivotal Cloud Foundry running in IBM
SoftLayer, Amazon AWS, Microsoft Azure, and IBM Bluemix
• WAS on Bluemix- Single Tenant : New option to deploy on Cloud
• Ease of use enhancements for caching to optimize user experience

6
WAS V9: 2Q16 Key Announcements (cont.)

Connect Connect to cloud services to integrate new capabilities, improve time to mkt
existing & lower costs
apps & • Seamlessly connect on-premises apps to cloud services like Watson, Cloudant, dashDB.
data API Connect , Log Analytics (beta) - take advantage of latest technologies and extend the
value of existing Java apps
• Optimize use of APIs for exposing and better monetizing traditional apps
• Leverage PayGo models and eliminate risk and complexity of managing these new services
• Leverage “API Connect Essentials” now included in WAS editions

7
Why Java EE7 on WebSphere for Microservices
Production ready, EE7 compliant app server for microservices strategy
• Large Developer base using Java Framework (including Spring
based on Java EE)

• WebSphere designed with lightweight, composable runtime


architecture Lightweight &
composable
• WebSphere’s architecture + Java EE7 = proven, enterprise
development platform for Microservices

• Allows for easy integration with DevOps workflows and Docker


container strategies <64MB
Footprint
• Seamless connectivity to cloud based data and cognitive services

• WAS V9 brings traditional WAS deployments up to the same level Ideal for
of EE7 and Java 8 as WebSphere Liberty microservices
WebSphere Application Server Editions
8x Liberty Core 4x WAS 1x WAS ND
1 PVU of Family
Edition entitles:

1 PVU ND *or*
4 PVUs Base *or*
8 PVUs Liberty Core

OR mix & match

AND can redeploy


new mix over time
 Web, mobile, OSGi apps + Full enterprise + High availability
REMEMBER: Devt (Web profile specification) applications for WAS + Intelligent management
desktops cost 0 PVU traditional and Liberty
High performance + High scalability
(*) for any family transactions + Extended programming
member models
 Subset of Liberty features and more…

WAS Family Edition

9
Composable Java EE Features For Liberty

WebSphere zosConnect-1.2
z/OS zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0 zosLocalAdapters-1.0

collectiveController-1.0 clusterMember-1.0 scalingController-1.0


WebSphere healthAnalyzer-1.0 healthManager-1.0 scalingMember-1.0 dynamicRouting-1.0
ND

Java EE 6 sipServlet-1.0 mediaServerControl-1.0


javaee-7.0 mongodb-2.0 rtcomm-1.0 rtcommGateway-1.0
subset
WebSphere
Base
wsSecurity-1.1 couchdb-1.0 batchManagement-1.0
wsSecuritySaml-1.1 wsAtomicTransaction-1.2

ldapRegistry-3.0 httpWhiteboard-1.0 eventLogging-1.0


WebSphere
Liberty Core
collectiveMember-1.0 osgiConsole-1.0 requestTiming-1.0
json-1.0 restConnector-1.0 oauth-2.0 samlWeb-2.0 osgiAppIntegration-1.0
monitor-1.0 timedOperations-1.0 bells-1.0 openid-2.0
wab-1.0 sessionDatabase-1.0 webCache-1.0 scim-1.0 openidConnectClient-1.0
blueprint-1.0 serverStatus-1.0 javaMail-1.5 spnego-1.0 openidConnectServer-1.0
osgiBundle-1.0 distributedMap-1.0 concurrent-1.0 adminCenter-1.0
passwordUtilities-1.0 federatedRegistry-1.0
bluemixUtility-1.0 constrainedDelegation-1.0
webProfile-6.0 webProfile-7.0 logstashCollector-1.0 apiDiscovery-1.0

10
Composable Java EE Features For Liberty
jaxb-2.2 wasJmsClient-2.0
WebSphere jaxws-2.2 wmqJmsClient-2.0 zosConnect-1.2
z/OS zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0 zosLocalAdapters-1.0
jms-2.0 ejbPersistentTimer-1.0
jca-1.7 appClientSupport-1.0
collectiveController-1.0 clusterMember-1.0
jaspic-1.1
scalingController-1.0
j2eeManagement-1.1
WebSphere healthAnalyzer-1.0 healthManager-1.0 jacc-1.5 scalingMember-1.0 dynamicRouting-1.0
ND jdbc-4.1
concurrent-1.0 jndi-1.0
Java EE 6 sipServlet-1.0 mediaServerControl-1.0
javaee-7.0 mdb-3.2
mongodb-2.0 appSecurity-2.0
rtcomm-1.0 rtcommGateway-1.0
subset
WebSphere ejb-3.2
wsSecurity-1.1 managedBeans-1.0 batchManagement-1.0
couchdb-1.0
Base
ejbRemote-3.2
wsSecuritySaml-1.1 websocket-1.1 wsAtomicTransaction-1.2
ejbHome-3.2 websocket-1.0
ldapRegistry-3.0 httpWhiteboard-1.0 eventLogging-1.0
WebSphere ejbLite-3.2 ssl-1.0
Liberty Core
collectiveMember-1.0 osgiConsole-1.0 requestTiming-1.0
jsf-2.2 beanValidation-1.1
json-1.0 restConnector-1.0 oauth-2.0 samlWeb-2.0 osgiAppIntegration-1.0
monitor-1.0 jsp-2.3
timedOperations-1.0 cdi-1.2
bells-1.0 openid-2.0
wab-1.0 sessionDatabase-1.0 servlet-3.1
webCache-1.0 jpa-2.1
scim-1.0 openidConnectClient-1.0
blueprint-1.0 serverStatus-1.0 jsonp-1.0
javaMail-1.5 el-3.0
spnego-1.0 openidConnectServer-1.0
osgiBundle-1.0 distributedMap-1.0 jaxrs-2.0
concurrent-1.0 jaxrsClient-2.0 adminCenter-1.0
passwordUtilities-1.0
batch-1.0 javaMail-1.5 federatedRegistry-1.0
bluemixUtility-1.0 constrainedDelegation-1.0
webProfile-6.0 webProfile-7.0 logstashCollector-1.0 apiDiscovery-1.0

11
Liberty Server Config: simple server ‘shaping’
<server description="new server"> Features control which capabilities
(bundles) are installed in the server
<!-- Enable features -->
<featureManager>
<feature>servlet-3.1</feature>
<feature>jdbc-4.1</feature> 'instance' configurations specify
</featureManager> multiple resources like applications
and datasource definitions
<webApplication id="blogapp“
location="blogapp.war" name="blogapp"/>

<include location="${shared.config.dir}/datasource.xml"/>
</server>
Any of this configuration could be put
into a separate xml file and 'included' in
this 'master' configuration file

12
Customized Docker containers for Java EE
• WAS Liberty images on Docker Hub
– WAS Liberty containers (currently V8.5.5.8):
• Kernel, Java EE 6 Web Profile, Java EE 7 Web and Full Profile and latest Beta images
• Docker files: https://github.com/WASdev/ci.docker
kernel common webProfile7 javaee7
hub.docker.com/_/websphere-liberty
beta webProfile6

• Dockerfiles in on WASdev GitHub to:


– Simple layer to upgrade to commercial license
– Build your own customized image
FROM websphere-liberty:kernel
COPY server.xml /opt/ibm/wlp/usr/servers/defaultServer/
RUN installUtility install defaultServer

13
WDT Docker Support
• Easy setup an environment for developing and debugging applications
with Liberty running in local or remote Docker container

14
Liberty: Simple to get started locally
1. Download desired archive from http://wasdev.net/repo (e.g. wlp-
webProfile7.zip or wlp-javaee7.zip)
2. unzip <archive>
3. bin/server create myServer
4. cp myapp.war usr/servers/myServer/dropins
5. bin/server run myServer
6. http://localhost:9080/myapp

15
Liberty: Simple to run in any cloud
1. Clean separation of product install and user-defined configuration
2. Easy self-contained deployment of application + server/resource
configuration
build –t myappunder myServer
docker Self-contained
3. To PaaS… cf push myapp –p
wlp/usr/servers/myServer
4. Into a Docker container (CaaS)… wlp/usr/servers/myServer
FROM websphere-liberty dockerfile
COPY myServer /opt/ibm/wlp/usr/servers/defaultServer
5. To IaaS (hosted or on prem)… server package myServer –-include=usr

WLP Runtime Install User Configuration and Resources


16
Liberty Server Package Distribution (Unmanaged)

host1
transfer unzip or
java -jar

app and config host2


+ = transfer unzip or
java -jar
zip or
jar
liberty host3
transfer unzip or
java -jar

17
Liberty Docker Image Distribution (Unmanaged)

host1
pull

app and config


pull
host2
push
+ = Docker
Trusted
Registry

liberty host3
pull
+

18
Intelligent Management with WAS ND
Collectives
Administratively defined policy HTTP/S IHS Load balancing and session affinity/failover
/DP

collective
get dynamic liberty liberty liberty
topology controllers
Operations target individual
liberty liberty liberty liberty
servers or clusters cluster
members
dynamic liberty liberty liberty
start/stop

Admin Script
Dynamic Routing Auto Scaling
Collective Controller Controller starts and Health Management
provides routing updates provisions cluster Takes actions if policies
to Plugin members are breached 19
Intelligent Management with WAS ND
Cells
Administratively defined policy HTTP/S IHS Load balancing and session affinity/failover
/DP

cell
get dynamic WAS WAS WAS
topology trad trad trad

Operations target individual WAS


DMGR WAS WAS
servers or clusters
trad trad trad cluster
members
WAS WAS WAS
dynamic trad trad trad
start/stop
Node Node Node
agent agent agent

Admin Script
Dynamic Routing Auto Scaling
Collective Controller Controller starts and Health Management
provides routing updates provisions cluster Takes actions if policies
to Plugin members are breached 20
ND Intelligent Management: Also Supports Node.js and Docker
Collectives
Administratively defined policy HTTP/S IHS Load balancing and session affinity/failover
/DP

collective
get dynamic liberty liberty liberty
topology controllers
Added deploy rules and REST
API on controller for Liberty Node.js Node.js Node.js
liberty
Docker and Node.js cluster
members
dynamic liberty liberty liberty
start/stop

Admin Script
Dynamic Routing Auto Scaling
Collective Controller Controller starts and Health Management
provides routing updates provisions cluster Takes actions if policies
to Plugin members (Node.js coming soon) are breached 21
Integration with Managed Docker Deployments
Bluemix: IBM Containers
liberty
WAS WAS WAS

WAS Image WAS WAS WAS


Application

WAS
Docker Datacenter
JVM
WAS WAS WAS
OS
WAS WAS WAS

22
Managed Docker Container Deployments
Heterogeneous Container lifecycle and IBM Containers
operational management
• IBM Containers provide a managed runtime WAS WAS WAS
environment for Docker in Bluemix
• On-prem solutions WAS also Image
include Docker
Datacenter, from Docker Inc, which IBM WAS WAS WAS
also supports as a reseller.
Application
• Both provide secure Docker registry, the
ability to deploy and manageWAS multiple-
container Compose topologies and load-
balancing across container clusters using Docker Datacenter
Docker Swarm JVM
WAS WAS WAS
• The choice is transparent to the
WebSphere application container
OS
• Standalone containers or Collectives with WAS WAS WAS
built-in WAS intelligent management.
23
Liberty App Accelerator for Microservice creation
http://wasdev.net/accelerate
 Get a Java-based
microservice that uses
Liberty built and deployed in
< 10min
 Provides configuration for
your application
 Provides code snippets for
your application
 Possible deployment
options:
 Local
 Bluemix
Also See: http://wasdev.net/microservices
24
Feeding the DevOps Toolchains

WDT Git WAS Liberty


Liberty App Jenkins
Docker
Accelerator Trusted
Registry

Configuration Management

25
A microservices adventure
• Exemplar microservices application
– Ployglot
• Core services built using Liberty and Java EE7
• Deployed using Cloud Foundry, Container, and Event-driven runtimes

– Parity between development and test


• Lightweight runtimes and Docker containers support production-like local development

– Ease of integration and extension


• Use Java EE7 and Liberty to create extensions for the game
• JAX-RS for Swagger defined REST APIs
• WebSockets and Rx-Java for asynchronous messaging.

– Open source and extensible


• An “adventure game” where each room is a microservice.
• Anyone can add a new microservice room to the game instance on Bluemix
• Rooms scored on availability and adherence to the Room API
• Rooms with the highest score move towards the middle of the map.

• https://game-on.org/ 26
IBM Bluemix Cloud and WebSphere PaaS

cf push
app.war

IaaS/CaaS

IaaS

VM VM

27
WAS as a Service

S - 2GB RAM, 1vCP, 12.5 GB disk - WAS ND - $1.14/hr


M - 4GB RAM, 2vCP, 25 GB disk - WAS ND - $2.28/hr
L - 8GB RAM, 4vCP, 50 GB disk - WAS ND - $4.56/hr
XL -16GB RAM, 8vCP, 100 GB disk - WAS ND - $9.12/hr
XXL -32GB RAM, 16vCP, 200 GB disk - WAS ND - $18.24/hr

Variable VM sizes
28
WAS as a Service – Single Tenant Option

Deploy WAS for Bluemix VM on


private bare-metal hardware in
which the physical cores,
memory, and storage is isolated Intelligent workload placement, VPN,
firewall, DirectLink high speed
to one customer
connection up to 10Gps, & Softlayer
VLAN spanning to expand to
additional customer solutions
29
Deployment flexibility on additional cloud environments

“I want to run Liberty in a non-IBM PaaS on-premise, in Amazon and Azure. I want all
the components from IBM to be fully supported and I want to use subcapacity pricing.”
Elaine
Systems
Administrator

Solution Highlights:
1. A user can deploy Liberty apps in a Docker container to AWS or Azure.
2. A user can deploy Liberty apps to OpenShift and Pivotal Cloud Foundry
running locally and can apply sub-capacity charging through suitable
configuration.
3. A user can deploy Liberty apps to OpenShift and Pivotal Cloud Foundry
running in Softlayer, AWS or Azure, and can apply sub-capacity charging
through suitable configuration.

30
Bringing efficiencies of cloud-services
to on-premises deployments

31
Enhance Applications with Bluemix Cloud Services
Retail example: WAS integration with Bluemix Watson Services for Cognitive Apps
Systems of Insight
Spanish Product Purchase
Language catalog History

Live Text
Chat
application via Mobile retail
Call Center WebRTC customer
Bluemix
Agent
Watson
Service for
Language
Translation
(Spanish (English
Web &
speaking) mobile speaking)
shopping
application

WebSphere Bluemix Utility


Call Center CRM Inventory
Application System Management WebSphere tool to import Watson
Application Server
service configuration and
Systems of Record
bind service to application
32
Log Analytics with Bluemix BETA
http://logmet.ng.bluemix.net/
 Log analytics for WAS Liberty hosted for you in
Bluemix
 View consolidated data from servers across your hybrid
environment in a single dashboard
 Based on popular ELK technology
 Start monitoring your Liberty servers in minutes
 Index up to 1GB of data per day for free, with 7 days of
data retention

Logs & GC
Trace Events Kibana

Access
FFDC ElasticSearch (your tenant)
Logs

Logstash
Liberty
bluemixLogCollector-1.0
Liberty
Liberty logs.opvis.bluemix.net:9091 Bluemix 33
On-ramp to API Economy

34
API Discovery with Swagger Doc
• New apiDiscovery-1.0 feature makes API from all applications
discoverable via a single RESTful endpoint: /ibm/api/docs
• APIs described using Swagger 2.0 / Open API
• Query parameter allows filtering based on context root
• Supports both JSON and YAML (input and output)
• Specialized extension, /ibm/api/docs/apiconnect, for native integration with API
Connect

API Connect Liberty APIProviders

REST Applications
Admin UI

35
API Discovery Scenarios
• Liberty supports any path toward API discovery:

Top-Down (Documentation before Code)


– Embed an existing Swagger doc inside an application
– Swagger can be created manually or through an editor (e.g. API Connect, or
Swagger’s online editor)
Bottom-Up (Code before Documentation)
– Swagger doc is generated by the runtime based on annotations in the
application (JAX-RS, Swagger, or both)
Mixed
– Existing Swagger doc merged with generated Swagger from annotations
– E.g. Apps that have some JAX-RS and some non-JAX-RS services
36
API Discovery User Interface
• Based on the Open Source Swagger UI
• Available at /ibm/api/explorer

37
Ready for WebSphere
Application Server V9?
Upgrading to WebSphere v9
Migrate today to take advantage of v9 capabilities
• Intelligent management • Integration with cloud services
• API Lifecycle Management • Improved security & availability

Helping the move to traditional WebSphere V9:


• Planning: WebSphere Migration Discovery Tool
• App and Config Migration: WebSphere Migration Toolkit
– Reduces time with configuration migrations & eliminates errors
• Config modelling and transformation: UrbanCode Deploy
– Parameterize/modify and version-control WAS config
50%
Less time to upgrade
Hands-on Support Cut your typical upgrade time
• Migration Team engagement in half with the WebSphere
Application Server Migration Toolkit
• No charge 1 or 2 Day Migration Workshop
• Proof of Concept
Version to Version Upgrade Waiver
• No charge dual entitlement during the upgrade 39
IBM UrbanCode Deploy – WAS Configure Plugin

WAS Configuration Template Creation


DEV

4
Plugin
+ Template Artifact Library QA
Assembled EAR WAS
WAR Config
2 DB
Template

1 Import Application PROD


configuration 3

Deploy and promote application and


configuration across environments
Exemplar
WAS Cell

40
Eliminate Future Migration Costs
New Liberty features, and config, augment rather than replace old ones
Zero migration for unchanged apps on WAS Liberty, regardless of Java
EE version
unzip wlp-javaee7-8.5.5.9.zip

8.5.5.9 old
Your configuration, app
WLP_USER_DIR applications, servlet-3.0
9.0.0.0 resources Server 1
16.0.0.2
unzip wlp-javaee7-8.next.zip new
app
servlet-3.1
Point to your existing JRE Server 2
Within supported software levels. Java 6 will soon be out of service. WebSphere
Each features has a minimum level of Java Liberty 16.0.0.2

41
What’s With the 16.0.0.2?
Liberty Continuous Delivery

WAS V9 introduces a new 9.0.0.0 service stream for traditional WAS fixpacks.
WAS Liberty follows a continuous delivery model with a single service stream – it makes no sense to
persist with a major version for Liberty fixpacks in a ‘versionless’ single delivery stream.
To properly reflect this we are changing Liberty fixpack numbering to:
Y.R.M.F: year.release.modlevel.fixpack
eg 16.0.0.4 would be the fourth fix pack in 2016

The next fixpack after 8.5.5.9 is the second fixpack of 2016 and is numbered 16.0.0.2.
Its just a number - there is no migration required at all to the first V9 release of Liberty: 16.0.0.2.
42
Quick links for Additional Information

WebSphere Application Server v9 new capabilities on YouTube

• Intelligent management • Integration with cloud services


• API Lifecycle Management • Improved security & availability

UrbanCode Accelerate
WebSphere WebSphere
Deploy Microservices
Migration Tools Connect
WAS plugin Creation
• WebSphere Migration • Automatically • WebSphere Liberty ibm.com/cloud-
Discovery Tool migrates App Accelerator computing/connect/
configurations to • http://wasdev.net/mic websphere
• WebSphere Migration newer versions of roservices
Toolkit WAS on premises or
• Urban Code Deploy IBM Bluemix

43
Thank You
Recent Customer requirements delivered
Create and vote on Requests For Enhancement
• https://www.ibm.com/developerworks/rfe/execute?use_case=submitRfe

Update jython level for wsadmin (most voted RFE!)


Liberty quiesce server options
Liberty server maintenance mode
DB2 client reroute
websocket ++
Automatic EAR/WAR expansion
Option to package microservices as a standalone JAR (in addition to zip)
Standalone Web server plugin configuration merge tool for Liberty
OSGi apps access to shared libraries
Liberty web services policy flexible configuration
zos Liberty Request logging to SMF 120-11 records
45

You might also like