Designing MQ deployments for the cloud generation

Similar documents
MQ High Availability and Disaster Recovery Implementation scenarios

Cloud & container monitoring , Lars Michelsen Check_MK Conference #4

MQ Monitoring on Cloud

Enterprise messaging in the cloud

Connect and Transform Your Digital Business with IBM

Container-Native Storage

Introduction To Cloud Computing

Backup strategies for Stateful Containers in OpenShift Using Gluster based Container-Native Storage

Exam C IBM Cloud Platform Application Development v2 Sample Test

Module Day Topic. 1 Definition of Cloud Computing and its Basics

LINUX, WINDOWS(MCSE),

70-532: Developing Microsoft Azure Solutions

Red Hat Roadmap for Containers and DevOps

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

Kuberiter White Paper. Kubernetes. Cloud Provider Comparison Chart. Lawrence Manickam Kuberiter Inc

Introduction to Cloud Computing

You Have Stateful Apps - What if Kubernetes Would Also Run Your Storage?

70-532: Developing Microsoft Azure Solutions

IBM MQ Hybrid Cloud Architectures

Cloud Computing. Amazon Web Services (AWS)

Introduction to Kubernetes Storage Primitives for Stateful Workloads

Cloud Performance Simulations

DISTRIBUTED SYSTEMS [COMP9243] Lecture 8a: Cloud Computing WHAT IS CLOUD COMPUTING? 2. Slide 3. Slide 1. Why is it called Cloud?

Case Study: Aurea Software Goes Beyond the Limits of Amazon EBS to Run 200 Kubernetes Stateful Pods Per Host

Deploying Applications on DC/OS

#techsummitch

Qualys Cloud Platform

FROM MONOLITH TO DOCKER DISTRIBUTED APPLICATIONS

An Introduction to Kubernetes

Reactive Microservices Architecture on AWS

Programowanie w chmurze na platformie Java EE Wykład 1 - dr inż. Piotr Zając

Container Orchestration on Amazon Web Services. Arun

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

Introduction to MQ. Sam Goulden IBM MQ L3 Service. MQ Technical Conference v

AWS Administration. Suggested Pre-requisites Basic IT Knowledge

Running MarkLogic in Containers (Both Docker and Kubernetes)

ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS

How can you implement this through a script that a scheduling daemon runs daily on the application servers?

Amazon Web Services (AWS) Solutions Architect Intermediate Level Course Content

Launching StarlingX. The Journey to Drive Compute to the Edge Pilot Project Supported by the OpenStack

Windows Azure Services - At Different Levels

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Cloud I - Introduction

How Container Schedulers and Software-based Storage will Change the Cloud

Important DevOps Technologies (3+2+3days) for Deployment

AWS Solution Architecture Patterns

IBM Bluemix compute capabilities IBM Corporation

Distributed Systems. 31. The Cloud: Infrastructure as a Service Paul Krzyzanowski. Rutgers University. Fall 2013

Cloud Technologies. for Enterprise

Cloud Computing. Technologies and Types

CLOUDLENS PUBLIC, PRIVATE, AND HYBRID CLOUD VISIBILITY

IBM Bluemix platform as a service (PaaS)

AZURE CONTAINER INSTANCES

DevOps Tooling from AWS

Container in Production : Openshift 구축사례로 이해하는 PaaS. Jongjin Lim Specialist Solution Architect, AppDev

Kontejneri u Azureu uz pomoć Kubernetesa što i kako? Tomislav Tipurić Partner Technology Strategist Microsoft

Cloud Essentials for Architects using OpenStack

Ingest. Aaron Mildenstein, Consulting Architect Tokyo Dec 14, 2017

INTRODUCING CONTAINER-NATIVE VIRTUALIZATION

ActiveNET. #202, Manjeera Plaza, Opp: Aditya Park Inn, Ameerpetet HYD

Event Streams using Apache Kafka

