This presentation is from the Pivotal Cloud Foundry meetup in Columbus, Ohio, on February 23, 2017.
------------
Learn the advantages of enabling communications between applications using open APIs and protocols like AMQP, JMS, MQTT, Qpid, Paho, REST and WebSockets. Mark Spielman demonstrates how easily you can enable real-time communications between microservices with the new Solace Messaging Tile for Pivotal Cloud Foundry. We’ll then discuss the architecture and code that makes it all possible.
Join us to learn how you can improve the way your applications exchange information both within Pivotal Cloud Foundry and across clouds.
4. 4
Copyright Solace
o Application Messaging
‐ I.e. The exchange of information between applications using a
messaging server where the data is routed based on a destination
(often a topic or queue).
o Common Messaging Models:
‐ Publish/subscribe
‐ Point-to-point or message queueing
‐ Others: Request / Reply, stream processing, event driven, …
o Not any of the following:
‐ Text/SMS messaging, Instant messaging, Social chat, Etc…
What messaging am I talking about?
5. 5
Copyright Solace
Why Messaging?
Infrastructure for reliable data delivery – because it is difficult!
Simple Producer / Consumer Scalability
Simple, Scalable Connectivity
Simple High Availability
1
2
3
4 Publish / Subscribe – Message Filtering,
Routing, Fanout
5 Producer / Consumer Decoupling
6. 6
Copyright Solace
6
Copyright Solace
Service
Discovery
Analytics
Fraud
Detection
Why messaging in PCF applications? – A look at Payment Processing…
Option 1: Direct connectivity between services
How do you deal with…
o Slow mainframe
application
o Crashing analytics
application
o Adding new service
Web Presentation
Audit
Loyalty &
Rewards
Payment Gateway
Purchase
Authorization
Mainframe
Load Balancer
Client Model
Payment Network
Payment
CachePayment
Settlement DB
Payment
Processing
Client
Portal
Back
Office
Systems
7. 7
Copyright Solace
7
Copyright Solace
Messaging
Analytics
Fraud
Detection
Why messaging in PCF applications? – A look at Payment Processing…
Option 2: An Event Driven Architecture powered by Messaging
Web Presentation
Audit
Loyalty &
Rewards
Payment Gateway
Purchase
Authorization
Mainframe
Load Balancer
Client Model
Payment Network
Payment
CachePayment
Settlement DB
Payment
Processing
Client
Portal
Back
Office
Systems
Benefits of messaging…
o Enables deferred
execution through
pub/sub
o Promotes loose coupling
between services
o Provides burst absorption
via queuing
o Simplifies services –
publish events once!
o Easily add new services like
big data by connecting and
subscribing
8. 8
Copyright Solace
8
Copyright Solace
Messaging
Analytics
Fraud
Detection
REST vs Messaging for Microservices…
Web Presentation
Audit
Loyalty &
Rewards
Payment Gateway
Purchase
Authorization
Mainframe
Load Balancer
Client Model
Payment Network
Payment
CachePayment
Settlement DB
Messaging
REST
o You’ll probably need both!
o REST APIs for external
access.
o Messaging between
microservices
10. 10
Copyright Solace
10
Copyright Solace
The shift to the cloud is on…
Source: Wikibon Public and Private
Cloud Research Projects 2016
Legacy
Datacenter
Private
Cloud
Public
Cloud
Legacy
Datacenter 2026
2016
How do I get there?
13. 13
Copyright Solace
13
Copyright Solace
Open APIs & Protocols
o Data movement
is MANY
problems
o Use the right tool
for every job
o Bridging between
all APIs
Objective C
iOS
JavaScript
HTML5
Silverlight,
Flash & .NET
HTTP API
JMS
Python
Ruby
C++
.NET
Perl
JMS/JCA
REST
C
C++
Java
JavaScript
Python
Go
C Java Node.jsC# / .NET
(Soon!)
Boot
Cloud
Connector
Cloud
Streams
Cloud
Bus
14. 14
Copyright Solace
Datacenter
Private Cloud
Legacy
Public Clouds
JMS MQ
Challenges Overcome:
Cloud messaging
Legacy-to-cloud
Cloud-to-Cloud
Application portability
Enterprise grade features
Out of the box
Simplicity
Robustness
16. 16
Copyright Solace
o Solace tile provides messaging as a service for PCF applications
o Key Characteristics
‐ High Performance, Enterprise Grade Stability, In Service Upgrades, Hybrid Cloud Ready
‐ Cloud Operator focused control from Ops Manager
‐ Ex: IaaS Usage, instance scale, TLS, LDAP, SYSLOG, …
‐ Developer friendly service-plans and connectivity
‐ Right size plans in the PCF marketplace
‐ Extensive Open Multi-protocol & API support built-in.
o Solace is a Premier Tier Partner of Pivotal
‐ Working jointly on several accounts
Solace Messaging in PCF – A quick summary!
17. 17
Copyright Solace
Demo Outline
o Deploying Solace Messaging using Ops Manager
‐ A cloud operators perspective
o Creating service instances in Apps Manager
‐ A developers perspective
o Demo application in action
‐ Handling a burst of traffic
o Scaling the application using PCF and Solace Messaging
‐ Tuning to improve burst handling
18. 18
Copyright Solace
Chosen IaaS
PCF Architecture
Elastic Runtime Solace
Messaging
Routers
Other
PCF
Tiles
Other
PCF
Tiles
Diego
Loggregator
Service
Brokers
Blobstore
Solace
Service
Broker
PCF Services & Add Ons
Apps Manager
Auto-Scaling
API Gateway
Data Sync
IPSec Add-on
Redis MySQL
Push Notifications
GemFire
Single Sign-On
Metrics Server
Ops Metrics Notifications
BOSH
Pivotal Elastic
Runtime
Solace
Messaging
Demo
Setup
24. 24
Copyright Solace
Demo Outline
o Deploying Solace Messaging using Ops Manager
‐ A cloud operators perspective
o Creating service instances in Apps Manager
‐ A developers perspective
o Demo application in action
‐ Handling a burst of traffic
o Scaling the application using PCF and Solace Messaging
‐ Tuning to improve burst handling
25. 25
Copyright Solace
Solace Messaging – Marketplace and Plans
o Service summary as seen in the Cloud Foundry Marketplace
o Service details as seen in the Cloud Foundry Marketplace Service details
Service Plan Description
Shared A single Message VPN in a shared Solace Message Router. Useful for light traffic and development. This plan is not feature limited but does
have a time limited 90-day evaluation period.
Community A single message VPN on a dedicated Community Edition Solace Message Router. The plan does not have a time limit but is limited by the
features available on the Community Edition VMR.
Large A single message VPN on a dedicated Solace Message Router. This plan is not feature limited but does have a time limited 90-day
evaluation period.
Medium-HA Service Instance hosted on a dedicated HA VMR Cluster of medium sized VMs.
Large-HA Service Instance hosted on a dedicated HA VMR Cluster of large sized VMs.
Service Plans Description
solace-messaging shared, community, large, medium-ha, large-ha Solace Messaging as a Service
31. 31
Copyright Solace
Demo Outline
o Deploying Solace Messaging using Ops Manager
‐ A cloud operators perspective
o Creating service instances in Apps Manager
‐ A developers perspective
o Demo application in action
‐ Handling a burst of traffic
o Scaling the application using PCF and Solace Messaging
‐ Tuning to improve burst handling
32. 32
Copyright Solace
Solace Messaging Demo: Horizontal Scaling of Aggregated Microservices
4
Aggregator
Solace
Service
Broker
Cloud Controller
Router
1
2
3
Worker
Spring Cloud
CF
Admin
CLI
Demo UI
Spring Cloud
34. 34
Copyright Solace
Demo Outline
o Deploying Solace Messaging using Ops Manager
‐ A cloud operators perspective
o Creating service instances in Apps Manager
‐ A developers perspective
o Demo application in action
‐ Handling a burst of traffic
o Scaling the application using PCF and Solace Messaging
‐ Tuning to improve burst handling
35. 35
Copyright Solace
Solace Messaging Demo: The Problem…
Aggregator
Solace
Service
Broker
Cloud Controller
Router
Worker
Spring Cloud
CF
Admin
CLI
Demo UI
Spring Cloud
Too
Slow
Solace Buffers
Messages
36. 36
Copyright Solace
Getting Started with Solace + PCF
o Solace Dev Portal – Pivotal Cloud Foundry
http://dev.solace.com/clouds/pivotal-cloud-foundry/
o Pivotal Docs & Download – Solace Messaging for PCF
http://docs.pivotal.io/partners/solace-messaging/
https://network.pivotal.io/products/solace-messaging
o Demo App: Horizontal Scaling of Aggregated Microservices
https://github.com/SolaceLabs/sl-cf-solace-messaging-demo
o More in GitHub – Tutorials, samples and Spring Integrations
http://dev.solace.com/get-started/pcf-tutorials/
https://github.com/SolaceSamples/solace-samples-cloudfoundry-java
https://github.com/SolaceLabs/sl-spring-cloud-connectors
https://github.com/SolaceLabs/solace-jms-spring-boot
37. 37
Copyright Solace
Solace Messaging Demo: The Solution – Scale Workers
Aggregator
Solace
Service
Broker
Cloud Controller
Router
Worker
Spring Cloud
Worker
Spring Cloud
Worker
Spring Cloud
Worker
Spring Cloud
CF
Admin
CLI
Demo UI
Spring Cloud
39. 39
Copyright Solace
Getting Started with Solace + PCF
o Solace Dev Portal – Pivotal Cloud Foundry
http://dev.solace.com/clouds/pivotal-cloud-foundry/
o Pivotal Docs & Download – Solace Messaging for PCF
http://docs.pivotal.io/partners/solace-messaging/
https://network.pivotal.io/products/solace-messaging
o Demo App: Horizontal Scaling of Aggregated Microservices
https://github.com/SolaceLabs/sl-cf-solace-messaging-demo
o More in GitHub – Tutorials, samples and Spring Integrations
http://dev.solace.com/get-started/pcf-tutorials/
https://github.com/SolaceSamples/solace-samples-cloudfoundry-java
https://github.com/SolaceLabs/sl-spring-cloud-connectors
https://github.com/SolaceLabs/solace-jms-spring-boot