IBM WebSphere Application Server can run in both traditional and Docker environments. Docker provides benefits like consistency across environments, faster build and deployment, higher server density, and separation of concerns between development and operations. IBM supports WebSphere Liberty and traditional editions running in Docker containers. Dockerfiles are available to build WebSphere images containing application servers, deployment managers, and other software components. Organizations can use Docker to improve the deployment and management of WebSphere environments.
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
IBM WebSphere Application Server traditional and Docker
1. IBM WebSphere Application Server
traditional and Docker
David Currie | david_currie@uk.ibm.com | @dcurrie
Tom Banks | tom.banks@uk.ibm.com | @tomwillbanks
2. Agenda
• Overview of Docker
• Docker and IBM
• WebSphere Application Server traditional and Docker
4. 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
December 2014 Docker announces Machine, Swarm and Compose
December 2014 Docker and IBM announce strategic partnership
April 2015 $95 million investment round
February 2016 Docker 1.10 released
5. Container history
5
1982 Bill Joy added chroot to 7th
Edition Unix
2000 FreeBSD 4.0 included Jails for security
2002 Solaris introduced Zones for workload isolation
2008 cgroups and namespace in Linux 2.6.24 kernel
2008 IBM began work on LXC
6. Docker popularity
1200+ contributors
100,000+ images on Docker Hub
3-4 million developers using Docker
2, 000, 000, 000+ i mage downl oads
32,000+ Docker related projects on GitHub
10,000+orgs on
DockerHub
7. Why Docker?
• Reduction in virtualization $$$
• Consistency across environments
• Faster build and deploy
• Security and resilience through isolation
• Higher server density
• Separation of concerns
8. It works for me!
David’s
Desktop
Tom’s
Laptop
Test Staging Data
Center
Cloud
VM
Web
Server
? ? ? ? ? ?
App
Server
? ? ? ? ? ?
Database ? ? ? ? ? ?
Messaging ? ? ? ? ? ?
11. Building Docker images
• Dockerfile: build script that defines:
– an existing image as the starting point
– a set of instructions to augment that image
– meta-data such as the ports exposed
– the command to execute when the image is run
FROM ubuntu:14.04
RUN … # download and install JRE
RUN … # download and install Liberty
EXPOSE 9080 9443
CMD ["server", "run“]
COPY app.war /config/dropins
• Docker build executes the build script creating a layer in the file system for each
instruction and saving the resultant image in a local registry
– docker build -t app .
• Layers are cached and only rebuilt when needed
12. Sharing images via a registry
• docker push can be used to place
the built images in to a shared
registry e.g. Docker Hub, Docker
Trusted Registry or IBM Containers
registry
• docker pull can subsequent be
used to retrieve an image from the
shared registry
• Common layers are stored only
once
13. Running a Docker image
• docker run creates a running instance of an image: a container
– Mounts the layers in the image read-only plus a read-write layer for the container
– Defines Linux namespaces for process, the network stack and filesystem
– Executes the command defines in the image meta-data as a process isolated via those
namespaces
• Ability to restrict resource usage (CPU and memory) through Linux control groups
• Dependency only on Kernel APIs gives portability across Linux distributions
• Consistent management and monitoring APIs across disparate container content
18. Docker and IBM
• Committed to open governance
– Docker Governance Advisory Board (https://docs.docker.com/opensource/governance/)
– Open Container Initiative (https://www.opencontainers.org/)
– Cloud Native Computing Foundation (https://cncf.io/)
• Contributors on Docker projects
• Strategic partnership with Docker (https://www.docker.com/IBM)
– IBM will deliver Docker Trusted Registry as an on-premise solution
– IBM will provide L1 and L2 support for Docker
• Docker ports to Linux on Power and System z
– http://www.ibm.com/developerworks/linux/linux390/docker.html
– https://www.ibm.com/developerworks/library/d-docker-on-power-linux-platform/
• Exploitation by IBM products and services
19. IBM Container Runtime on Bluemix
Automate the build of
Docker images
Manage and distribute
Docker images in
private image
registries
Scale and auto-
recovery built-in
Logging and
Monitoring built-in
Vulnerability scanner
to detect issues and
propose resolution
Client favored
resource usage based
pricing
20. IBM UrbanCode solution for Docker Containers
• Delivery Process Automation
– Define, wire and automate complex
multiple container deployments
• Environment and Configuration
Management
– Manage Docker containers through
delivery stages (dev, test, prod)
– Orchestrate across multiple hosts (IBM
Containers, Private Docker Enterprise) for
hybrid scenarios
– Version Management and Snapshots
• Security, approvals and notifications
– Customize user permissions, quality gates,
and inform stakeholders of deployment
actions
Developer
(Containerized App)
Source Control
• App code
• Docker file
Build Image Registry
Docker
Images
Environment
metadata
(image id)
Docker Trusted
RegistryIBM Containers
IBM UrbanCode Deploy
IBM UrbanCode Build
21. 1. Build, deploy and run Patterns with Docker
containers on PureApplication System, Service and
Software
2. PureApplication brings Enterprise-grade lifecycle
management to Docker
3. Included private Docker registry Pattern deployable
as a shared service
+
Enterprise Strength Docker
Improved Performance
• Faster application deployment, start-up and scaling 92% faster vs. VM deploy
• Higher density deployments 7.8X more containers vs. VMs on same HW
Portability, Hybrid Cloud, Open Ecosystem, Productivity
• More seamless workload movement in hybrid & borderless cloud scenarios
• Access thousands of pre-built applications on DockerHub
Docker and Patterns: Better Together
Patterns
25. WebSphere Application Server Liberty and Docker
• Support for WebSphere Application Server Liberty running under Docker
• WAS Liberty images on Docker Hub for Development use
– Latest WAS V8.5.5 Liberty driver
• Kernel, Java EE 6 Web Profile, and Java EE 7 Web and Full Profile images
– WAS Liberty V9 Beta with Java EE 7
• Dockerfiles on WASdev GitHub to:
– Upgrade the Docker Hub image with Liberty Base or ND commercial license
– Build your own Docker image for Liberty (Core, Base or ND)
– Build an IBM HTTP Server image
26. WAS traditional and Docker
• Support for WebSphere Application Server traditional under Docker
• Dockerfiles/scripts on WASdev GitHub to:
– Build an IBM HTTP server image (https://github.com/WASdev/ci.docker.ibm-
http-server)
– Build a WAS traditional images
(https://github.com/WASdev/ci.docker.websphere-traditional) for
• Developer
• Base
• ND
– Deployment manager
– Application server
– Custom node
26
27. Building a WAS traditional base or developer image
1. Obtain Installation Manager and WAS binaries from Fix Central and
developerWorks or Passport Advantage
2. Host binaries on an HTTP/FTP server
3. Use Dockerfile.prereq to build prereq image
4. Run prereq image to output a TAR file containing the product install
5. Use Dockerfile.install to build install image from TAR file
6. Optionally use Dockerfile.profile to add profile to image
Final image size is around 1.5 GB
27
28. Docker Quick Start
• Linux – run natively e.g. on Ubuntu
– sudo apt-get install docker.io # From distribution repo
– curl -sSL https://get.docker.com/ubuntu/ | sudo sh
– sudo apt-get install docker-engine # From apt.dockerproject.org/repo
• Windows/Mac
– Docker Toolbox (https://www.docker.com/docker-toolbox)
– Run in VM (based on Tiny Core Linux) under VirtualBox
• Docker Machine (https://github.com/docker/machine)
– Create VM with Docker installed
• docker-machine -d virtualbox dev
• docker-machine -d openstack … test
• docker-machine -d softlayer … prod
– Set environment variables to configure docker CLI to use machine
• eval $(docker-machine env dev)
29. Running a traditional server under Docker
$ docker run -p 9060:9060 -p 9080:9080 -d
--name=ws websphere-traditional
$ docker stop ws
$ docker rm ws
•Creates profile if not already created
•Pass -e UPDATE_HOSTNAME=true if hostname in existing profile should
be updated to match host at runtime
•Starts server and then monitors PID file
30. Deploying applications
• For development, use admin console, remote tools support or wsadmin
for application configuration and deployment
• For production, script deployment of application and build in to image
– Use -conntype NONE so that server does not have to be running
30
31. Data volumes
• Expectation is that WAS traditional containers are long-lived (may be
started/stopped multiple times)
• May still be desirable to persist certain files/directories outside of the
container e.g. transaction logs or logs
• Also possible to mount the entire profile as a volume to allow it to be
moved from one install image to another e.g.
– $ docker run -v /opt/IBM/WebSphere/AppServer/profiles -p 9060:9060 -d
websphere-traditional
31
32. Building ND images
• Build an install image as for base/developer but using ND binaries
• Create a Deployment Manager image with a dmgr profile
• Create a managed node image
– Runs a node agent and application server
– Federates to the deployment manager on startup
• Application server (and application) may be configured in to image at
build time (e.g. used as template for cluster member) or created at
runtime via deployment manager
• Some configuration (e.g. SIBus cluster members) must be configured
via deployment manager
32
33. Creating an ND topology
• Create a multi-host overlay network (or use host-level networking)
– $ docker network create cell
• Run deployment manager
– $ docker run --name dmgr -h dmgr --net=cell -p 9060:9060 -d dmgr
• Run application server image that federates to dmgr
– $ docker run --name server1 -h server1 --net=cell -p 9080:9080 -d appserver
33
38. Notices and Disclaimers Con’t.
38
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 h erein 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, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®,
FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG,
Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®,
PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®,
StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, 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.
39. Thank You
Your Feedback is Important!
Access the InterConnect 2016 Conference Attendee
Portal to complete your session surveys from your
smartphone,
laptop or conference kiosk.