Topics II SaaS 2.0 OaSe*: OpenCms as a Service Cloud Sites SaaS 3.0 Google Apps (Gmail, Google Docs) Cloud Assessment Services Cloudify: Cloud Applica

利用 Mesos 打造高延展性 Container 環境. Frank, Microsoft MTC

Beyond 1001 Dedicated Data Service Instances

IBM Planning Analytics Workspace Local Distributed Soufiane Azizi. IBM Planning Analytics

Red Hat Containers Roadmap. Red Hat A panel of product directors

CogniFit Technical Security Details

Amazon Web Services (AWS) Training Course Content

HOW TO PLAN & EXECUTE A SUCCESSFUL CLOUD MIGRATION

OpenStack Magnum Pike and the CERN cloud. Spyros

Cisco Container Platform

Kubernetes 1.9 Features and Future

Overview of Container Management

Developing Enterprise Cloud Solutions with Azure

Ingest. David Pilato, Developer Evangelist Paris, 31 Janvier 2017

Securing Microservice Interactions in Openstack and Kubernetes

We are ready to serve Latest IT Trends, Are you ready to learn? New Batches Info

Faculté Polytechnique

Basics of Cloud Computing Lecture 2. Cloud Providers. Satish Srirama

Examining Public Cloud Platforms

Webinar Series. Cloud Native Storage. May 17, 2017

Amazon Web Services Training. Training Topics:

/ Cloud Computing. Recitation 5 February 14th, 2017

What is Cloud Computing? Cloud computing is the dynamic delivery of IT resources and capabilities as a Service over the Internet.

Container 2.0. Container: check! But what about persistent data, big data or fast data?!

WHITEPAPER. MemSQL Enterprise Feature List

DevOps Course Content

Upcoming Services in OpenStack Rohit Agarwalla, Technical DEVNET-1102

Scaling DreamFactory

CS 6393 Lecture 10. Cloud Computing. Prof. Ravi Sandhu Executive Director and Endowed Chair. April 12,

DevOps CICD PopUp. Software Defined Application Delivery Fabric. Frey Khademi. Systems Engineering DACH. Avi Networks

Developing Microsoft Azure Solutions (70-532) Syllabus

Architekturen für die Cloud

Deploying and Operating Cloud Native.NET apps

VMWARE ENTERPRISE PKS

How we built a highly scalable Machine Learning platform using Apache Mesos

Kubernetes: Twelve KeyFeatures

What is Cloud Computing? What are the Private and Public Clouds? What are IaaS, PaaS, and SaaS? What is the Amazon Web Services (AWS)?

Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS)

NET1821BU THE FUTURE OF NETWORKING AND SECURITY WITH NSX-T Bruce Davie CTO, APJ 2

Transcription:

Designing MQ deployments for the cloud generation WebSphere User Group, London Arthur Barr, Senior Software Engineer, IBM MQ 30 th March 2017

Top business drivers for cloud 2 Source: OpenStack user survey, April 2016

In other words Deliver more with less...more often...with less money...with fewer people 3

Characteristics of a cloud environment Self-service empowers users to provision resources without requiring human intervention, most likely using a web-based portal or an API. Elastic scaling enables scaling up and down on demand, driving the need for high levels of automation. Shared resources offers economies of scale through the use of shared infrastructure and software, securely separating the resources at a logical level. Metered usage allows pay-as-you-go billing through monitoring, measurement and reporting of usage. 4

Types of cloud environments Infrastructure as a Service (IaaS) Containers as a Service (CaaS) Platform as a Service (PaaS) Functions as a Service (FaaS) Software as a Service (SaaS) IBM Bluemix Infrastructure Amazon Web Services Microsoft Azure OpenStack IBM Containers on Bluemix Amazon Elastic Container Service Microsoft Azure Container Service Kubernetes Docker Swarm Apache Mesos IBM Bluemix Cloud Foundry Runtimes Amazon Elastic Beanstalk Microsoft Azure App Service Cloud Foundry OpenShift IBM Bluemix OpenWhisk Amazon Lambda Microsoft Azure Functions IBM Cloudant (NoSQL database) Salesforce (CRM platform) MQ queue managers 5 MQ client applications

