Cloud Integrations Flashcards
What’s a Queue?
Is a form of asynchronous service-to-service communication used in serverless and microservices architectures.
Messages are stored on the queue until they are processed and deleted.
You can decouple your applications using..
• SQS: queue model
• SNS: pub/sub model
• Kinesis: real-time data streaming model
• These services can scale independently from our application!
Amazon SQS – Simple Queue Service
Is a fully managed message queuing service that enables you to decouple
• Scales from 1 message per second to 10,000s per second
• Default retention of messages: max 14 days
• No limit to how many messages
• Messages are deleted after they’re read by consumers
• Low latency
• Consumers share the work to read messages & scale horizontally
Amazon Kinesis
Managed service to collect, process, and analyze real-time streaming data at any scale
• Kinesis = real-time big data streaming
Amazon Kinesis - Services
• Kinesis Data Streams: low latency streaming to ingest data at scale from
hundreds of thousands of sources
• Kinesis Data Firehose: load streams into S3, Redshift, ElasticSearch, etc…
• Kinesis Data Analytics: perform real-time analytics on streams using SQL
• Kinesis Video Streams: monitor real-time video streams for analytics or ML
Amazon SNS
Enables you to send notifications directly to your customers.
• The “event publishers” only sends message to one SNS topic
• Each subscriber to the topic will get all the messages
Amazon MQ - Managed Apache ActiveMQA
Is a managed message broker service for Apache ActiveMQ and RabbitMQ that makes it easy to set up and operate message brokers on AWS.
• Traditional applications running from on-premise may use open protocols such as: MQTT, AMQP, STOMP, etc.
• When migrating to the cloud, instead of re-engineering the application to use SQS and SNS, we can use MQ
Amazon MQ runs on and has both…
• Amazon MQ runs on a dedicated machine (not serverless)
• Amazon MQ has both queue feature (~SQS) and topic features (~SNS)
Integration Section – Summary
SQS:
• Queue service in AWS
• Multiple Producers, messages are kept up to 14 days
• Multiple Consumers share the read and delete messages when done
• Used to decouple applications in AWS
SNS:
• Notification service in AWS
• Subscribers: Email, Lambda, SQS, HTTP, Mobile…
• Multiple Subscribers, send all messages to all of them
• No message retention
Kinesis: real-time data streaming, persistence and analysis
Amazon MQ: managed Apache MQ in the cloud