hhm 6887 managing your scalable applications in an mq hybrid cloud world
TRANSCRIPT
InterConnect2017
HHM-6887Managing Your Scalable Applications in an MQ Hybrid Cloud World
Matthew WhiteheadIBM MQ Development
1 3/23/2017
InterConnect2017
IBM MQ Sessions at a Glance
2
Monday
1:00-1:45pm 6880 IBM MQ Appliance: Messaging in a Box
6894 Messaging APIs
2:00-2:45pm 6879 IBM MQ Advanced
3:15-4:00pm 6882 What’s New in the World of IBM MQ
4:15-5:00pm 3559 Banrisul Bank’s Migration to the MQ Appliance
6904 Help Shape the Future of IBM MQ
6:00-6:20pm 7441 IBM MQ in the Cloud
Tuesday
11:30-12:15pm 1487 IBM MQ Versus Open Source Messaging
1:30-2:15pm 1183 IBM MQ Appliance: Best Practices from the Field
2:30-3:15pm 6881 Unlock the data flowing through the infrastructure
3:45-4:30pm 4555 Allstate’s Experience with the MQ Appliance
4:15-4:35pm 7440 Managed Event Streams
4:45-5:30pm 5214 Managing Loyalty Programs with IBM MQ
6895 IBM MQ for z/OS: The Latest and Greatest
Wednesday
8:00-8:45am 2699 IBM MQ for z/OS: Performance Tuning
6885 Deploying IBM MQ into the Cloud
6906 IBM MQ Appliance: Hands-on Lab (8:00-9-45)
10:15-12:00pm 6907 IBM MQ Hybrid Cloud: Hands-on Lab
11:15-12:00pm 6884 Designing MQ for the Cloud Generation
6904 Help Shape the Future of IBM MQ
1:00-1:45pm 6903 Share your Experiences with the IBM MQ Experts
2:00-2:45pm 3695 How Banco Bradesco Manages IBM MQ for z/OS
3:15-4:00pm 6892 Availability and Scalability with MQ Clusters
4:15-5:00pm 6891 Making MQ Resilient across DCs and the Cloud
6893 Keep Out the Bad Guys by Securing MQ
Thursday
8:30-9:15am 6886 Simple, Resilient Messaging with MQ Appliance
9:30-10:15am 6878 You Need MQ Messaging!
6887 Managing MQ Messaging in the Hybrid Cloud
6890 New Tools and Interfaces to Manage IBM MQ
10:30-11:15am 6889 Help! Has Anyone seen my MQ Message?
• Deploying & Orchestration
• Service Discovery & Registration
• Bluemix Product Insights
• Monitoring & Logging
• Bluemix Product Insights Logging
Agenda
Deploying & Orchestration
4 3/23/2017
Deploying & Orchestration
https://developer.ibm.com/messaging/mq-on-cloud/
Deploying & Orchestration
Installing MQ
• Initial installation
• Applying fixpacks
• Migrating between versions
• Managing licenses
Running queue managers
• Create/start/stop/delete QM
• Naming queue managers
• Binding apps to QMs
• Failing over
Provisioning an Environment
• Create VM, start docker container etc.
• Setup virtual network interface
• Create storage
• Create security policies
Provisioning – Manual configuration & management tools
9
AWS orchestration framework
Configure networks, VMs, storage etc.
Define resources, security, storage etc. in a
template
Used to orchestrate OpenStack deployments
Cross cloud deployment & configuration
Different provider options (Azure, AWS,
OpenStack, Google Cloud, SoftLayer)
Provisioning – Cross-cloud and multi-resource management
https://developer.ibm.com/messaging/mq-on-cloud/
10
Provisioning – Cross-cloud and multi-resource management
11
Manage and script software installation
Similar to Chef, use in conjuction with an MQ install
package to automate and repeat installations
Provides an MQ cookbook to include in Chef recipes
Use to perform repeatable & automatable MQ
installations
Create immutable OS images with MQ pre-installed
Cookie-cutter installations of e.g. MQ & Redhat
Deploy images to chosen IaaS service
Installing MQ
https://developer.ibm.com/messaging/mq-on-cloud/
12
Simple shell script can be a useful lowest
common denominator
Use in a heat template, docker image, VM…
Not dependent on specific framework
As well as being able to install MQ, can create
and start queue managers
Can combine with installation steps to give a
complete MQ environment
Creating & starting QMs
https://developer.ibm.com/messaging/mq-on-cloud/
13
Deleting resources when they’re no longer needed
Orchestration isn’t limited to creating resources
Tear down resources when they’re no longer required
Quickly spin up everything necessary to run a scenario, tear everything down when it’s no longer
needed
Useful for running one-off tests, creating short-lived development environments
Keeps cloud costs to a minimum – only pay for what you need at the time
Don’t need to manually keep track of what you created
Repeatabilityterraform apply
terraform destroyhttps://developer.ibm.com/messaging/mq-on-cloud/
• MQ 8.0.0.4+ supported to run inside a Docker image
•Details: https://ibm.biz/mqdocker
• Brings the benefits of Docker to MQ
•Lightweight containers for running MQ
•Predictable and standardized units for deploying MQ
•Process, resource and dependency isolation
Binary image in Docker Hub Source in GitHub
MQ Docker Container – Install and basic QM setup in 1 command
“docker run –e LICENSE=accept –e MQ_QMGR_NAME=QM1 mq”
Downloads MQ dockerimage from DockerHub
Starts MQ dockercontainer
Creates QM1
Starts QM1
Runs optional mqsc config script
1 2 3 4 5
Service Discovery &Registration
15 3/23/2017
Service Discovery
• Runtime components understanding where they need to connect to
• MQ clients need to know where they can find a queue manager
• MQ queue managers need to know where they can find a queue
• MQ partial repositories need to know where the full repositories are
Registration
• Administrators & planners need to know what they’re running and where
• Out dated versions of MQ
• Installations that need patching
• Queue managers that are underutilised
• Queue managers that are close to capacity
MQ
MQ
MQ
Auto-scaling
MQ
x n
• Key benefit of cloud technologies
• Change your infrastructure to meet demand
• Pay for what you’re using
• Cookie-cutter model using immutable software stacks
App
App
App
App
x n
Auto-scaling
MQ
MQ
MQ
MQ
MQ
App
App
App
App
?
?
?
?
MQ
MQ
Constraints to bear in mind
• QM-scoped artefacts
• Durable subscriptions only exist where they were created
• Likewise for global transactions
• Performance
• Putting to the same QM as a getter is preferable to multiple
QM hops
• Availability
• A queue manager with no getters may have orphaned
messages
HTTP CCDTs
App
App
App
App
MQ
MQ
MQ
MQ
HTTP
Server
MQ
/var/mqm/qmgrs/QMx/clntconn/CLNTCHL
runmqsc -c
HTTP GET
MQCONN(…)
AWS Auto-Scaling & Route53 DNS
EC2 auto-scaling group
MQ
EC2 Instance
MQ
EC2 Instance
MQ
EC2 Instance
MQ
EC2 Instance x n
• Manually or automatically scale the number of EC2 instances
• Scaling policies define when instances scale up or down
• Scheduled – e.g. scale up every
Monday morning, scale down Monday
evening
• Based on metrics - e.g. when queue
depths stay above a certain level for
15 minutes
• Have a listening app register new instances in DNS with unique hostname
AWS Service Discover Reference Architecture
https://aws.amazon.com/blogs/compute/service-discovery-an-amazon-ecs-reference-architecture/
AWS Auto-Scaling & Route53 DNS
EC2 auto-scaling group
MQ
EC2 Instance
MQ
EC2 Instance
MQ
EC2 Instance
MQ
EC2 Instance x n
Challenges
• New queue managers need naming
• Permanently removing instances should only be done when queues are empty
• Application queues
• Transmit queues
• Dead letter queue
• If you’re using clustering, samples like amqsclm can help move your data to another queue manager before deleting it
AWS Service Discover Reference Architecture
https://aws.amazon.com/blogs/compute/service-discovery-an-amazon-ecs-reference-architecture/
AWS Auto-Scaling
EC2 auto-scaling group
MQ
EC2 Instance
MQ
EC2 Instance
x 1
• Auto-scaling not just for very dynamic systems
• Also appropriate for MQ failover scenarios
• Auto-scaling group size set to 1
• Monitoring process checks the health of the instance and replaces it if it has died
Networked file system or block storage
(e.g. AWS EFS)
MQ MQ
MQMQ
MQ MQ
MQMQ
MQ MQ
MQMQ
+
Centralised Registration
Bluemix
IBM Cloud Product Insights – New IBM Bluemix Service
• Supported in MQ 9.0.2+
• IBM Bluemix service that gives you an overview of your on-premise and cloud-hosted products
• See which queue managers (or Liberty/WAS servers, or IIB Brokers etc.) you have, which versions they are, what platforms they’re on, how utilised they are.
https://developer.ibm.com/product-insights
IBM Cloud Product Insights
IBM Cloud Product Insights
Products listed in one place to drill down into
Individual queue managers displayed, showing their hostname, installation path, QM name and QM ID
IBM Cloud Product Insights
Selecting a queue manager displays information about the queue manager
MQ version, install path, platform etc.
IBM Cloud Product Insights
Selecting a queue manager also displays basic usage information
Usage information about the queue manager (no. of put messages & bytes)
IBM Cloud Product Insights
• Queue manager authorises itself using the API key associated with the Product Insights service
• Copy API key to file in /var/mqm (or Windows equivalent)
• Update qm.ini with the “BluemixRegistration” stanza
Monitoring & Logging
31 3/23/2017
Monitoring & Logging
https://developer.ibm.com/messaging/mq-on-cloud/
MQ MQ
MQMQ
MQ MQ
MQMQ
MQ MQ
MQMQ
+
Centralised Logging
MQ MQ
MQMQ
MQ MQ
MQMQ
MQ MQ
MQMQ
Centralised Logging • Amazon Cloudwatch• Elasticsearch• Splunk• IBM Product Insights Log Management• …
IBM Cloud Product Insights Log Management – Experimental Bluemix Service
• Based on Elasticsearch and Kibana
• Pre-defined Kibanadashboards show basic overview of your MQ estate
• Customisable to show different perspectives on different dashboards
IBM Cloud Product Insights Log Management
• Help pane describes the dashboard and how to use it
• Raw AMQERR messages for detailed investigation
• AMQERR activity over time, per queue manager
• Interactive – select a queue manager in one widget and the entire dashboard updates
Centralised Monitoring – MQ $SYS topics
• First introduced on the MQ Appliance to aid remote monitoring & diagnosis
• Added to MQ distributed platforms in MQ V9
• Benefits over pre-V9 statistics messages
• They automatically get published when an app subscribes
• Metadata topics let you see what’s available to subscribe to
• e.g. $SYS/MQ/INFO/QMGR/MYQM/Monitor/METADATA/CLASSES
• New data available that wasn’t previously (e.g. DISK and CPU activity)
• Includes MQ activity trace capability
• e.g. $SYS/MQ/INFO/QMGR/MYQM/ActivityTrace/ChannelName/MY.SVRCONN
Centralised Monitoring – MQ $SYS topics
• Separated from the rest of the topic tree
• Root of the $SYS/MQ tree is
SYSTEM.ADMIN.TOPIC object
• No permissions inherited from objects
above SYSTEM.ADMIN.TOPIC
• Wildcard subscription at “#” doesn’t match
anything under $SYS/MQ/…
• Wildcard subscriptions under
$SYS/MQ/… are restricted
MQ MQ
MQMQ
MQ MQ
MQMQ
MQ MQ
MQMQ
Centralised Monitoring
MQ app consuming
$SYS/MQ messages
Managed subscriptions to “$SYS/MQ/…” with remote queue as destination
MQ
Centralised Monitoring – MQ $SYS topics
• Visualise queue depths, CPU & disk spikes, # of client connections….
• See https://github.com/ibm-messaging/mq-golang to try it for yourself
InterConnect2017
Questions?
41 3/23/2017
InterConnect2017
Thank you
IBM Messaging Developer Centre
developer.ibm.com/messaging
IBM Messaging Youtube
www.youtube.com/IBMmessagingMedia
ibm.biz/ibmmessaging
@IBMmessaging
IBM MQ Facebook
facebook.com/IBMMQ
InterConnect2017
IBM MQ Sessions at a Glance
43
Monday
1:00-1:45pm 6880 IBM MQ Appliance: Messaging in a Box
6894 Messaging APIs
2:00-2:45pm 6879 IBM MQ Advanced
3:15-4:00pm 6882 What’s New in the World of IBM MQ
4:15-5:00pm 3559 Banrisul Bank’s Migration to the MQ Appliance
6904 Help Shape the Future of IBM MQ
6:00-6:20pm 7441 IBM MQ in the Cloud
Tuesday
11:30-12:15pm 1487 IBM MQ Versus Open Source Messaging
1:30-2:15pm 1183 IBM MQ Appliance: Best Practices from the Field
2:30-3:15pm 6881 Unlock the data flowing through the infrastructure
3:45-4:30pm 4555 Allstate’s Experience with the MQ Appliance
4:15-4:35pm 7440 Managed Event Streams
4:45-5:30pm 5214 Managing Loyalty Programs with IBM MQ
6895 IBM MQ for z/OS: The Latest and Greatest
Wednesday
8:00-8:45am 2699 IBM MQ for z/OS: Performance Tuning
6885 Deploying IBM MQ into the Cloud
6906 IBM MQ Appliance: Hands-on Lab (8:00-9-45)
10:15-12:00pm 6907 IBM MQ Hybrid Cloud: Hands-on Lab
11:15-12:00pm 6884 Designing MQ for the Cloud Generation
6904 Help Shape the Future of IBM MQ
1:00-1:45pm 6903 Share your Experiences with the IBM MQ Experts
2:00-2:45pm 3695 How Banco Bradesco Manages IBM MQ for z/OS
3:15-4:00pm 6892 Availability and Scalability with MQ Clusters
4:15-5:00pm 6891 Making MQ Resilient across DCs and the Cloud
6893 Keep Out the Bad Guys by Securing MQ
Thursday
8:30-9:15am 6886 Simple, Resilient Messaging with MQ Appliance
9:30-10:15am 6878 You Need MQ Messaging!
6887 Managing MQ Messaging in the Hybrid Cloud
6890 New Tools and Interfaces to Manage IBM MQ
10:30-11:15am 6889 Help! Has Anyone seen my MQ Message?
44 3/23/2017
Notices and disclaimers
Copyright © 2017 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.
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 actionsthe 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.
45 3/23/2017
Notices and disclaimers continued
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, 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.