MESSAGING FOR THE CLOUD with and Hadrian Zbarcea & Jamie - - PowerPoint PPT Presentation

messaging for the cloud with
SMART_READER_LITE
LIVE PREVIEW

MESSAGING FOR THE CLOUD with and Hadrian Zbarcea & Jamie - - PowerPoint PPT Presentation

MESSAGING FOR THE CLOUD with and Hadrian Zbarcea & Jamie Goodyear Cloud Computing "Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g.,


slide-1
SLIDE 1

MESSAGING FOR THE CLOUD with

and Hadrian Zbarcea & Jamie Goodyear

slide-2
SLIDE 2

Cloud Computing

Vancouver 2016

"Cloud computing is a model for enabling ubiquitous, convenient,

  • n-demand network access to a shared pool of configurable computing

resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. "

The NIST Definition of Cloud Computing

slide-3
SLIDE 3

Vancouver 2016

Cloud Computing Layers

LAPTOP

Monitoring Content Collaboration Communication Queue Runtime Identity Finance

PHONES TABLETS DESKTOPS SERVERS

APPLICATION PLATFORM INFRASTRUCTURE

Database Network Block Storage Object Storage Compute

slide-4
SLIDE 4

Vancouver 2016

On-demand self-service

A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.

Broad network access

Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations).

Resource pooling

The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples

  • f resources include storage, processing, memory, and network bandwidth.

Rapid elasticity

Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.

Measured service

Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.

Characteristics

http://dx.doi.org/10.6028/NIST.SP.800-145

slide-5
SLIDE 5

Vancouver 2016

LEGEND

QUEUE MESSAGE CONSUMER PRODUCER

P C

SERVICE BROKER SERVICE WORKER SERVICE GRAPH DATABASE DATABASE USER INTERFACE IDENTITY SERVICE

LDAP

CONTAINERIZED SERVICE

slide-6
SLIDE 6

sync async BOB ALICE

HELLO

Messaging 101

Vancouver 2016

slide-7
SLIDE 7

∠ Addressability (address management) ∠ Confidentiality (authentication/authorization) ∠ Guaranteed delivery ∠ Reliability ∠ Availability (scalability) ∠ Metrics (bills and stamps)

Infrastructure - QoS

Vancouver 2016

slide-8
SLIDE 8

Content Type Protocols Policies Governance

Infrastructure - Technology

Vancouver 2016

slide-9
SLIDE 9

Messaging Supply Chain

PHONES MEDICATION TV MAIL NEWSPAPER PARCEL Vancouver 2016

slide-10
SLIDE 10

FINANCIAL ENTERTAINMENT UTILITIES SCIENTIFIC E-COMMERCE HEALTHCARE

The Digital World

HTTP FTP SMTP AMQP

Vancouver 2016

slide-11
SLIDE 11

Apache ActiveMQ

Vancouver 2016

slide-12
SLIDE 12

ActiveMQ - Features

∠ ∠ ∠ ∠ ∠ ∠ ∠ ∠ ∠ ∠ Based on Open Standards

JMS 1.1, AMQP, HTTP, XML...

Extensible, Pluggable Architecture

Configuration Discovery Transports Persistence Security

Guaranteed delivery Availability (topologies) Resiliency (failover) Message Processing (Apache Camel) Streaming Governance (management, monitoring)

Vancouver 2016

slide-13
SLIDE 13

ActiveMQ - Client Bindings

Vancouver 2016

slide-14
SLIDE 14

ActiveMQ - Competitors

OPEN SOURCE CLOUD SERVICES COMMERCIAL

Vancouver 2016

slide-15
SLIDE 15

ActiveMQ - Topologies

FULLY CONNECTED HYPER CUBE RING LINE PIPE LINE MESH NETWORK OF BROKERS STAR HUB & SPOKE TREE

Vancouver 2016

slide-16
SLIDE 16

ActiveMQ - Reliability

slave master active active

Vancouver 2016

slide-17
SLIDE 17

ActiveMQ - Deployment

∠ Standalone ∠ Embedded your own app, or...

APACHE TOMCAT

Vancouver 2016

slide-18
SLIDE 18

ActiveMQ - Monitoring

JMX Web Console

Vancouver 2016

slide-19
SLIDE 19

Apache Karaf

Vancouver 2016

slide-20
SLIDE 20

Karaf - Features

Hot deployment: simply drop a file in the deploy directory Complete Console: complete Unix-like console for managing the container. Dynamic Configuration: extensible set of commands focused on managing configuration. Advanced Logging System: supports all the popular logging frameworks (slf4j, log4j, etc) Provisioning: supports a large set of URLs where you can install your applications, plus 'features' and 'profiles" Management: enterprise-ready container, providing management metrics and operations via JMX. Remote: embeds an SSHd server for remote operations. Security: complete security framework (based on JAAS) and RBAC (Role-Based Access Control) mechanism Instances: multiple instances managed directly from a main instance (root). OSGi frameworks: Apache Felix Framework or Equinox ∠ ∠ ∠ ∠ ∠ ∠ ∠ ∠ ∠

Vancouver 2016

slide-21
SLIDE 21

Karaf Decanter - Overview

∠ ∠ ∠ Collectors

Responsible for harvesting monitoring data. Two kinds: Event Drive Collectors Polled Collectors

Appenders

Receive data from the collectors Responsible to store data in a given backend

Service Level Agreements

Special kind of Appender Receives harvested data and performs checks upon it. if check fails, alert event is created and sent to alerters.

Default implementation based on ELK

Vancouver 2016

slide-22
SLIDE 22

Karaf Decanter - Monitoring

Vancouver 2016

slide-23
SLIDE 23

DEMO

Vancouver 2016

slide-24
SLIDE 24

SilkMQ - What’s in a name?

apache tinkerpop

Vancouver 2016

slide-25
SLIDE 25

SilkMQ - Topology

Vancouver 2016

slide-26
SLIDE 26

SilkMQ - Broker Monitoring

∠ ∠ ∠ ∠ We want Decanter Monitoring to be elastic like SilkMQ Currently Decanter is focussed on individual services

Needs more work...

We want to view message infrastructure at a higher level

How many messages enqueued and dequeued for a project? Status of pending messages SLA: What is the throughput and latency for queue XYZ (in a project)?

Tenants are not aware of the physical deployment infrastructure

...nor should they be

SilkMQ is smooth, shouldn’t monitoring be too?

Vancouver 2016

slide-27
SLIDE 27

SilkMQ - Broker Management

∠ Use metrics and policies to scale elastically ∠ Use a service orchestrator

Vancouver 2016

slide-28
SLIDE 28

SilkMQ - Broker Discovery

"ActiveMQ uses an abstraction called a Discovery Agent to detect remote services such as remote brokers. We can use discovery for JMS clients to auto-detect a Message Broker to connect to, or to provide Networks of Brokers"

∠ ∠ Host resolution DNS Pluggable resolution logic

Multicast, zeroconf, SilkMQ

Multi-step resolution process

Vancouver 2016

slide-29
SLIDE 29

SilkMQ - Multi-tenancy Model based on users/organizations/teams as commonly seen with Cloud Services

Vancouver 2016

slide-30
SLIDE 30

HANDS ON

Vancouver 2016

SilkMQ - Demo

slide-31
SLIDE 31

Hadrian Zbarcea

hadrian@apache.org Team: Alex | Cipi | Andrei | Raul | Cristi

Jamie Goodyear

jgoodyear@apache.org

THANKS!