Contenu connexe Similaire à IBM MQ in Containers - Think 2018 (20) Plus de Robert Parker (20) IBM MQ in Containers - Think 20181. Think 2018 / March 20, 2018 / © 2018 IBM Corporation
IBM MQ in Containers
Rob Parker
Software Engineer – IBM MQ
2. Please note
IBM’s statements regarding its plans, directions, and intent are subject to change
or withdrawal without notice and at IBM’s sole discretion.
Information regarding potential future products is intended to outline our general
product direction and it should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a commitment, promise,
or legal obligation to deliver any material, code or functionality. Information about potential
future products may not be incorporated into any contract.
The development, release, and timing of any future features or functionality described for our
products remains at our sole discretion.
Performance is based on measurements and projections using standard IBM benchmarks in
a controlled environment. The actual throughput or performance that any user will
experience will vary depending upon many factors, including considerations such as the
amount of multiprogramming in the user’s job stream, the I/O configuration, the storage
configuration, and the workload processed. Therefore, no assurance can be given that an
individual user will achieve results similar to those stated here.
2
3. Contents
3Think 2018 / March 20, 2018 / © 2018 IBM Corporation
Containers 04
Why MQ and Containers 09
What MQ supports 14
What MQ provides 17
Common questions with MQ in containers 22
Use case: IBM MQ SaaS on IBM Cloud 30
4. Think 2018 / March 20, 2018 / © 2018 IBM Corporation 4
Containers
5. Docker
Think 2018 / March 20, 2018 / © 2018 IBM Corporation
Docker allows you to package an application
with all of its dependencies into a
standardized unit for software development.
Container ContainerContainer
Ubuntu
Java
IBM Liberty
Ubuntu
IBM MQ
RHEL
Binary app
Kernel
6. Difference between containers and virtual machines
Think 2018 / March 20, 2018 / © 2018 IBM Corporation
Source: https://www.docker.com/what-container
7. Key benefits of containers
Think 2018 / March 20, 2018 / © 2018 IBM Corporation
• Dependency isolation is good for:
– reliable deployment
– portability of apps between servers
• Small images are good for:
– fast deployment
– scaling up and down quickly
• Process isolation is good for security
• Resource isolation is good for predictability
8. What is container orchestration
8Think 2018 / March 20, 2018 / © 2018 IBM Corporation
• Tools that help you manage containers and
resources they need
• Allows provisioning of containers, groups of
containers, load balancers, etc
• Allows you to set up a cluster of worker nodes
so you can have availability zones or HA of
machines running clusters.
9. Think 2018 / March 20, 2018 / © 2018 IBM Corporation 9
Why MQ and Containers
10. IBM MQ version management
10Think 2018 / March 20, 2018 / © 2018 IBM Corporation
• Containers run from images which are prebuilt.
• These images an entry program and all of its
dependencies.
• You can create a container with a persistent
volume (mounted file system) that stores data
outside of a container’s filesystem.
• You can update the MQ version by running a
container with a new version of MQ and an
existing persistent volume.
/var/mqm
9.0.4 9.0.5
11. Faster deployment of queue managers
11Think 2018 / March 20, 2018 / © 2018 IBM Corporation
• Containers are smaller than VMs giving them a
faster start-up time.
• You can take advantage of this faster startup
time in order to deploy single, resource isolated
queue managers faster
• This allows:
• Developers to quickly provision their own
queue manager
• Fast scaling up of queue managers.
12. MQ high availability options
Think 2018 / March 20, 2018 / © 2018 IBM Corporation
Single resilient
queue manager
– Cloud manages fail-over to
somewhere with spare
capacity
– Networked storage (block
or filesystem), managed
by separate subsystem
Multi-instance
queue manager
– MQ manages fail-over
– Networked storage
(filesystem), managed by
separate subsystem
Replicated data
queue manager
– MQ manages fail-over
– Local block storage,
synchronously replicated
by MQ
13. Wide support of existing container services and orchestration
13Think 2018 / March 20, 2018 / © 2018 IBM Corporation
• IBM MQ is supported on a large number of
container service and container orchestration
services.
• The support statement for IBM MQ and
container does not specify specific container
technologies but does set some requirements.
• This flexibility allows you to place IBM MQ in
containers alongside other IBM products and
connect them.
MQ
WAS IIB
Client app
https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.con.doc/q114484_.htm
14. Think 2018 / March 20, 2018 / © 2018 IBM Corporation 14
What MQ supports
15. MQ container orchestration support
Think 2018 / March 20, 2018 / © 2018 IBM Corporation
MQ is supported in Docker
containers
– IBM will support MQ issues,
agnostic to the orchestration
environment
– The orchestration vendor will
need to support and provide
assistance for orchestration
issues
– Applies to MQ V8.0.0.4 onwards
– IBM recommends using MQ V9
Continuous Delivery release
• Adds web console
• Adds REST APIs
• Easier storage management
(crtmqdir)
• Quicker to receive new features
IBM Cloud
Container
Service
IBM Cloud Private
Red Hat
OpenShift
Microsoft
Azure
Container
Service
Amazon
Elastic
Container
Service
Other
Component
/arch
x86_64 x86_64
ppc64le
(POWER)
s390x
(z/Linux)
x86_64 x86_64 x86_64 *
MQ Server ● ● ▲ ▲ ▲ ▲ ▲ ▲
MQ
Advanced
Server
● ✭ ▲ ▲ ▲ ▲ ▲ ▲
MQ
Advanced
Managed
File Transfer
Agent
▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲
MQ
Salesforce
Bridge
▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲
✭
MQ and image
supported
Supported image and
Helm chart available
MQ supported with
no sample
Supported, and you
need to build your
own image.
▲●
MQ supported with
sample
Supported, and you
need to build your
own image
(samples/blog
available)
https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.co
n.doc/q114484_.htm
16. Packaging and
licensing on
Docker
MQ Basic
• Server
• Client
• SDK
• Web
• Explorer
• Salesforce Bridge
MQ Advanced
• MFT
• AMS
• MQTT
• RDQM
• Blockchain bridge
Licensing for MQ software
Current:
• Use existing MQ license.
• Perpetual PVUs
• Monthly PVUs or VPCs
Possible solutions for future:
• Container based licensing
• Hourly VPCs (usage based)
• Monthly VPCs (peak - TBD)
• PVUs (average - TBD)
16Think 2018 / March 20, 2018 / © 2018 IBM Corporation
17. Think 2018 / March 20, 2018 / © 2018 IBM Corporation 17
What MQ provides
18. Sample container image
Think 2018 / March 20, 2018 / © 2018 IBM Corporation
• Based on IBM MQ Advanced for Developers, but can be re-built with your
licensed copy of IBM MQ or IBM MQ Advanced
• MQ itself is formally supported, but the Docker-specific Bash scripts are only
informally supported by GitHub issues
• Source code available from https://github.com/ibm-messaging/mq-container
• Pre-built image available from:
• Docker Hub: https://hub.docker.com/r/ibmcom/mq/
• Docker Store: https://store.docker.com/images/ibm-mq-advanced
• IBM Cloud Container Registry: https://console.bluemix.net/containers-
kubernetes/home/registryPublicImages
Ubuntu 16.04
IBM MQ Advanced for
Developers
V9.0.5
Docker-specific samples
(bash scripts)
19. Supported container image
Think 2018 / March 20, 2018 / © 2018 IBM Corporation
• Available from IBM Passport Advantage
• Docker-specific tools supported by IBM for use in IBM Cloud Private
• Source code available from https://github.com/ibm-messaging/mq-container
Ubuntu 16.04
IBM MQ Advanced
V9.0.5
Docker-specific code
20. IBM Cloud Private
Think 2018 / March 20, 2018 / © 2018 IBM Corporation
• Out of box Developer sample.
• Easy import of Production ready supported image.
21. Default developer configuration
Think 2018 / March 20, 2018 / © 2018 IBM Corporation
By default, MQ security is completely locked down
You need to configure security according to your
needs
– Users (LDAP, local OS)
– Authorization (who can connect, put, get, etc.)
– TLS (channels, key stores, trust stores)
The default developer configuration (Docker-only)
makes some choices for you:
– Creates some queues and topics for you
– Use local OS for users, and create the following:
• admin – has administrative permissions
• app – can connect, put and get to the default
queues and topics
– Sets up a TLS channel, if you supply a key store
– Sets up the web server using the same set of
users and TLS keys
22. Think 2018 / March 20, 2018 / © 2018 IBM Corporation 22
Common questions with MQ in containers
23. MQ high availability options - containers
Think 2018 / March 20, 2018 / © 2018 IBM Corporation
Single resilient
queue manager
Multi-instance
queue manager
– Possible, but adds very
little over single resilient
queue manager
– Double the resource cost
Replicated data
queue manager
– Unsuitable for most public
cloud container services,
because it requires
changes to container host
(kernel module)
– Untested in containers
24. How does MQ HA work in containers?
24Think 2018 / March 20, 2018 / © 2018 IBM Corporation
Section title
• With orchestration you can set up a
cluster of worker nodes.
• Using orchestration you can add an extra
option for HA in containers.
• Use stateful sets with a required container
number of 1.
• Add a liveness/health check to your container.
• If orchestration detects a problem with
container it will automatically recreate it.
25. MQ recovery times (estimates*)
Think 2018 / March 20, 2018 / © 2018 IBM Corporation
Single resilient queue manager (VM)
Single resilient queue manager (container)
Multi-instance queue manager
Replicated data queue manager
Reconnect 1000 clients Detect failure Replay transaction logs Start queue manager Boot VM Download image to new host
Images can be pre-
pulled to remove this
This could be much longer, depending on
number of clients, and other application logic
This could be much longer, depending on
transacted message load
* Your mileage will vary
26. How can I Scale IBM MQ in containers?
29Think 2018 / March 20, 2018 / © 2018 IBM Corporation
Section title
• Horizontal scaling is possible with
orchestration software.
• We suggest using existing MQ scaling
functionality (clustering).
• You should still use orchestration stateful
sets of 1 to gain HA benefits
MQ Cluster
27. Think 2018 / March 20, 2018 / © 2018 IBM Corporation 30
Use case: IBM MQ SaaS on IBM Cloud
28. MQ in IBM Cloud
31Think 2018 / March 20, 2018 / © 2018 IBM Corporation
• SaaS offering developed by IBM MQ team
• Available now in IBM Cloud
• Allows provisioning of IBM MQ queue managers
without worry of infrastructure
provisioning/maintenance.
• Built on IBM Cloud container service.
29. MQ in IBM Cloud - HA
32Think 2018 / March 20, 2018 / © 2018 IBM Corporation
IBM Cloud Kuberenetes Cluster
Worker node
1
Worker node
2
Worker node
3
30. MQ in IBM Cloud – MQ upgrade
33Think 2018 / March 20, 2018 / © 2018 IBM Corporation
Your View Backend
Service Instance
QM1
V 9.0.4 r2
Disclaimer! This is an abstract example. May not look/behave like this
QM1
V 9.0.4 r 2
Image list:
• V 9.0.4 r2
31. MQ in IBM Cloud – MQ upgrade
34Think 2018 / March 20, 2018 / © 2018 IBM Corporation
Your View Backend
Service Instance
QM1
V 9.0.4 r2 A new
version is
available!
(v 9.0.5 r1)
Disclaimer! This is an abstract example. May not look/behave like this
QM1
V 9.0.4 r 2
Image list:
• V 9.0.4 r2
• V 9.0.5 r1
32. MQ in IBM Cloud – MQ upgrade
35Think 2018 / March 20, 2018 / © 2018 IBM Corporation
Your View Backend
Service Instance
QM1
V 9.0.5 r1
Disclaimer! This is an abstract example. May not look/behave like this
QM1
V 9.0.5 r 1
Image list:
• V 9.0.4 r2
• V 9.0.5 r1
A new
version is
available!
(v 9.0.5 r1)
33. Where can I get more information?
36Think 2018 / March 20, 2018 / © 2018 IBM Corporation
IBM Messaging developerWorks
https://developer.ibm.com/messaging/ibm-mq/
LinkedIn
ibm.biz/ibmmessaging
34. Notices and disclaimers
37Think 2018 / March 20, 2018 / © 2018 IBM Corporation
© 2018 International Business Machines Corporation. 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 per the terms and conditions of the agreements
under which they are provided.
IBM products are manufactured from new parts or new and used parts.
In some cases, a product may not be new and may have been previously
installed. Regardless, our warranty terms apply.”
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 follows any law.
35. Notices and disclaimers
continued
38Think 2018 / March 20, 2018 / © 2018 IBM Corporation
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 about 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 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 and [names of other referenced IBM
products and services used in the presentation] 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.
.
36. Thank you
Think 2018 / March 20, 2018 / © 2018 IBM Corporation
ibm.biz/MQThink
Don’t forget to come and visit MQ in the Expo on stand 632 to
find out even more
Talks
Hear from us and
your fellow users
Interactive
sessions
Learn whilst
shaping the future
of MQ
Deep dives
Find out more with
exclusive sessions
on Integration
Labs
Get hands-on
with the new
features
Inner Circle
See what’s coming
next
Robert Parker
Software Engineer – IBM MQ
—
parrobe@uk.ibm.com
ibm.com
Notes de l'éditeur IBM Confidential Persistent Volume can be managed manually, or automatically via a Kubernetes Storage Class