SlideShare a Scribd company logo
1 of 37
Download to read offline
© 2015 IBM Corporation
WebSphere Application Server
Liberty Profile and Docker
Delivering on the Promise of Containers
Ian Robinson
David Currie
Agenda
• What is the promise of containers?
• Overview of Docker
• Docker and IBM
• WebSphere Application Server and Docker
1
What is Docker?
“Docker is an open-source project to easily create
lightweight,
portable,
self-sufficient
containers from any application.”
2
It works for me!
David’s
Desktop
Ian’s
Laptop
Test Staging Data
Center
Cloud
VM
Web Server ? ? ? ? ? ?
App Server ? ? ? ? ? ?
Database ? ? ? ? ? ?
Messaging ? ? ? ? ? ?
3
Containers Everywhere
David’s
Desktop
Ian’s
Laptop
Test Staging Data
Center
Cloud
VM
Web Server
App Server
Database
Messaging
4
Speed
Obtain
within…
Manual
deployment
takes…
Automated
deployment
takes…
Starts in…
Bare Metal Days Hours Minutes Minutes
VM Minutes Minutes Seconds < Minute
Container Seconds Minutes Seconds Seconds
5
Near Bare-Metal Performance
6
http://domino.research.ibm.com/library/cyberdig.nsf/papers/0929052195DD819C85257D2300681E7B/$File/rc25482.pdf
Dev vs Ops
• Dev inside the container
• Code
• Libraries
• Server runtime
• Configuration
• Ops outside the container
• Logging
• Remote access
• Network configuration
• Monitoring
7
Builds on existing technologies
• Namespaces
• e.g. pid, net, ipc, mount
• CGroups
• Control resources for a group of processes
• e.g. memory, CPU
• Layered file system
• aufs, btrfs, device mapper, overlayfs
8
Docker Terminology
• Image – layered file system where each layer references the layer
below
• Dockerfile – build script that defines:
• an existing image as the starting point
• a set of instructions to augment that image (each of which results in a
new layer in the file system)
• meta-data such as the ports exposed
• the command to execute when the image is run
• Container – runtime instance of an image plus a read/write layer
• Docker Hub – centralised repository of Docker images
9
bootfs (Kernel)
ubuntu:14.04 debian:wheezy
ibm-jre:8.0
websphere-liberty:8.5.5 websphere-liberty:beta
app-a app-b app-c app-eapp-d
c1 c2 c3 c4 c5 c6
mongo:latest
c7 c8
= container
= image
Docker Timeline
Jan 2013 First commit
March 2013 Docker 0.1.0 released
April 2014 Docker Governance Advisory Board announced with
representation from IBM
June 2014 Docker 1.0 released
September 2014 $40 million investment round
December 2014 Docker announces Machine, Swarm and Compose
December 2014 Docker and IBM announce strategic partnership
10
Docker and IBM
• Member of the Governance Advisory Board
• Strategic partnership with Docker
• IBM will deliver Docker Hub Enterprise (DHE) as an on-premise
solution
• IBM Containers service on Bluemix
• Docker ports to Linux on Power and System z
• Docker support for Pure Patterns
• Containerised IBM software
11
Docker and WebSphere Application Server
• Support for WebSphere Application Server Liberty Profile
and Full Profile running under Docker
• WAS Liberty images on Docker Hub for Development use
• Latest WAS V8.5.5. Liberty driver
• WAS Liberty V9 Beta with Java EE 7
• Dockerfiles on WASdev GitHub to:
• Upgrade the Docker Hub image with Liberty Core, Base or ND
commercial license
• Build your own Docker image for Liberty or Full Profile
1Q
For rapid development and light-weight
production deployment with high scalability
What is the WebSphere Liberty Profile?
• Web Profile certified (Liberty Core Edition)
• Small footprint (< 54MB), quick startup (< 3 sec)
• Developer-first design of simple, shareable XML
configuration
• Dynamic runtime and configuration
• Unzip install and deploy
• Fidelity to WebSphere Application Server Full Profile
• Monitoring and management through Admin Center
or scripting
• Install new features from repository with no server
restart
• Lightweight collective management scales to 10,000
servers
13
Simple Server Configuration
Any of this configuration could be put into a
separate xml file and 'included' in this
'master' configuration file
'instance' configurations specify
multiple resources like applications
and datasource definitions
Features control which capabilities
(bundles) are installed in the server
'singleton' configurations specify
properties for a runtime service like
logging
14
Liberty Kernel
The Liberty Repository holds all of the content that you can install on
the Liberty Kernel to make your own customized app server
container.
• Repo hosts IBM code as well as
open source integration samples
for popular open source pkgs
• Enables our continuous delivery
• Serves as the base for dynamically
built Buildpacks for Bluemix
www.wasdev.net
WebSphere Liberty Repository:
Key to Continuous Delivery of Business Value
15
WebSphere Application Server 2015
Java EE Web Profile
“Web Profile” is a profile of the
Java Platform, Enterprise Edition
specifically targeted at web
applications
• Including: Servlets; JSPs;
WebSockets; JCA; JTA; JSF;
EJB-lite; and more
WAS Liberty Core WAS Base
WAS ND and
WAS for z
Java EE Full Platform
Provides additional components
for Enterprise applications
• Including: Java Message
Service; JDBC; Java Batch;
Full EJB; and more
Provides additional enterprise
qualities of services
• Including: High Availability;
Caching; Embedded Analytics;
Intelligent Mgmt; Scalability;
z/OS Security; and more
- Java EE Web Profile
- Web, mobile, OSGi apps
- Subset of Liberty profile
- High performance
transactions
Everything in Liberty Core +
- Java messaging
- Web Services
- noSQL Database
Everything in WAS Base +
- Enterprise class clustering
- Topology management
- Intelligent Management
- Caching + Embedded
Analytics
Qualities of Service and Enhanced management
Programming model options
Java EE Full
Platform Plus
16
zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0
zosConnect-1.0
zosLocalAdapters-1.0
scalingController-1.0
scalingMember-1.0
dynamicRouting-1.0
collectiveController-1.0 clusterMember-1.0
mongodb-2.0wsSecurity-1.1
wmqJmsClient-1.1
wasJmsServer-1.0
jmsMdb-3.1
wasJmsClient-1.1jaxws-2.2
jaxb-2.2
wasJmsSecurity-1.0 jca-1.6couchdb-1.0
jcaInboundSecurity-1.6mdb-3.1
jms-1.1
zOS
ND
webProfile-6.0wab-1.0
concurrent-1.0
collectiveMember-1.0
restConnector-1.0
sessionDatabase-1.0
ldapRegistry-3.0
webCache-1.0
jaxrs-1.1
distributedMap-1.0
osgiConsole-1.0
json-1.0
timedOperations-1.0monitor-1.0
oauth-2.0
blueprint-1.0
adminCenter-1.0
openid-2.0
openidConnectServer-1.0
openidConnectClient-1.0
serverStatus-1.0 spnego-1.0
osgiAppIntegration-1.0Core
servlet-3.0
jsp-2.2
jsf-2.0
ejbLite-3.1 jdbc-4.0
jndi-1.0
appSecurity-2.0
managedBeans-1.0
ssl-1.0
beanValidation-1.0
cdi-1.0
jpa-2.0 jsp-2.3
el-3.0
websocket-1.1
jdbc-4.1
servlet-3.1
websocket-1.0
jsonp-1.0
Base
New in
1Q15
New in
4Q14
Web
Profile
spnego-1.0
osgiAppIntegration-1.0
jsp-2.3
el-3.0
websocket-1.1
jdbc-4.1
zosConnect-1.0
zosLocalAdapters-1.0
scalingController-1.0
scalingMember-1.0
dynamicRouting-1.0
couchdb-1.0
openid-2.0
openidConnectServer-1.0
openidConnectClient-1.0
servlet-3.1
websocket-1.0
jsonp-1.0
Repository onlyInstall and Repository
A Truly Composable and Dynamic Server
Based on configurable features
17
Docker Quick Start
• Linux – run natively e.g. on Ubuntu
• sudo apt-get install docker.io
• curl -sSL https://get.docker.com/ubuntu/ | sudo sh
• Windows/Mac – run in VM under VirtualBox
• http://boot2docker.io/
• Docker Machine (https://github.com/docker/machine)
• docker machine -d virtual-box dev
• docker machine -d openstack … test
• docker machine -d softlayer … prod
18
Running a Liberty server under Docker
$ docker run -e LICENSE=accept websphere-liberty
Unable to find image 'websphere-liberty:latest' locally
websphere-liberty:latest: The image you are pulling has been verified
511136ea3c5a: Pull complete
53f858aaaf03: Pull complete
837339b91538: Pull complete
…
74cc1db7db68: Pull complete
2d01e6a9e5c9: Pull complete
da20ffbb1921: Pull complete
Status: Downloaded newer image for websphere-liberty:latest
Launching defaultServer (WebSphere Application Server 8.5.5.4/wlp-
1.0.7.cl50420141211-1039) on IBM J9 VM, version pxa6470_27sr1fp1-
20140708_01 (SR1 FP1) (en_US)
[AUDIT ] CWWKE0001I: The server defaultServer has been launched.
…
19
Useful Docker commands
• Run in the background with a port exposed on the host
• docker run -e LICENSE=accept -p 80:9080 -d --name wlp
websphere-liberty
• docker logs --tail=all -f wlp
• Or allow Docker to allocate ports if running multiple containers
• C=$(docker run -e LICENSE=accept -P -d websphere-liberty)
• docker port $C 9080
• docker logs --tail=all -f $C
• And when you’re done
• docker stop $C
• docker rm $C
20
Mounting a Local Volume for Development
docker run -d -e LICENSE=accept -p 9080:9080
-v /tmp/app.war:/opt/ibm/wlp/usr/servers/defaultServer/dropins/app.war
websphere-liberty
• Updates from the host are now reflected in the container
• It really is a mount – not a copy of the file
• Fine for development, but to ensure we can recreate across
environments we don’t want to be dependent on configuration of
the host
21
Deploying an Application: Option 1
• Build a layer on top of the image containing the application
• Dockerfile
FROM websphere-liberty
ADD app.war /opt/ibm/wlp/usr/servers/defaultServer/dropins/
ENV LICENSE accept
• docker build -t app .
• docker run -d -p 80:9080 -p 443:9443 app
• Modifying the application requires rebuilding and redeploying
just the application layer
22
Deploying an Application: Option 2
• Put the application in a separate data volume container
• Dockerfile
FROM websphere-liberty
ADD app.war /opt/ibm/wlp/usr/servers/defaultServer/dropins/
ENV LICENSE accept
• docker build -t appimage .
• docker run -d -v /opt/ibm/wlp/usr/servers/defaultServer/dropins
--name app appimage true
• docker run -d -p 80:9080 --volumes-from appimage websphere-liberty
• Modifying the application requires rebuilding and redeploying just the
application container AND it doesn’t need to be rebuilt if the application
server container is updated
23
Data Volumes for Logging
• Update Liberty config to log to directory based on hostname
• server.xml
… <logging logDirectory=“${env.HOSTNAME}" /> …
• Dockerfile
FROM websphere-liberty
ADD server.xml /opt/ibm/wlp/usr/servers/defaultServer/
ENV LICENSE accept
• docker build –t wlp-log .
• Create a data volume container for logs
• docker run --name logs -v /logs wlp-log true
• Run one or more Liberty instances
• docker run -d --volumes-from logs wlp-log
• Access consolidated log files
• docker run --volumes-from logs -v `pwd`:/backup ubuntu
sh -c 'tar –czf /backup/backup.tar.gz /logs'
24
Adding Liberty Features
• The websphere-liberty image on Docker Hub only contains
the contents of the runtime install JAR
• Additional features can be added via featureManager and the
online repository
• Example to create an image with the MongoDB feature
– Dockerfile
FROM websphere-liberty
RUN featureManager install --acceptLicense mongodb-2.0
– docker build -t websphere-liberty:mongodb .
25
Container Linking
• Linking provides a mechanism to make containers aware
of one another
• For example, start a container running MongoDB:
• docker run -d --name mongodb dockerfile/mongodb
• Then link it to another container with the alias ‘db’
• docker run -d --link mongodb:db -p 80:9080 app
• /etc/hosts will be updated in the second container to resolve ‘db’
to the correct IP address for the first container
• Configuration in this container can therefore make use of this
alias host name
• server.xml
<mongo libraryRef="lib" hostNames="db" ports="27017"/>
26
Cross-host dependencies
• Container linking only works on a single host
• Two options for dependencies across hosts:
1. Ambassador pattern
– Link to a local container that acts as a port forwarder to a remote
service
– Enables changing the backend service by only restarting the
ambassador
2. Environment variables
– Pass the details of the remote service as environment variables
– For example:
• docker run -e DB=192.0.2.0 -d app
• server.xml
<mongo libraryRef="lib" hostNames=“${env.DB}" ports="27017"/>
27
Obtaining a Production Licensed Image
• Obtain JRE and Liberty or Full Profile binaries from Passport
Advantage and build your own Docker image based on the
Dockerfiles available at https://github.com/WASdev/ci.docker
• Upgrade the Liberty image from Docker Hub using executable
license JARs obtained from Passport Advantage
28
1Q
Creating a Static Topology
• Documentation and scripts to assist in the construction of a
static topology with IHS and Liberty Profile under Docker
29
1Q
Host A
...
Host B
... ...
IHS IHS ...
Performance – Liberty vs Tomcat
30
Liberty performs 2.4x better than Tomcat 8 with a 4 Docker Container topology
Single host – 4 CPUs assigned across 1, 2 or 4 containers
Performance – Liberty vs Wildfly
31
DayTrader 7 workload contains few features of Java EE 7 like Servlet 3.1, Web Sockets
Liberty outperforms Wildfly by greater than x2 running Docker topologies
Questions?
Summary
• What is the promise of containers?
• Overview of Docker
• Docker and IBM
• WebSphere Application Server and Docker
33
Thank You
Your Feedback is
Important!
Access the InterConnect 2015
Conference CONNECT Attendee
Portal to complete your session
surveys from your smartphone,
laptop or conference kiosk.
Notices and Disclaimers
Copyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or
transmitted in any form without written permission from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been
reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM
shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY,
EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF
THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT
OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the
agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without
notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are
presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual
performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products,
programs or services available in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not
necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither
intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal
counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s
business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or
represent or warrant that its services or products will ensure that the customer is in compliance with any law.
Notices and Disclaimers (con’t)
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products in connection with this
publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.
IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to
interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED,
INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any
IBM patents, copyrights, trademarks or other intellectual property right.
• IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORS®, Enterprise Document
Management System™, Global Business Services ®, Global Technology Services ®, Information on Demand,
ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™,
PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®,
pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, SoDA, SPSS, StoredIQ, Tivoli®, Trusteer®,
urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of
International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and
service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on
the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.

More Related Content

What's hot

Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerInstruqt
 
Cloud Foundry and OpenStack
Cloud Foundry and OpenStackCloud Foundry and OpenStack
Cloud Foundry and OpenStackvadimspivak
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionHao Fan
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateAnimesh Singh
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to MicroservicesDavid Currie
 
Running the Oracle SOA Suite Environment in a Docker Container
Running the Oracle SOA Suite Environment in a Docker ContainerRunning the Oracle SOA Suite Environment in a Docker Container
Running the Oracle SOA Suite Environment in a Docker ContainerGuido Schmutz
 
Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Arun Gupta
 
Docker Hub: Past, Present and Future by Ken Cochrane & BC Wong
Docker Hub: Past, Present and Future by Ken Cochrane & BC WongDocker Hub: Past, Present and Future by Ken Cochrane & BC Wong
Docker Hub: Past, Present and Future by Ken Cochrane & BC WongDocker, Inc.
 
Docking, loading, running domino on docker v12
Docking, loading, running domino on docker v12Docking, loading, running domino on docker v12
Docking, loading, running domino on docker v12Daniele Vistalli
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionPeng Xiao
 
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetup
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetupCloud foundry integration-with-openstack-and-docker-bangalorecf-meetup
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetupKrishna-Kumar
 
Docker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developersDocker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developersArun Gupta
 
Monitoring Dell Infrastructure using Docker & Microservices
Monitoring Dell Infrastructure using Docker & MicroservicesMonitoring Dell Infrastructure using Docker & Microservices
Monitoring Dell Infrastructure using Docker & MicroservicesAjeet Singh Raina
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerWeb à Québec
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGAjeet Singh Raina
 
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...WASdev Community
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerAniekan Akpaffiong
 
Top 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's LandscapeTop 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's LandscapeArun Gupta
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerChris Taylor
 

What's hot (20)

Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Cloud Foundry and OpenStack
Cloud Foundry and OpenStackCloud Foundry and OpenStack
Cloud Foundry and OpenStack
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
Developing Enterprise Applications for the Cloud,from Monolith to MicroservicesDeveloping Enterprise Applications for the Cloud,from Monolith to Microservices
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
 
Running the Oracle SOA Suite Environment in a Docker Container
Running the Oracle SOA Suite Environment in a Docker ContainerRunning the Oracle SOA Suite Environment in a Docker Container
Running the Oracle SOA Suite Environment in a Docker Container
 
Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018
 
Docker Hub: Past, Present and Future by Ken Cochrane & BC Wong
Docker Hub: Past, Present and Future by Ken Cochrane & BC WongDocker Hub: Past, Present and Future by Ken Cochrane & BC Wong
Docker Hub: Past, Present and Future by Ken Cochrane & BC Wong
 
Docking, loading, running domino on docker v12
Docking, loading, running domino on docker v12Docking, loading, running domino on docker v12
Docking, loading, running domino on docker v12
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetup
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetupCloud foundry integration-with-openstack-and-docker-bangalorecf-meetup
Cloud foundry integration-with-openstack-and-docker-bangalorecf-meetup
 
Docker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developersDocker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developers
 
Monitoring Dell Infrastructure using Docker & Microservices
Monitoring Dell Infrastructure using Docker & MicroservicesMonitoring Dell Infrastructure using Docker & Microservices
Monitoring Dell Infrastructure using Docker & Microservices
 
Docker Datacenter - CaaS
Docker Datacenter - CaaSDocker Datacenter - CaaS
Docker Datacenter - CaaS
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
 
Top 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's LandscapeTop 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's Landscape
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker
 

Viewers also liked

Τζωρτζ Όργουελ 1984
Τζωρτζ Όργουελ 1984Τζωρτζ Όργουελ 1984
Τζωρτζ Όργουελ 1984Eliastaf
 
Controllo di un braccio robotico mediante i movimenti della mano
Controllo di un braccio robotico mediante i movimenti della manoControllo di un braccio robotico mediante i movimenti della mano
Controllo di un braccio robotico mediante i movimenti della manobasix86
 
5 Business Lessons From A Career In Property Management
5 Business Lessons From A Career In Property Management5 Business Lessons From A Career In Property Management
5 Business Lessons From A Career In Property ManagementEZRManagement
 
HISTORIA DEL INTERNET
HISTORIA DEL INTERNETHISTORIA DEL INTERNET
HISTORIA DEL INTERNETaraceli_mm
 
Industrial disputes act
Industrial disputes actIndustrial disputes act
Industrial disputes actMisbah Shaikh
 
Short film analysis 'The Moped Diaries' (NOT FINISHED)
Short film analysis 'The Moped Diaries' (NOT FINISHED)Short film analysis 'The Moped Diaries' (NOT FINISHED)
Short film analysis 'The Moped Diaries' (NOT FINISHED)ellieschool
 
Mary_Vincent_Resume 6-7-2015
Mary_Vincent_Resume 6-7-2015Mary_Vincent_Resume 6-7-2015
Mary_Vincent_Resume 6-7-2015Marion Vincent
 
Defining managing & publishing ap is in the cloud saa-s
Defining managing & publishing ap is in the cloud   saa-sDefining managing & publishing ap is in the cloud   saa-s
Defining managing & publishing ap is in the cloud saa-ssflynn073
 
NBTC Exhitibition Stands
NBTC Exhitibition StandsNBTC Exhitibition Stands
NBTC Exhitibition StandsNadeem Mohamed
 
Creative Industries Marketing Plan Presentation - S. Jay (University Assignment)
Creative Industries Marketing Plan Presentation - S. Jay (University Assignment)Creative Industries Marketing Plan Presentation - S. Jay (University Assignment)
Creative Industries Marketing Plan Presentation - S. Jay (University Assignment)Tom Pheby
 
tìm chỗ bán đồng hồ casio tại hcm
tìm chỗ bán đồng hồ casio tại hcmtìm chỗ bán đồng hồ casio tại hcm
tìm chỗ bán đồng hồ casio tại hcmfelipe506
 
Lego flood2
Lego flood2Lego flood2
Lego flood2MrsT56
 
Whats new in was liberty security and cloud readiness
Whats new in was liberty   security and cloud readinessWhats new in was liberty   security and cloud readiness
Whats new in was liberty security and cloud readinesssflynn073
 

Viewers also liked (20)

Τζωρτζ Όργουελ 1984
Τζωρτζ Όργουελ 1984Τζωρτζ Όργουελ 1984
Τζωρτζ Όργουελ 1984
 
Возобновляемые источники энергии
Возобновляемые источники энергииВозобновляемые источники энергии
Возобновляемые источники энергии
 
França 
França França 
França 
 
Sharm el shiekh
Sharm el shiekhSharm el shiekh
Sharm el shiekh
 
Pengetahuan lingkungan
Pengetahuan lingkunganPengetahuan lingkungan
Pengetahuan lingkungan
 
Controllo di un braccio robotico mediante i movimenti della mano
Controllo di un braccio robotico mediante i movimenti della manoControllo di un braccio robotico mediante i movimenti della mano
Controllo di un braccio robotico mediante i movimenti della mano
 
5 Business Lessons From A Career In Property Management
5 Business Lessons From A Career In Property Management5 Business Lessons From A Career In Property Management
5 Business Lessons From A Career In Property Management
 
HISTORIA DEL INTERNET
HISTORIA DEL INTERNETHISTORIA DEL INTERNET
HISTORIA DEL INTERNET
 
Sharm el shiekh
Sharm el shiekhSharm el shiekh
Sharm el shiekh
 
Industrial disputes act
Industrial disputes actIndustrial disputes act
Industrial disputes act
 
Short film analysis 'The Moped Diaries' (NOT FINISHED)
Short film analysis 'The Moped Diaries' (NOT FINISHED)Short film analysis 'The Moped Diaries' (NOT FINISHED)
Short film analysis 'The Moped Diaries' (NOT FINISHED)
 
Mary_Vincent_Resume 6-7-2015
Mary_Vincent_Resume 6-7-2015Mary_Vincent_Resume 6-7-2015
Mary_Vincent_Resume 6-7-2015
 
DOS AmberAdam
DOS AmberAdamDOS AmberAdam
DOS AmberAdam
 
Defining managing & publishing ap is in the cloud saa-s
Defining managing & publishing ap is in the cloud   saa-sDefining managing & publishing ap is in the cloud   saa-s
Defining managing & publishing ap is in the cloud saa-s
 
NBTC Exhitibition Stands
NBTC Exhitibition StandsNBTC Exhitibition Stands
NBTC Exhitibition Stands
 
Interactive Mirror
Interactive MirrorInteractive Mirror
Interactive Mirror
 
Creative Industries Marketing Plan Presentation - S. Jay (University Assignment)
Creative Industries Marketing Plan Presentation - S. Jay (University Assignment)Creative Industries Marketing Plan Presentation - S. Jay (University Assignment)
Creative Industries Marketing Plan Presentation - S. Jay (University Assignment)
 
tìm chỗ bán đồng hồ casio tại hcm
tìm chỗ bán đồng hồ casio tại hcmtìm chỗ bán đồng hồ casio tại hcm
tìm chỗ bán đồng hồ casio tại hcm
 
Lego flood2
Lego flood2Lego flood2
Lego flood2
 
Whats new in was liberty security and cloud readiness
Whats new in was liberty   security and cloud readinessWhats new in was liberty   security and cloud readiness
Whats new in was liberty security and cloud readiness
 

Similar to Was liberty profile and docker

Docker intro
Docker introDocker intro
Docker introspiddy
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deploymentjavaonfly
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013dotCloud
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker, Inc.
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM France Lab
 
WebSphere 20th - Application modernization
WebSphere 20th - Application modernizationWebSphere 20th - Application modernization
WebSphere 20th - Application modernizationArthur De Magalhaes
 
Container on azure
Container on azureContainer on azure
Container on azureVishwas N
 
IBM Container Service Overview
IBM Container Service OverviewIBM Container Service Overview
IBM Container Service OverviewKyle Brown
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for DevelopmentChris Tankersley
 
Techdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosTechdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosMike Martin
 
Dockercon eu tour 2015 - Devoxx Casablanca
Dockercon eu tour 2015 - Devoxx CasablancaDockercon eu tour 2015 - Devoxx Casablanca
Dockercon eu tour 2015 - Devoxx CasablancaMichel Courtine
 
DockerCon EU 2015 Barcelona
DockerCon EU 2015 BarcelonaDockerCon EU 2015 Barcelona
DockerCon EU 2015 BarcelonaRoman Dembitsky
 
Getting Started with MariaDB with Docker
Getting Started with MariaDB with DockerGetting Started with MariaDB with Docker
Getting Started with MariaDB with DockerMariaDB plc
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Simon Storm
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Arun prasath
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersRyan Hodgin
 

Similar to Was liberty profile and docker (20)

Docker intro
Docker introDocker intro
Docker intro
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep DiveDocker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction à D...
 
WebSphere 20th - Application modernization
WebSphere 20th - Application modernizationWebSphere 20th - Application modernization
WebSphere 20th - Application modernization
 
Container on azure
Container on azureContainer on azure
Container on azure
 
IBM Container Service Overview
IBM Container Service OverviewIBM Container Service Overview
IBM Container Service Overview
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 
Techdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosTechdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err Microcosmos
 
Docker 101
Docker 101Docker 101
Docker 101
 
Dockercon eu tour 2015 - Devoxx Casablanca
Dockercon eu tour 2015 - Devoxx CasablancaDockercon eu tour 2015 - Devoxx Casablanca
Dockercon eu tour 2015 - Devoxx Casablanca
 
DockerCon EU 2015 Barcelona
DockerCon EU 2015 BarcelonaDockerCon EU 2015 Barcelona
DockerCon EU 2015 Barcelona
 
Getting Started with MariaDB with Docker
Getting Started with MariaDB with DockerGetting Started with MariaDB with Docker
Getting Started with MariaDB with Docker
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
 
Docker
DockerDocker
Docker
 

More from sflynn073

Iag api management architect presentation
Iag   api management architect presentationIag   api management architect presentation
Iag api management architect presentationsflynn073
 
API Management architect presentation
API Management architect presentationAPI Management architect presentation
API Management architect presentationsflynn073
 
Common DataPower use cases, incl Caching with XC-10 appliance.
Common DataPower use cases, incl Caching with XC-10 appliance.Common DataPower use cases, incl Caching with XC-10 appliance.
Common DataPower use cases, incl Caching with XC-10 appliance.sflynn073
 
SAP guided workflow in IBM BPM
SAP guided workflow in IBM BPMSAP guided workflow in IBM BPM
SAP guided workflow in IBM BPMsflynn073
 
Sap guided workflow in ibm bpm
Sap guided workflow in ibm bpmSap guided workflow in ibm bpm
Sap guided workflow in ibm bpmsflynn073
 
Ibm odm fraud detection & management system
Ibm odm   fraud detection & management systemIbm odm   fraud detection & management system
Ibm odm fraud detection & management systemsflynn073
 
IBM BPM Case Manager for knowledge workers
IBM BPM Case Manager for knowledge workersIBM BPM Case Manager for knowledge workers
IBM BPM Case Manager for knowledge workerssflynn073
 
How Nationwide Insurance use IBM Decision Manager and BPM
How Nationwide Insurance use IBM Decision Manager and BPM How Nationwide Insurance use IBM Decision Manager and BPM
How Nationwide Insurance use IBM Decision Manager and BPM sflynn073
 
IBM BPM off prem options
IBM BPM off prem options IBM BPM off prem options
IBM BPM off prem options sflynn073
 
Api management update for optus
Api management update for optusApi management update for optus
Api management update for optussflynn073
 
Data power use cases
Data power use casesData power use cases
Data power use casessflynn073
 
Whats new in data power
Whats new in data powerWhats new in data power
Whats new in data powersflynn073
 
Was liberty in deployments
Was liberty in deploymentsWas liberty in deployments
Was liberty in deploymentssflynn073
 
Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352sflynn073
 
Dev ops tools and was liberty profile
Dev ops tools and was liberty profileDev ops tools and was liberty profile
Dev ops tools and was liberty profilesflynn073
 
Was liberty elastic clusters and centralised admin
Was liberty   elastic clusters and centralised adminWas liberty   elastic clusters and centralised admin
Was liberty elastic clusters and centralised adminsflynn073
 
Monitoring and analytics with was liberty
Monitoring and analytics with was libertyMonitoring and analytics with was liberty
Monitoring and analytics with was libertysflynn073
 
Was liberty at scale
Was liberty at scaleWas liberty at scale
Was liberty at scalesflynn073
 
Was migration benefits, planning, best practices
Was migration benefits, planning, best practicesWas migration benefits, planning, best practices
Was migration benefits, planning, best practicessflynn073
 
Dev ops with liberty, maven and chef
Dev ops with liberty, maven and chefDev ops with liberty, maven and chef
Dev ops with liberty, maven and chefsflynn073
 

More from sflynn073 (20)

Iag api management architect presentation
Iag   api management architect presentationIag   api management architect presentation
Iag api management architect presentation
 
API Management architect presentation
API Management architect presentationAPI Management architect presentation
API Management architect presentation
 
Common DataPower use cases, incl Caching with XC-10 appliance.
Common DataPower use cases, incl Caching with XC-10 appliance.Common DataPower use cases, incl Caching with XC-10 appliance.
Common DataPower use cases, incl Caching with XC-10 appliance.
 
SAP guided workflow in IBM BPM
SAP guided workflow in IBM BPMSAP guided workflow in IBM BPM
SAP guided workflow in IBM BPM
 
Sap guided workflow in ibm bpm
Sap guided workflow in ibm bpmSap guided workflow in ibm bpm
Sap guided workflow in ibm bpm
 
Ibm odm fraud detection & management system
Ibm odm   fraud detection & management systemIbm odm   fraud detection & management system
Ibm odm fraud detection & management system
 
IBM BPM Case Manager for knowledge workers
IBM BPM Case Manager for knowledge workersIBM BPM Case Manager for knowledge workers
IBM BPM Case Manager for knowledge workers
 
How Nationwide Insurance use IBM Decision Manager and BPM
How Nationwide Insurance use IBM Decision Manager and BPM How Nationwide Insurance use IBM Decision Manager and BPM
How Nationwide Insurance use IBM Decision Manager and BPM
 
IBM BPM off prem options
IBM BPM off prem options IBM BPM off prem options
IBM BPM off prem options
 
Api management update for optus
Api management update for optusApi management update for optus
Api management update for optus
 
Data power use cases
Data power use casesData power use cases
Data power use cases
 
Whats new in data power
Whats new in data powerWhats new in data power
Whats new in data power
 
Was liberty in deployments
Was liberty in deploymentsWas liberty in deployments
Was liberty in deployments
 
Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352Was l iberty for java batch and jsr352
Was l iberty for java batch and jsr352
 
Dev ops tools and was liberty profile
Dev ops tools and was liberty profileDev ops tools and was liberty profile
Dev ops tools and was liberty profile
 
Was liberty elastic clusters and centralised admin
Was liberty   elastic clusters and centralised adminWas liberty   elastic clusters and centralised admin
Was liberty elastic clusters and centralised admin
 
Monitoring and analytics with was liberty
Monitoring and analytics with was libertyMonitoring and analytics with was liberty
Monitoring and analytics with was liberty
 
Was liberty at scale
Was liberty at scaleWas liberty at scale
Was liberty at scale
 
Was migration benefits, planning, best practices
Was migration benefits, planning, best practicesWas migration benefits, planning, best practices
Was migration benefits, planning, best practices
 
Dev ops with liberty, maven and chef
Dev ops with liberty, maven and chefDev ops with liberty, maven and chef
Dev ops with liberty, maven and chef
 

Was liberty profile and docker

  • 1. © 2015 IBM Corporation WebSphere Application Server Liberty Profile and Docker Delivering on the Promise of Containers Ian Robinson David Currie
  • 2. Agenda • What is the promise of containers? • Overview of Docker • Docker and IBM • WebSphere Application Server and Docker 1
  • 3. What is Docker? “Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application.” 2
  • 4. It works for me! David’s Desktop Ian’s Laptop Test Staging Data Center Cloud VM Web Server ? ? ? ? ? ? App Server ? ? ? ? ? ? Database ? ? ? ? ? ? Messaging ? ? ? ? ? ? 3
  • 5. Containers Everywhere David’s Desktop Ian’s Laptop Test Staging Data Center Cloud VM Web Server App Server Database Messaging 4
  • 6. Speed Obtain within… Manual deployment takes… Automated deployment takes… Starts in… Bare Metal Days Hours Minutes Minutes VM Minutes Minutes Seconds < Minute Container Seconds Minutes Seconds Seconds 5
  • 8. Dev vs Ops • Dev inside the container • Code • Libraries • Server runtime • Configuration • Ops outside the container • Logging • Remote access • Network configuration • Monitoring 7
  • 9. Builds on existing technologies • Namespaces • e.g. pid, net, ipc, mount • CGroups • Control resources for a group of processes • e.g. memory, CPU • Layered file system • aufs, btrfs, device mapper, overlayfs 8
  • 10. Docker Terminology • Image – layered file system where each layer references the layer below • Dockerfile – build script that defines: • an existing image as the starting point • a set of instructions to augment that image (each of which results in a new layer in the file system) • meta-data such as the ports exposed • the command to execute when the image is run • Container – runtime instance of an image plus a read/write layer • Docker Hub – centralised repository of Docker images 9 bootfs (Kernel) ubuntu:14.04 debian:wheezy ibm-jre:8.0 websphere-liberty:8.5.5 websphere-liberty:beta app-a app-b app-c app-eapp-d c1 c2 c3 c4 c5 c6 mongo:latest c7 c8 = container = image
  • 11. Docker Timeline Jan 2013 First commit March 2013 Docker 0.1.0 released April 2014 Docker Governance Advisory Board announced with representation from IBM June 2014 Docker 1.0 released September 2014 $40 million investment round December 2014 Docker announces Machine, Swarm and Compose December 2014 Docker and IBM announce strategic partnership 10
  • 12. Docker and IBM • Member of the Governance Advisory Board • Strategic partnership with Docker • IBM will deliver Docker Hub Enterprise (DHE) as an on-premise solution • IBM Containers service on Bluemix • Docker ports to Linux on Power and System z • Docker support for Pure Patterns • Containerised IBM software 11
  • 13. Docker and WebSphere Application Server • Support for WebSphere Application Server Liberty Profile and Full Profile running under Docker • WAS Liberty images on Docker Hub for Development use • Latest WAS V8.5.5. Liberty driver • WAS Liberty V9 Beta with Java EE 7 • Dockerfiles on WASdev GitHub to: • Upgrade the Docker Hub image with Liberty Core, Base or ND commercial license • Build your own Docker image for Liberty or Full Profile 1Q
  • 14. For rapid development and light-weight production deployment with high scalability What is the WebSphere Liberty Profile? • Web Profile certified (Liberty Core Edition) • Small footprint (< 54MB), quick startup (< 3 sec) • Developer-first design of simple, shareable XML configuration • Dynamic runtime and configuration • Unzip install and deploy • Fidelity to WebSphere Application Server Full Profile • Monitoring and management through Admin Center or scripting • Install new features from repository with no server restart • Lightweight collective management scales to 10,000 servers 13
  • 15. Simple Server Configuration Any of this configuration could be put into a separate xml file and 'included' in this 'master' configuration file 'instance' configurations specify multiple resources like applications and datasource definitions Features control which capabilities (bundles) are installed in the server 'singleton' configurations specify properties for a runtime service like logging 14
  • 16. Liberty Kernel The Liberty Repository holds all of the content that you can install on the Liberty Kernel to make your own customized app server container. • Repo hosts IBM code as well as open source integration samples for popular open source pkgs • Enables our continuous delivery • Serves as the base for dynamically built Buildpacks for Bluemix www.wasdev.net WebSphere Liberty Repository: Key to Continuous Delivery of Business Value 15
  • 17. WebSphere Application Server 2015 Java EE Web Profile “Web Profile” is a profile of the Java Platform, Enterprise Edition specifically targeted at web applications • Including: Servlets; JSPs; WebSockets; JCA; JTA; JSF; EJB-lite; and more WAS Liberty Core WAS Base WAS ND and WAS for z Java EE Full Platform Provides additional components for Enterprise applications • Including: Java Message Service; JDBC; Java Batch; Full EJB; and more Provides additional enterprise qualities of services • Including: High Availability; Caching; Embedded Analytics; Intelligent Mgmt; Scalability; z/OS Security; and more - Java EE Web Profile - Web, mobile, OSGi apps - Subset of Liberty profile - High performance transactions Everything in Liberty Core + - Java messaging - Web Services - noSQL Database Everything in WAS Base + - Enterprise class clustering - Topology management - Intelligent Management - Caching + Embedded Analytics Qualities of Service and Enhanced management Programming model options Java EE Full Platform Plus 16
  • 18. zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0 zosConnect-1.0 zosLocalAdapters-1.0 scalingController-1.0 scalingMember-1.0 dynamicRouting-1.0 collectiveController-1.0 clusterMember-1.0 mongodb-2.0wsSecurity-1.1 wmqJmsClient-1.1 wasJmsServer-1.0 jmsMdb-3.1 wasJmsClient-1.1jaxws-2.2 jaxb-2.2 wasJmsSecurity-1.0 jca-1.6couchdb-1.0 jcaInboundSecurity-1.6mdb-3.1 jms-1.1 zOS ND webProfile-6.0wab-1.0 concurrent-1.0 collectiveMember-1.0 restConnector-1.0 sessionDatabase-1.0 ldapRegistry-3.0 webCache-1.0 jaxrs-1.1 distributedMap-1.0 osgiConsole-1.0 json-1.0 timedOperations-1.0monitor-1.0 oauth-2.0 blueprint-1.0 adminCenter-1.0 openid-2.0 openidConnectServer-1.0 openidConnectClient-1.0 serverStatus-1.0 spnego-1.0 osgiAppIntegration-1.0Core servlet-3.0 jsp-2.2 jsf-2.0 ejbLite-3.1 jdbc-4.0 jndi-1.0 appSecurity-2.0 managedBeans-1.0 ssl-1.0 beanValidation-1.0 cdi-1.0 jpa-2.0 jsp-2.3 el-3.0 websocket-1.1 jdbc-4.1 servlet-3.1 websocket-1.0 jsonp-1.0 Base New in 1Q15 New in 4Q14 Web Profile spnego-1.0 osgiAppIntegration-1.0 jsp-2.3 el-3.0 websocket-1.1 jdbc-4.1 zosConnect-1.0 zosLocalAdapters-1.0 scalingController-1.0 scalingMember-1.0 dynamicRouting-1.0 couchdb-1.0 openid-2.0 openidConnectServer-1.0 openidConnectClient-1.0 servlet-3.1 websocket-1.0 jsonp-1.0 Repository onlyInstall and Repository A Truly Composable and Dynamic Server Based on configurable features 17
  • 19. Docker Quick Start • Linux – run natively e.g. on Ubuntu • sudo apt-get install docker.io • curl -sSL https://get.docker.com/ubuntu/ | sudo sh • Windows/Mac – run in VM under VirtualBox • http://boot2docker.io/ • Docker Machine (https://github.com/docker/machine) • docker machine -d virtual-box dev • docker machine -d openstack … test • docker machine -d softlayer … prod 18
  • 20. Running a Liberty server under Docker $ docker run -e LICENSE=accept websphere-liberty Unable to find image 'websphere-liberty:latest' locally websphere-liberty:latest: The image you are pulling has been verified 511136ea3c5a: Pull complete 53f858aaaf03: Pull complete 837339b91538: Pull complete … 74cc1db7db68: Pull complete 2d01e6a9e5c9: Pull complete da20ffbb1921: Pull complete Status: Downloaded newer image for websphere-liberty:latest Launching defaultServer (WebSphere Application Server 8.5.5.4/wlp- 1.0.7.cl50420141211-1039) on IBM J9 VM, version pxa6470_27sr1fp1- 20140708_01 (SR1 FP1) (en_US) [AUDIT ] CWWKE0001I: The server defaultServer has been launched. … 19
  • 21. Useful Docker commands • Run in the background with a port exposed on the host • docker run -e LICENSE=accept -p 80:9080 -d --name wlp websphere-liberty • docker logs --tail=all -f wlp • Or allow Docker to allocate ports if running multiple containers • C=$(docker run -e LICENSE=accept -P -d websphere-liberty) • docker port $C 9080 • docker logs --tail=all -f $C • And when you’re done • docker stop $C • docker rm $C 20
  • 22. Mounting a Local Volume for Development docker run -d -e LICENSE=accept -p 9080:9080 -v /tmp/app.war:/opt/ibm/wlp/usr/servers/defaultServer/dropins/app.war websphere-liberty • Updates from the host are now reflected in the container • It really is a mount – not a copy of the file • Fine for development, but to ensure we can recreate across environments we don’t want to be dependent on configuration of the host 21
  • 23. Deploying an Application: Option 1 • Build a layer on top of the image containing the application • Dockerfile FROM websphere-liberty ADD app.war /opt/ibm/wlp/usr/servers/defaultServer/dropins/ ENV LICENSE accept • docker build -t app . • docker run -d -p 80:9080 -p 443:9443 app • Modifying the application requires rebuilding and redeploying just the application layer 22
  • 24. Deploying an Application: Option 2 • Put the application in a separate data volume container • Dockerfile FROM websphere-liberty ADD app.war /opt/ibm/wlp/usr/servers/defaultServer/dropins/ ENV LICENSE accept • docker build -t appimage . • docker run -d -v /opt/ibm/wlp/usr/servers/defaultServer/dropins --name app appimage true • docker run -d -p 80:9080 --volumes-from appimage websphere-liberty • Modifying the application requires rebuilding and redeploying just the application container AND it doesn’t need to be rebuilt if the application server container is updated 23
  • 25. Data Volumes for Logging • Update Liberty config to log to directory based on hostname • server.xml … <logging logDirectory=“${env.HOSTNAME}" /> … • Dockerfile FROM websphere-liberty ADD server.xml /opt/ibm/wlp/usr/servers/defaultServer/ ENV LICENSE accept • docker build –t wlp-log . • Create a data volume container for logs • docker run --name logs -v /logs wlp-log true • Run one or more Liberty instances • docker run -d --volumes-from logs wlp-log • Access consolidated log files • docker run --volumes-from logs -v `pwd`:/backup ubuntu sh -c 'tar –czf /backup/backup.tar.gz /logs' 24
  • 26. Adding Liberty Features • The websphere-liberty image on Docker Hub only contains the contents of the runtime install JAR • Additional features can be added via featureManager and the online repository • Example to create an image with the MongoDB feature – Dockerfile FROM websphere-liberty RUN featureManager install --acceptLicense mongodb-2.0 – docker build -t websphere-liberty:mongodb . 25
  • 27. Container Linking • Linking provides a mechanism to make containers aware of one another • For example, start a container running MongoDB: • docker run -d --name mongodb dockerfile/mongodb • Then link it to another container with the alias ‘db’ • docker run -d --link mongodb:db -p 80:9080 app • /etc/hosts will be updated in the second container to resolve ‘db’ to the correct IP address for the first container • Configuration in this container can therefore make use of this alias host name • server.xml <mongo libraryRef="lib" hostNames="db" ports="27017"/> 26
  • 28. Cross-host dependencies • Container linking only works on a single host • Two options for dependencies across hosts: 1. Ambassador pattern – Link to a local container that acts as a port forwarder to a remote service – Enables changing the backend service by only restarting the ambassador 2. Environment variables – Pass the details of the remote service as environment variables – For example: • docker run -e DB=192.0.2.0 -d app • server.xml <mongo libraryRef="lib" hostNames=“${env.DB}" ports="27017"/> 27
  • 29. Obtaining a Production Licensed Image • Obtain JRE and Liberty or Full Profile binaries from Passport Advantage and build your own Docker image based on the Dockerfiles available at https://github.com/WASdev/ci.docker • Upgrade the Liberty image from Docker Hub using executable license JARs obtained from Passport Advantage 28 1Q
  • 30. Creating a Static Topology • Documentation and scripts to assist in the construction of a static topology with IHS and Liberty Profile under Docker 29 1Q Host A ... Host B ... ... IHS IHS ...
  • 31. Performance – Liberty vs Tomcat 30 Liberty performs 2.4x better than Tomcat 8 with a 4 Docker Container topology Single host – 4 CPUs assigned across 1, 2 or 4 containers
  • 32. Performance – Liberty vs Wildfly 31 DayTrader 7 workload contains few features of Java EE 7 like Servlet 3.1, Web Sockets Liberty outperforms Wildfly by greater than x2 running Docker topologies
  • 34. Summary • What is the promise of containers? • Overview of Docker • Docker and IBM • WebSphere Application Server and Docker 33
  • 35. Thank You Your Feedback is Important! Access the InterConnect 2015 Conference CONNECT Attendee Portal to complete your session surveys from your smartphone, laptop or conference kiosk.
  • 36. Notices and Disclaimers Copyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM. Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided. Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice. Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation. It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law.
  • 37. Notices and Disclaimers (con’t) Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right. • IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORS®, Enterprise Document Management System™, Global Business Services ®, Global Technology Services ®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, SoDA, SPSS, StoredIQ, Tivoli®, Trusteer®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.