SlideShare a Scribd company logo
1 of 53
Download to read offline
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Trevor Dyck, Senior Product Manager, AWS Messaging
Quinn Easterbrook, Director Platform Engineering, Capital One
November 30, 2016
Migrating Enterprise Messaging
to the Cloud
Agenda
Enterprise messaging overview
• Enterprise messaging challenges
• Cloud hosted messaging
• AWS messaging—Amazon SQS and Amazon SNS
• New: FIFO queues
Capital One use case
• Migrating retail application messaging to the cloud
What is “enterprise messaging ”?
Corporate data center
Inventory
CRM
Ordering
Front end
Ordering
Back endMoM
“Message-oriented middleware” (MoM)
Examples: IBM MQ, TIBCO
Active MQ, RabbitMQ (open source)
Messaging patterns
• Message queuing
• Publish-subscribe (pub-sub)
Message queueing
• Asynchronous
• Point-to-point
Producer
Consumer
Consumer
Queue
Publish-subscribe (pub-sub)
• Broadcast
• Point-to-multipoint
Publisher Subscriber
Subscriber
Topic
Subscriber
Use cases for message queues
Decouple application components or
microservices
Application integration
Batch and burst processing
Decouple application components or
microservices
• Web tier instances create work, worker instances
complete it
• Scale and manage tiers separately
• More resilient to failure vs direct RESTful communication
Application integration
• Applications exchange information asynchronously
• Apps can be independent, fault-tolerant
• Allows apps to be in different environments (OS, language)
Batch and burst processing
• Resilient to spikes in traffic
• Perform work only as fast as necessary to lower costs
• Never lose data
Challenges: message-oriented middleware (MoM)
Operational overhead
Capacity planning
Reliability
Cost
AWS managed messaging
services
Amazon Simple Queue Service (Amazon SQS)
• Fast, reliable, scalable, fully managed queue service
• AWS SDK or Java Message Service (JMS) APIs
Amazon Simple Notification Service (Amazon SNS)
• Fast, reliable, scalable fully managed pub-sub service
• Use topics to fan out messages to:
• Amazon SQS queues
• HTTP endpoints (web servers)
• AWS Lambda functions
• Mobile push, SMS, and email
Amazon SQS: key features
• Persistent message queue with high durability
and availability
• Messages are stored across multiple AZs
• Messages retained until deleted— up to 14 days
• Nearly unlimited throughput
Amazon SQS: key features
• Amazon CloudWatch metrics and alerts
• Message payloads up to 256 KB (5 TB using
AmazonS3)
• Message batching to increase throughput and
reduce cost
• Secure: uses AWS Identity & Access
Management (IAM) and HTTPS/TLS
No infrastructure to manage
Focus on business logic, not infrastructure.
Just write your code. Amazon SQS handles:
Capacity
Scaling
Deployment
Fault tolerance
Monitoring
Logging
Security
New! FIFO (first-in, first-out) queues
• Message ordering is strictly preserved
• Exactly once processing
• Message groups allow multiple ordered streams within a
single queue
• Essentially the same features and API as standard SQS
queues
• FIFO queues are limited to 300 transactions per
second (TPS)
• Standard SQS queues provide unlimited throughput
FIFO queues - ordering
ABC
Producer Consumer
FIFO queues – message groups
A
Producer
ConsumerGroup 1
Consumer
SendMessage (A, MessageGroupID=1)
FIFO queues – message groups
A
Producer
Consumer
X
Group 1
Group 2
Consumer
SendMessage (X, MessageGroupID=2)
FIFO queues – message groups
A
Producer
Consumer
XY
Group 1
Group 2
Consumer
SendMessage (Y, MessageGroupID=2)
SendMessage (B, MessageGroupID=1)
B
FIFO queues – message groups
A
Producer
Consumer
X
Group 1
Group 2
Consumer
ReceiveMessage
Y
A
X
Invisible
B
FIFO queues – message groups
Producer
Consumer
X
Group 1
Group 2
Consumer
ReceiveMessage
Y
X
B
FIFO queues – message groups
Producer
ConsumerGroup 1
Group 2
Consumer
ReceiveMessage
Y
Y
B
FIFO queues – message groups
Producer
ConsumerGroup 1
Group 2
Consumer
ReceiveMessage
Y
Y
B
B
FIFO Queues - deduplication
FIFO queues prevent duplicate messages
On send:
• For example, if producer retries before SQS acknowledges,
want to avoid a duplicate
• FIFO queues include MessageDeduplicationID for
duplicate detection
• Alternatively, content-based deduplication is also available
FIFO queues – deduplication
Producer
Consumer
Consumer
SendMessage (A, MsgDedupID = foo)
A
FIFO Queue
FIFO queues – deduplication
Producer
Consumer
Consumer
A
ReceiveMessage
FIFO Queue
Dedup buffer
A
FIFO queues – deduplication
Producer
Consumer
ConsumerSendMessage (A, MsgDedupID = foo)
A
Retry:
FIFO Queue
Dedup buffer
A
FIFO queues – deduplication
Producer
Consumer
Consumer
FIFO Queue
Dedup buffer
A
OK
FIFO queues – exactly-once processing
On receive:
• If consumer reads but does not process and delete a
message (for example, network failure)
• SQS will make the message available to another consumer
• If the consumer detects a failed ReceiveMessage action, it
can retry as many times as necessary, using the same
ReceiveRequestAttemptId
FIFO queues – exactly-once processing
A
Producer
Consumer
Consumer
ReceiveMessage
A
(AttemptID = bar)
BC
FIFO Queue
FIFO queues – exactly-once processing
Producer
Consumer
Consumer
ABC
FIFO Queue
FIFO queues – exactly-once processing
A
Producer
Consumer
Consumer
ReceiveMessage
A
(AttemptID = bar)
BC
FIFO Queue
FIFO queues – pricing
• Low cost, per–API request pricing. Pay only for what you
use, no upfront costs.
• FIFO queues are priced at $0.50 per million requests.
• In conjunction, the price of SQS standard queues was
reduced to $0.40 per million requests.
• First 1 million SQS requests per month are free.
Move from risk-laden
upfront expense to
flexible variable expense
Stop guessing at
capacity planning
Go global in minutes
Hosted messaging: harness the cloud
Remove complicated
infrastructure management
Enterprises using AWS messaging services
BMW
Johnson &
Johnson
Nordstrom
Migrating retail application messaging
to the cloud
A leading diversified bank with $339.1 billion in assets, $235.8 billion in loans and $221.1 billion in deposits1
• 8th largest bank based on U.S. deposits2
• 5th largest retail depository institution in metro New York3
• Largest consumer and commercial banking institution headquartered in the Washington, DC, region
• 4th largest credit card issuer in the U.S.4
• The 3rd largest issuer of small business credit cards in the U.S.5
• The 4th largest financial institution auto loan originator6
• Largest U.S. direct bank7
Major operations in 15 U.S. cities, Canada, U.K.
More than 65 million customer accounts, and 45,000 associates
A FORTUNE 500 Company - #112
Numerous recent awards including:
• Named to 100 Best Companies to Work For by FORTUNE Magazine
• Best Places to Work for LGBT Equality by Human Rights Campaign
• Received J.D. Power & Associates Call Center Certification
• Aon Hewitt’s Top Companies for Leaders
• Named to Working Mother’s 100 Best Companies list & Best Companies for Hourly Workers
• Ranked #10 on Military Times’ 2016 “Best for Vets”
• Recipient of the Secretary of Defense Employer Support Freedom Award
Capital One at a glance
1) Source: Company reported data as of Q2’16
2) Source: FDIC, Domestic deposits ranking as of Q2’16
3) Source: FDIC, June 2015, deposits capped at $1B per branch
4) Source: Company-reported domestic credit card outstandings, Q2’16,
5) Source: The Nilson Report, Issue 1089, June 2016
6) Note: Financial institutions includes banks & specialty finance lenders,
Source: AutoCount, FY 2015
7) Source: FDIC, company reports as of Q2’16
Retail messaging cloud migration
Benefits and cost saving associated with moving to the cloud
Focus on iterative improvements
• Maintaining existing architecture while providing modern components
• Provide integration points that work with existing applications
• Minimalize code changes where possible
Areas of upgrade
• Modernizing message queuing with Amazon SQS vs. self-managed systems
• Migrating hardware systems to Amazon EC2 with fully-automated build-out
• Leveraging Auto Scaling for resiliency and usage-based model
Current queue system
JBOSS JMS message queues used for legacy applications
JBOSS has been relatively stable, but has challenges:
• Downtime related to maintenance on servers running the queues
• Upgrades to the JMS client and server due to recoding efforts required
• Database system patching and issues with tablespace growth
• Visibility into queues and performance with homegrown monitoring
Challenges with queue administration and segregation
• Segmentation among applications required explicit separation of applications
and queues
Excessive overhead to administer multiple servers:
• 10 JBOSS JMS queue servers to 5 applications
Existing queue integration
2
1. User submits request to Web APP
2. Web App sends message to Jboss MQ
3. Middleware clusters poll Jboss MQ for new
messages.
4. Middleware sends Queries to Backend Databases and
3rd
party App Vendors.
5. Middleware sends the reply message to the
application topic in JbossMQ
6. Jboss MQ topic pushes the message back to the Web
App.
Users
1
3
4
6
3rd
Party Apps
5
CustDB1
CustDB2
Web App Jboss MQ Middleware
Tomcat
Current queue system is complex
• Queues are distinct to each server,
applications lack visibility
• Instances are provisioned based on
theoretical load not actual load
• Requires timely build of supporting
infrastructure
• Multiple queues on each server make it
difficult to find failures
• Inability to identify bottlenecks and
resolve issues across systems
• Significant effort to manage multiple costly
systems and administer services
SQS selection criteria
Simplified administration
• Dynamic queue creation on startup of applications
• Requirement for patching and database maintenance removed
• Increased monitoring with Amazon CloudWatch built-in
Utilization patterns govern the number of queues required
• Static server builds not required for application demand
Required to be highly secure
• SQS provides TLS1.2 connectivity and strong authentication
Flexibility in queue types
• Can utilize FIFO as well as standard queues to allow for more performance
• FIFO use cases for ordering on pickup and classic for variable timed responses
SQS selection criteria
Ease of integration
• With small client changes can easily integrate into existing application
• Utilize existing JMS coding for application queues
Reliability/scaling
• Ability to scale as the applications grow without having to pre-plan sizing
• Inherent reliability with Multi-AZ deployments
Capacity planning
• Scaling of queues/resources based on when they are used vs. always on
Infrastructure simplification
• Elimination of costly physical systems with reliable serverless services
Private beta and SQS team interactions
Direct engagement with product team to develop features and solutions that
meet our specific needs
Successful process to collaborate and achieve key goals
• Examples: FIFO and exactly once processing
Exchange feedback on how solutions will work and solve complex issues
• Example: Solve for queue queries for message interaction reliability
Application queues
Existing New
New SQS Integration
RetailBank
CustDB1
AppSendQueue
2
1. User submits request to Web App.
2. Web App instance sends message to Shared
AppSendQueue for Middleware.
3. Middleware Instances polls the AppSendQueue for
new messages.
4. Intra-Cluster message traffic.
5. Middleware sends Queries to Backend Databases and
3rd
party Vendors.
6. Middelware sends reply message to the Instance
Specific Reply Queue.
7. WebApp Instance polls it’s specific reply queue for
messages and correlates messages with initial request.
On-Prem
Users
Au to
Scaling
Middleware
MW01
Queue
MW02
Queue
MW03
Queue
Inst01RplyQueue
CustDB2
1
3
4
5
67
3rd
Party Apps
5
Inst02RplyQueue
Inst0nRplyQueue
Au to
Scaling
WebTop App
ASG
WebTopInstance01
WebTopInstance02
WebTopInstance0n
7
7
6
6
FIFO
SQS migration wrap-up
Delivers significant benefit to overall migration efforts
• Lets us leverage existing systems without complex development
• Enables a seamless migration with limited overhead and administration
• Exceeds overall goals of resiliency and visibility
• Delivers future-proof solution that will grow with our needs
Summary
• Messaging is a common requirement in enterprise architectures
• Managed messaging services remove administrative overhead & “pain”
• FIFO queues enable more use cases
• AWS is investing in more key enterprise messaging features…
stay tuned!
Thank you!
Remember to complete
your evaluations!

