hhm 6887 managing your scalable applications in an mq hybrid cloud world

44
InterConnect 2017 HHM-6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World Matthew Whitehead IBM MQ Development 1 3/23/2017

Upload: matthew1001

Post on 13-Apr-2017

27 views

Category:

Software


2 download

TRANSCRIPT

Page 1: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

InterConnect2017

HHM-6887Managing Your Scalable Applications in an MQ Hybrid Cloud World

Matthew WhiteheadIBM MQ Development

1 3/23/2017

Page 2: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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?

Page 3: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

• Deploying & Orchestration

• Service Discovery & Registration

• Bluemix Product Insights

• Monitoring & Logging

• Bluemix Product Insights Logging

Agenda

Page 4: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

Deploying & Orchestration

4 3/23/2017

Page 5: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

Deploying & Orchestration

https://developer.ibm.com/messaging/mq-on-cloud/

Page 6: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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

Page 7: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

Provisioning – Manual configuration & management tools

Page 8: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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/

Page 9: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

10

Provisioning – Cross-cloud and multi-resource management

Page 10: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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/

Page 11: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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/

Page 12: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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/

Page 13: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

• 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

Page 14: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

Service Discovery &Registration

15 3/23/2017

Page 15: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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

Page 16: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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

Page 17: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

Auto-scaling

MQ

MQ

MQ

MQ

MQ

App

App

App

App

?

?

?

?

MQ

MQ

Page 18: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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

Page 19: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

HTTP CCDTs

App

App

App

App

MQ

MQ

MQ

MQ

HTTP

Server

MQ

/var/mqm/qmgrs/QMx/clntconn/CLNTCHL

runmqsc -c

HTTP GET

MQCONN(…)

Page 20: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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/

Page 21: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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/

Page 22: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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)

Page 23: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

MQ MQ

MQMQ

MQ MQ

MQMQ

MQ MQ

MQMQ

+

Centralised Registration

Bluemix

Page 24: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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

Page 25: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

IBM Cloud Product Insights

Page 26: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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

Page 27: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

IBM Cloud Product Insights

Selecting a queue manager displays information about the queue manager

MQ version, install path, platform etc.

Page 28: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

IBM Cloud Product Insights

Selecting a queue manager also displays basic usage information

Usage information about the queue manager (no. of put messages & bytes)

Page 29: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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

Page 30: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

Monitoring & Logging

31 3/23/2017

Page 31: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

Monitoring & Logging

https://developer.ibm.com/messaging/mq-on-cloud/

Page 32: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

MQ MQ

MQMQ

MQ MQ

MQMQ

MQ MQ

MQMQ

+

Centralised Logging

Page 33: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

MQ MQ

MQMQ

MQ MQ

MQMQ

MQ MQ

MQMQ

Centralised Logging • Amazon Cloudwatch• Elasticsearch• Splunk• IBM Product Insights Log Management• …

Page 34: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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

Page 35: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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

Page 36: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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

Page 37: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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

Page 38: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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

Page 39: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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

Page 40: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

InterConnect2017

Questions?

41 3/23/2017

Page 41: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

InterConnect2017

Thank you

IBM Messaging Developer Centre

developer.ibm.com/messaging

IBM Messaging Youtube

www.youtube.com/IBMmessagingMedia

LinkedIn

ibm.biz/ibmmessaging

Twitter

@IBMmessaging

IBM MQ Facebook

facebook.com/IBMMQ

Page 42: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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?

Page 43: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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.

Page 44: HHM 6887 Managing Your Scalable Applications in an MQ Hybrid Cloud World

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.