Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

IBM MQ in Containers - Think 2018

973 views

Published on

Session on IBM MQ in Containers as presented at Think 2018 Integration sessions

Published in: Software
  • Be the first to comment

IBM MQ in Containers - Think 2018

  1. 1. Think 2018 / March 20, 2018 / © 2018 IBM Corporation IBM MQ in Containers Rob Parker Software Engineer – IBM MQ
  2. 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. 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. 4. Think 2018 / March 20, 2018 / © 2018 IBM Corporation 4 Containers
  5. 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. 6. Difference between containers and virtual machines Think 2018 / March 20, 2018 / © 2018 IBM Corporation Source: https://www.docker.com/what-container
  7. 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. 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. 9. Think 2018 / March 20, 2018 / © 2018 IBM Corporation 9 Why MQ and Containers
  10. 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. 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. 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. 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. 14. Think 2018 / March 20, 2018 / © 2018 IBM Corporation 14 What MQ supports
  15. 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. 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. 17. Think 2018 / March 20, 2018 / © 2018 IBM Corporation 17 What MQ provides
  18. 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. 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. 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. 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. 22. Think 2018 / March 20, 2018 / © 2018 IBM Corporation 22 Common questions with MQ in containers
  23. 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. 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. 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. 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. 27. Think 2018 / March 20, 2018 / © 2018 IBM Corporation 30 Use case: IBM MQ SaaS on IBM Cloud
  28. 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. 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. 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. 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. 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. 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. 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. 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. 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
  37. 37. 40Think 2018 / March 20, 2018 / © 2018 IBM Corporation

×