More Related Content

What's hot

What's hot (20)

AWS re:Invent 2016: JustGiving: Serverless Data Pipelines, Event-Driven ETL, ...
AWS re:Invent 2016: JustGiving: Serverless Data Pipelines, Event-Driven ETL, ...AWS re:Invent 2016: JustGiving: Serverless Data Pipelines, Event-Driven ETL, ...
AWS re:Invent 2016: JustGiving: Serverless Data Pipelines, Event-Driven ETL, ...
 
Deep Dive on MySQL Databases on AWS - AWS Online Tech Talks
Deep Dive on MySQL Databases on AWS - AWS Online Tech TalksDeep Dive on MySQL Databases on AWS - AWS Online Tech Talks
Deep Dive on MySQL Databases on AWS - AWS Online Tech Talks
 
Migrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceMigrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration Service
 
AWS re:Invent 2016: Best practices for running enterprise workloads on AWS (E...
AWS re:Invent 2016: Best practices for running enterprise workloads on AWS (E...AWS re:Invent 2016: Best practices for running enterprise workloads on AWS (E...
AWS re:Invent 2016: Best practices for running enterprise workloads on AWS (E...
 
AWS re:Invent 2016: What’s New with Amazon Redshift (BDA304)
AWS re:Invent 2016: What’s New with Amazon Redshift (BDA304)AWS re:Invent 2016: What’s New with Amazon Redshift (BDA304)
AWS re:Invent 2016: What’s New with Amazon Redshift (BDA304)
 
AWS re:Invent 2016: Event Handling at Scale: Designing an Auditable Ingestion...
AWS re:Invent 2016: Event Handling at Scale: Designing an Auditable Ingestion...AWS re:Invent 2016: Event Handling at Scale: Designing an Auditable Ingestion...
AWS re:Invent 2016: Event Handling at Scale: Designing an Auditable Ingestion...
 
Managing Data with Amazon ElastiCache for Redis - August 2016 Monthly Webinar...
Managing Data with Amazon ElastiCache for Redis - August 2016 Monthly Webinar...Managing Data with Amazon ElastiCache for Redis - August 2016 Monthly Webinar...
Managing Data with Amazon ElastiCache for Redis - August 2016 Monthly Webinar...
 
AWS re:Invent 2016: Workshop: Migrating Microsoft Applications to AWS (ENT216)
AWS re:Invent 2016: Workshop: Migrating Microsoft Applications to AWS (ENT216)AWS re:Invent 2016: Workshop: Migrating Microsoft Applications to AWS (ENT216)
AWS re:Invent 2016: Workshop: Migrating Microsoft Applications to AWS (ENT216)
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million Users
 
AWS re:Invent 2016: Big Data Architectural Patterns and Best Practices on AWS...
AWS re:Invent 2016: Big Data Architectural Patterns and Best Practices on AWS...AWS re:Invent 2016: Big Data Architectural Patterns and Best Practices on AWS...
AWS re:Invent 2016: Big Data Architectural Patterns and Best Practices on AWS...
 
AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...
AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...
AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...
 
AWS re:Invent 2016: Introduction to Managed Database Services on AWS (DAT307)
AWS re:Invent 2016: Introduction to Managed Database Services on AWS (DAT307)AWS re:Invent 2016: Introduction to Managed Database Services on AWS (DAT307)
AWS re:Invent 2016: Introduction to Managed Database Services on AWS (DAT307)
 
Full Stack Analytics on AWS - AWS Summit Cape Town 2017
Full Stack Analytics on AWS - AWS Summit Cape Town 2017 Full Stack Analytics on AWS - AWS Summit Cape Town 2017
Full Stack Analytics on AWS - AWS Summit Cape Town 2017
 
Introduction to Amazon Relational Database Service
Introduction to Amazon Relational Database ServiceIntroduction to Amazon Relational Database Service
Introduction to Amazon Relational Database Service
 
Migrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceMigrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration Service
 
Deep Dive on Object Storage: Amazon S3 and Amazon Glacier
Deep Dive on Object Storage: Amazon S3 and Amazon GlacierDeep Dive on Object Storage: Amazon S3 and Amazon Glacier
Deep Dive on Object Storage: Amazon S3 and Amazon Glacier
 
Optimizing Storage for Big Data Analytics Workloads
Optimizing Storage for Big Data Analytics WorkloadsOptimizing Storage for Big Data Analytics Workloads
Optimizing Storage for Big Data Analytics Workloads
 
The Value of Certified AWS Experts to Your Business
The Value of Certified AWS Experts to Your BusinessThe Value of Certified AWS Experts to Your Business
The Value of Certified AWS Experts to Your Business
 
database migration simple, cross-engine and cross-platform migrations with ...
database migration   simple, cross-engine and cross-platform migrations with ...database migration   simple, cross-engine and cross-platform migrations with ...
database migration simple, cross-engine and cross-platform migrations with ...
 
Getting started with Amazon Kinesis
Getting started with Amazon KinesisGetting started with Amazon Kinesis
Getting started with Amazon Kinesis
 

Viewers also liked

Viewers also liked (20)

AWS SQS for better architecture
AWS SQS for better architectureAWS SQS for better architecture
AWS SQS for better architecture
 
AWS re:Invent 2016: Simplified Data Center Migration—Lessons Learned by Live ...
AWS re:Invent 2016: Simplified Data Center Migration—Lessons Learned by Live ...AWS re:Invent 2016: Simplified Data Center Migration—Lessons Learned by Live ...
AWS re:Invent 2016: Simplified Data Center Migration—Lessons Learned by Live ...
 
AWS re:Invent 2016: Simplify Cloud Migration with AWS Server Migration Servic...
AWS re:Invent 2016: Simplify Cloud Migration with AWS Server Migration Servic...AWS re:Invent 2016: Simplify Cloud Migration with AWS Server Migration Servic...
AWS re:Invent 2016: Simplify Cloud Migration with AWS Server Migration Servic...
 
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...
Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303...
 
AWS re:Invent 2016: Identifying Your Migration Options: the 6 Rs (ENT311)
AWS re:Invent 2016: Identifying Your Migration Options: the 6 Rs (ENT311)AWS re:Invent 2016: Identifying Your Migration Options: the 6 Rs (ENT311)
AWS re:Invent 2016: Identifying Your Migration Options: the 6 Rs (ENT311)
 
French capitalism = socialist cronyism
French capitalism = socialist cronyismFrench capitalism = socialist cronyism
French capitalism = socialist cronyism
 
AWS re:Invent 2016: Taking Data to the Extreme (MBL202)
AWS re:Invent 2016: Taking Data to the Extreme (MBL202)AWS re:Invent 2016: Taking Data to the Extreme (MBL202)
AWS re:Invent 2016: Taking Data to the Extreme (MBL202)
 
Enterprise messaging
Enterprise messagingEnterprise messaging
Enterprise messaging
 
Enterprise mobility
Enterprise mobilityEnterprise mobility
Enterprise mobility
 
Workshop : Wild Rydes Takes Off - The Dawn of a New Unicorn
Workshop : Wild Rydes Takes Off - The Dawn of a New UnicornWorkshop : Wild Rydes Takes Off - The Dawn of a New Unicorn
Workshop : Wild Rydes Takes Off - The Dawn of a New Unicorn
 
(PFC308) How Dropbox Scales Massive Workloads Using Amazon SQS | AWS re:Inven...
(PFC308) How Dropbox Scales Massive Workloads Using Amazon SQS | AWS re:Inven...(PFC308) How Dropbox Scales Massive Workloads Using Amazon SQS | AWS re:Inven...
(PFC308) How Dropbox Scales Massive Workloads Using Amazon SQS | AWS re:Inven...
 
Introduction to Amazon EC2 Spot Instances
Introduction to Amazon EC2 Spot InstancesIntroduction to Amazon EC2 Spot Instances
Introduction to Amazon EC2 Spot Instances
 
Enterprise messaging with jms
Enterprise messaging with jmsEnterprise messaging with jms
Enterprise messaging with jms
 
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
 
2006년 SSL VPN 포탈 보안 강화(안)
2006년 SSL VPN 포탈 보안 강화(안)2006년 SSL VPN 포탈 보안 강화(안)
2006년 SSL VPN 포탈 보안 강화(안)
 
[SNS특강] SNS와 페이스북, 무엇을 어떻게 활용할 것인가 150519
[SNS특강] SNS와 페이스북, 무엇을 어떻게 활용할 것인가 150519[SNS특강] SNS와 페이스북, 무엇을 어떻게 활용할 것인가 150519
[SNS특강] SNS와 페이스북, 무엇을 어떻게 활용할 것인가 150519
 
A Practical Guide for Selecting an Enterprise Messaging Platforms
A Practical Guide for Selecting an Enterprise Messaging PlatformsA Practical Guide for Selecting an Enterprise Messaging Platforms
A Practical Guide for Selecting an Enterprise Messaging Platforms
 
IBM MQ - Monitoring and Managing Hybrid Messaging Environments
IBM MQ - Monitoring and Managing Hybrid Messaging EnvironmentsIBM MQ - Monitoring and Managing Hybrid Messaging Environments
IBM MQ - Monitoring and Managing Hybrid Messaging Environments
 
빅 데이터 추진방안
빅 데이터 추진방안빅 데이터 추진방안
빅 데이터 추진방안
 
AWS SQS SNS
AWS SQS SNSAWS SQS SNS
AWS SQS SNS
 

Similar to AWS re:Invent 2016: Migrating Enterprise Messaging to the Cloud (ENT217)

AWS Summit 2013 | Singapore - Opening Keynote, Dr Werner Vogels
AWS Summit 2013 | Singapore - Opening Keynote, Dr Werner VogelsAWS Summit 2013 | Singapore - Opening Keynote, Dr Werner Vogels
AWS Summit 2013 | Singapore - Opening Keynote, Dr Werner Vogels
Amazon Web Services
 
WSO2Con US 2013 - Powering an enterprise with messaging and APIs
WSO2Con US 2013 - Powering an enterprise with messaging and APIsWSO2Con US 2013 - Powering an enterprise with messaging and APIs
WSO2Con US 2013 - Powering an enterprise with messaging and APIs
WSO2
 

Similar to AWS re:Invent 2016: Migrating Enterprise Messaging to the Cloud (ENT217) (20)

AWS re:Invent 2016: Beeswax: Building a Real-Time Streaming Data Platform on ...
AWS re:Invent 2016: Beeswax: Building a Real-Time Streaming Data Platform on ...AWS re:Invent 2016: Beeswax: Building a Real-Time Streaming Data Platform on ...
AWS re:Invent 2016: Beeswax: Building a Real-Time Streaming Data Platform on ...
 
AWS Summit 2013 | Singapore - Opening Keynote, Dr Werner Vogels
AWS Summit 2013 | Singapore - Opening Keynote, Dr Werner VogelsAWS Summit 2013 | Singapore - Opening Keynote, Dr Werner Vogels
AWS Summit 2013 | Singapore - Opening Keynote, Dr Werner Vogels
 
AWS Study Group - Chapter 07 - Integrating Application Services [Solution Arc...
AWS Study Group - Chapter 07 - Integrating Application Services [Solution Arc...AWS Study Group - Chapter 07 - Integrating Application Services [Solution Arc...
AWS Study Group - Chapter 07 - Integrating Application Services [Solution Arc...
 
Beyond REST and RPC: Asynchronous Eventing and Messaging Patterns
Beyond REST and RPC: Asynchronous Eventing and Messaging PatternsBeyond REST and RPC: Asynchronous Eventing and Messaging Patterns
Beyond REST and RPC: Asynchronous Eventing and Messaging Patterns
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices NATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
 
Making communication across boundaries simple with Azure Service Bus
Making communication across boundaries simple with Azure Service BusMaking communication across boundaries simple with Azure Service Bus
Making communication across boundaries simple with Azure Service Bus
 
Removing dependencies between services: Messaging and Apache Kafka
Removing dependencies between services: Messaging and Apache KafkaRemoving dependencies between services: Messaging and Apache Kafka
Removing dependencies between services: Messaging and Apache Kafka
 
Bigdata meetup dwarak_realtime_score_app
Bigdata meetup dwarak_realtime_score_appBigdata meetup dwarak_realtime_score_app
Bigdata meetup dwarak_realtime_score_app
 
AWS Messaging
AWS MessagingAWS Messaging
AWS Messaging
 
Calgary azure dev camp - Service Bus
Calgary azure dev camp - Service BusCalgary azure dev camp - Service Bus
Calgary azure dev camp - Service Bus
 
Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...
Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...
Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...
 
(MBL307) How Mobile Businesses and Enterprises Use Amazon SNS
(MBL307) How Mobile Businesses and Enterprises Use Amazon SNS(MBL307) How Mobile Businesses and Enterprises Use Amazon SNS
(MBL307) How Mobile Businesses and Enterprises Use Amazon SNS
 
WSO2Con US 2013 - Powering an enterprise with messaging and APIs
WSO2Con US 2013 - Powering an enterprise with messaging and APIsWSO2Con US 2013 - Powering an enterprise with messaging and APIs
WSO2Con US 2013 - Powering an enterprise with messaging and APIs
 
(ARC206) Architecting Reactive Applications on AWS | AWS re:Invent 2014
(ARC206) Architecting Reactive Applications on AWS | AWS re:Invent 2014(ARC206) Architecting Reactive Applications on AWS | AWS re:Invent 2014
(ARC206) Architecting Reactive Applications on AWS | AWS re:Invent 2014
 
Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20
 
Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20
 
Running Mission Critical Workload for Financial Services Institutions on AWS
Running Mission Critical Workload for Financial Services Institutions on AWSRunning Mission Critical Workload for Financial Services Institutions on AWS
Running Mission Critical Workload for Financial Services Institutions on AWS
 
AME-1936 : Enterprise Messaging for Next-Generation Core Banking
AME-1936 : Enterprise Messaging for Next-Generation Core BankingAME-1936 : Enterprise Messaging for Next-Generation Core Banking
AME-1936 : Enterprise Messaging for Next-Generation Core Banking
 
AWS re:Invent 2014 | (ARC202) Real-World Real-Time Analytics
AWS re:Invent 2014 | (ARC202) Real-World Real-Time AnalyticsAWS re:Invent 2014 | (ARC202) Real-World Real-Time Analytics
AWS re:Invent 2014 | (ARC202) Real-World Real-Time Analytics
 

More from Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

AWS re:Invent 2016: Migrating Enterprise Messaging to the Cloud (ENT217)

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Trevor Dyck, Senior Product Manager, AWS Messaging Quinn Easterbrook, Director Platform Engineering, Capital One November 30, 2016 Migrating Enterprise Messaging to the Cloud
  • 2. Agenda Enterprise messaging overview • Enterprise messaging challenges • Cloud hosted messaging • AWS messaging—Amazon SQS and Amazon SNS • New: FIFO queues Capital One use case • Migrating retail application messaging to the cloud
  • 3. What is “enterprise messaging ”? Corporate data center Inventory CRM Ordering Front end Ordering Back endMoM “Message-oriented middleware” (MoM) Examples: IBM MQ, TIBCO Active MQ, RabbitMQ (open source)
  • 4. Messaging patterns • Message queuing • Publish-subscribe (pub-sub)
  • 5. Message queueing • Asynchronous • Point-to-point Producer Consumer Consumer Queue
  • 6. Publish-subscribe (pub-sub) • Broadcast • Point-to-multipoint Publisher Subscriber Subscriber Topic Subscriber
  • 7. Use cases for message queues Decouple application components or microservices Application integration Batch and burst processing
  • 8. Decouple application components or microservices • Web tier instances create work, worker instances complete it • Scale and manage tiers separately • More resilient to failure vs direct RESTful communication
  • 9. Application integration • Applications exchange information asynchronously • Apps can be independent, fault-tolerant • Allows apps to be in different environments (OS, language)
  • 10. Batch and burst processing • Resilient to spikes in traffic • Perform work only as fast as necessary to lower costs • Never lose data
  • 11. Challenges: message-oriented middleware (MoM) Operational overhead Capacity planning Reliability Cost
  • 13. Amazon Simple Queue Service (Amazon SQS) • Fast, reliable, scalable, fully managed queue service • AWS SDK or Java Message Service (JMS) APIs
  • 14. Amazon Simple Notification Service (Amazon SNS) • Fast, reliable, scalable fully managed pub-sub service • Use topics to fan out messages to: • Amazon SQS queues • HTTP endpoints (web servers) • AWS Lambda functions • Mobile push, SMS, and email
  • 15. Amazon SQS: key features • Persistent message queue with high durability and availability • Messages are stored across multiple AZs • Messages retained until deleted— up to 14 days • Nearly unlimited throughput
  • 16. Amazon SQS: key features • Amazon CloudWatch metrics and alerts • Message payloads up to 256 KB (5 TB using AmazonS3) • Message batching to increase throughput and reduce cost • Secure: uses AWS Identity & Access Management (IAM) and HTTPS/TLS
  • 17. No infrastructure to manage Focus on business logic, not infrastructure. Just write your code. Amazon SQS handles: Capacity Scaling Deployment Fault tolerance Monitoring Logging Security
  • 18. New! FIFO (first-in, first-out) queues • Message ordering is strictly preserved • Exactly once processing • Message groups allow multiple ordered streams within a single queue • Essentially the same features and API as standard SQS queues • FIFO queues are limited to 300 transactions per second (TPS) • Standard SQS queues provide unlimited throughput
  • 19. FIFO queues - ordering ABC Producer Consumer
  • 20. FIFO queues – message groups A Producer ConsumerGroup 1 Consumer SendMessage (A, MessageGroupID=1)
  • 21. FIFO queues – message groups A Producer Consumer X Group 1 Group 2 Consumer SendMessage (X, MessageGroupID=2)
  • 22. FIFO queues – message groups A Producer Consumer XY Group 1 Group 2 Consumer SendMessage (Y, MessageGroupID=2) SendMessage (B, MessageGroupID=1) B
  • 23. FIFO queues – message groups A Producer Consumer X Group 1 Group 2 Consumer ReceiveMessage Y A X Invisible B
  • 24. FIFO queues – message groups Producer Consumer X Group 1 Group 2 Consumer ReceiveMessage Y X B
  • 25. FIFO queues – message groups Producer ConsumerGroup 1 Group 2 Consumer ReceiveMessage Y Y B
  • 26. FIFO queues – message groups Producer ConsumerGroup 1 Group 2 Consumer ReceiveMessage Y Y B B
  • 27. FIFO Queues - deduplication FIFO queues prevent duplicate messages On send: • For example, if producer retries before SQS acknowledges, want to avoid a duplicate • FIFO queues include MessageDeduplicationID for duplicate detection • Alternatively, content-based deduplication is also available
  • 28. FIFO queues – deduplication Producer Consumer Consumer SendMessage (A, MsgDedupID = foo) A FIFO Queue
  • 29. FIFO queues – deduplication Producer Consumer Consumer A ReceiveMessage FIFO Queue Dedup buffer A
  • 30. FIFO queues – deduplication Producer Consumer ConsumerSendMessage (A, MsgDedupID = foo) A Retry: FIFO Queue Dedup buffer A
  • 31. FIFO queues – deduplication Producer Consumer Consumer FIFO Queue Dedup buffer A OK
  • 32. FIFO queues – exactly-once processing On receive: • If consumer reads but does not process and delete a message (for example, network failure) • SQS will make the message available to another consumer • If the consumer detects a failed ReceiveMessage action, it can retry as many times as necessary, using the same ReceiveRequestAttemptId
  • 33. FIFO queues – exactly-once processing A Producer Consumer Consumer ReceiveMessage A (AttemptID = bar) BC FIFO Queue
  • 34. FIFO queues – exactly-once processing Producer Consumer Consumer ABC FIFO Queue
  • 35. FIFO queues – exactly-once processing A Producer Consumer Consumer ReceiveMessage A (AttemptID = bar) BC FIFO Queue
  • 36. FIFO queues – pricing • Low cost, per–API request pricing. Pay only for what you use, no upfront costs. • FIFO queues are priced at $0.50 per million requests. • In conjunction, the price of SQS standard queues was reduced to $0.40 per million requests. • First 1 million SQS requests per month are free.
  • 37. Move from risk-laden upfront expense to flexible variable expense Stop guessing at capacity planning Go global in minutes Hosted messaging: harness the cloud Remove complicated infrastructure management
  • 38. Enterprises using AWS messaging services BMW Johnson & Johnson Nordstrom
  • 39. Migrating retail application messaging to the cloud
  • 40. A leading diversified bank with $339.1 billion in assets, $235.8 billion in loans and $221.1 billion in deposits1 • 8th largest bank based on U.S. deposits2 • 5th largest retail depository institution in metro New York3 • Largest consumer and commercial banking institution headquartered in the Washington, DC, region • 4th largest credit card issuer in the U.S.4 • The 3rd largest issuer of small business credit cards in the U.S.5 • The 4th largest financial institution auto loan originator6 • Largest U.S. direct bank7 Major operations in 15 U.S. cities, Canada, U.K. More than 65 million customer accounts, and 45,000 associates A FORTUNE 500 Company - #112 Numerous recent awards including: • Named to 100 Best Companies to Work For by FORTUNE Magazine • Best Places to Work for LGBT Equality by Human Rights Campaign • Received J.D. Power & Associates Call Center Certification • Aon Hewitt’s Top Companies for Leaders • Named to Working Mother’s 100 Best Companies list & Best Companies for Hourly Workers • Ranked #10 on Military Times’ 2016 “Best for Vets” • Recipient of the Secretary of Defense Employer Support Freedom Award Capital One at a glance 1) Source: Company reported data as of Q2’16 2) Source: FDIC, Domestic deposits ranking as of Q2’16 3) Source: FDIC, June 2015, deposits capped at $1B per branch 4) Source: Company-reported domestic credit card outstandings, Q2’16, 5) Source: The Nilson Report, Issue 1089, June 2016 6) Note: Financial institutions includes banks & specialty finance lenders, Source: AutoCount, FY 2015 7) Source: FDIC, company reports as of Q2’16
  • 41. Retail messaging cloud migration Benefits and cost saving associated with moving to the cloud Focus on iterative improvements • Maintaining existing architecture while providing modern components • Provide integration points that work with existing applications • Minimalize code changes where possible Areas of upgrade • Modernizing message queuing with Amazon SQS vs. self-managed systems • Migrating hardware systems to Amazon EC2 with fully-automated build-out • Leveraging Auto Scaling for resiliency and usage-based model
  • 42. Current queue system JBOSS JMS message queues used for legacy applications JBOSS has been relatively stable, but has challenges: • Downtime related to maintenance on servers running the queues • Upgrades to the JMS client and server due to recoding efforts required • Database system patching and issues with tablespace growth • Visibility into queues and performance with homegrown monitoring Challenges with queue administration and segregation • Segmentation among applications required explicit separation of applications and queues Excessive overhead to administer multiple servers: • 10 JBOSS JMS queue servers to 5 applications
  • 43. Existing queue integration 2 1. User submits request to Web APP 2. Web App sends message to Jboss MQ 3. Middleware clusters poll Jboss MQ for new messages. 4. Middleware sends Queries to Backend Databases and 3rd party App Vendors. 5. Middleware sends the reply message to the application topic in JbossMQ 6. Jboss MQ topic pushes the message back to the Web App. Users 1 3 4 6 3rd Party Apps 5 CustDB1 CustDB2 Web App Jboss MQ Middleware Tomcat
  • 44. Current queue system is complex • Queues are distinct to each server, applications lack visibility • Instances are provisioned based on theoretical load not actual load • Requires timely build of supporting infrastructure • Multiple queues on each server make it difficult to find failures • Inability to identify bottlenecks and resolve issues across systems • Significant effort to manage multiple costly systems and administer services
  • 45. SQS selection criteria Simplified administration • Dynamic queue creation on startup of applications • Requirement for patching and database maintenance removed • Increased monitoring with Amazon CloudWatch built-in Utilization patterns govern the number of queues required • Static server builds not required for application demand Required to be highly secure • SQS provides TLS1.2 connectivity and strong authentication Flexibility in queue types • Can utilize FIFO as well as standard queues to allow for more performance • FIFO use cases for ordering on pickup and classic for variable timed responses
  • 46. SQS selection criteria Ease of integration • With small client changes can easily integrate into existing application • Utilize existing JMS coding for application queues Reliability/scaling • Ability to scale as the applications grow without having to pre-plan sizing • Inherent reliability with Multi-AZ deployments Capacity planning • Scaling of queues/resources based on when they are used vs. always on Infrastructure simplification • Elimination of costly physical systems with reliable serverless services
  • 47. Private beta and SQS team interactions Direct engagement with product team to develop features and solutions that meet our specific needs Successful process to collaborate and achieve key goals • Examples: FIFO and exactly once processing Exchange feedback on how solutions will work and solve complex issues • Example: Solve for queue queries for message interaction reliability
  • 49. New SQS Integration RetailBank CustDB1 AppSendQueue 2 1. User submits request to Web App. 2. Web App instance sends message to Shared AppSendQueue for Middleware. 3. Middleware Instances polls the AppSendQueue for new messages. 4. Intra-Cluster message traffic. 5. Middleware sends Queries to Backend Databases and 3rd party Vendors. 6. Middelware sends reply message to the Instance Specific Reply Queue. 7. WebApp Instance polls it’s specific reply queue for messages and correlates messages with initial request. On-Prem Users Au to Scaling Middleware MW01 Queue MW02 Queue MW03 Queue Inst01RplyQueue CustDB2 1 3 4 5 67 3rd Party Apps 5 Inst02RplyQueue Inst0nRplyQueue Au to Scaling WebTop App ASG WebTopInstance01 WebTopInstance02 WebTopInstance0n 7 7 6 6 FIFO
  • 50. SQS migration wrap-up Delivers significant benefit to overall migration efforts • Lets us leverage existing systems without complex development • Enables a seamless migration with limited overhead and administration • Exceeds overall goals of resiliency and visibility • Delivers future-proof solution that will grow with our needs
  • 51. Summary • Messaging is a common requirement in enterprise architectures • Managed messaging services remove administrative overhead & “pain” • FIFO queues enable more use cases • AWS is investing in more key enterprise messaging features… stay tuned!