Cloud Message Hub (Based on Apache Kafka) AWS AWS IBM Bluemix (including Softlayer) AWS On-prem Private cloud Distributed platforms IBM MQ Appliance

Running MQ in the cloud Availability Persistent storage Fail-over Security Scalability Service discovery Load balancing Error log management Metrics and monitoring Client applications Re-think how you use MQ 7

Demo time

Kubernetes Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. Provides a set of cloud primitives at a higher level than an IaaS Pod ReplicaSet PersistentVolume StatefulSet DaemonSet Service 9

Kubernetes Services 10 Source: https://kubernetes.io/docs/user-guide/services/#proxy-mode-iptables

Kubernetes demo Put client ReplicaSet Get client ReplicaSet mq qmgr0 qmgr1 qmgr2 StatefulSet qmgr0 data qmgr1 data qmgr2 data 11

Things to consider

Availability App App App Each message only exists in a single queue manager. Queue managers typically rely on reliable persistent storage to maintain message integrity. As long as the storage is reachable the queue manager runtime can run anywhere Storage should be replicated and queue managers must automatically fail over to remove any single point of failure QMgr A System 1 Network storage QMgr A System 2 https://www.ibm.com/developerworks/community/blogs/messaging

Persistent storage Local storage Block storage Bluemix Block Storage Amazon EBS OpenStack Cinder Ceph RBD DRBD File storage NFS V4 Bluemix File Storage Amazon EFS OpenStack Manila CephFS GlusterFS

Persistent storage Reliability of storage Replicated across failure domains / availability zones? Are disk writes cached? What s the failure rate of disks? Connecting to the right persistent storage When a queue manager s is moved (e.g. run a container in a different VM), then something needs to re-connect the queue manager to the correct storage. Some cloud orchestrators will run identical instances of your image. This could lead to lots of copies of qm1. Other orchestrators, like Kubernetes, allow you to manage separate identities ( qm1, qm2, etc.).

Security No armadillo security All data in motion and at rest needs to be secured Configure MQ channels with TLS Use channel authentication for access control Configure disk encryption either at the OS or cloud provider level. IBM MQ Advanced Message Security is also available to provide additional security protections, such as per-message encryption. 16

Scalability In general, scale clients separately from servers Scaling up is easy MQ cluster Load-balanced set of identical queue managers Scaling down depends more on your applications Need to remove a queue manager in a controlled manner making sure that all of the messages are safely processed. Message ordering Scaling out rather than scaling up, brings concurrent processing Messages could be received out of sequence. MQ provides features to allow groups of messages to be handled in small ordered batches, or you can manage this yourself in your application. 17

Error log management To manage large numbers of servers, you don t want to SSH into them very often (if ever). You will still need to diagnose problems Centralized logging is commonly used, where an agent sends MQ error logs and system logs to a centralized location Store Index to make searchable Analyze For example: IBM Monitoring & Analytics AWS Cloudwatch ElasticSearch 18

Metrics and monitoring MQ V9 makes many statistics available through a pub/sub interface Subscribe to topics under $SYS/MQ for information on: CPU usage Disk usage Connections and disconnections Opening and closing of queues Pub/sub and put/get Syncpoint calls Changes to MQ objects (MQSET and MQINQ)

MQ metrics in Grafana Grafana is used as the dashboard, connecting to a back-end time series database 20

Client applications Cloud typically emphasizes resilience over robustness De-couple applications from your queue manager Reminder: use your MQ client s auto-reconnect feature Cloud servers are likely to get restarted or moved factory.setclientreconnectoptions(wmqconstants.wmq_client_reconnect); Service discovery will probably be affected Dynamic IP addresses Scalability may mean multiple equivalent queue managers are available 21

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