AWS Messaging and Integration Services: SQS/SNS/SES for Cloud/DevOps Engineers
Learning path for the AWS Cloud Practitioner exam
Table of contents
📝Introduction
This post will cover the main Technologies from Messaging and Integration Services: SQS/SNS/SES.
📝Messaging and Integration Services
Let's start by explaining the concept of Coopling since is the basis of how AWS Messaging and Integration services work.
Coupling -> It defines the interdependencies or connections between components of a system. There are two classes of Coupling:
Loose Coupling -> It helps reduce the risk of cascading failures between components. It is Microservices and the coupled components are connected but not dependent on each other.
Tightly Coupling -> The systems are characterized by high interdependence among the components, which makes it difficult to replace or modify one component without affecting the rest. It is a Monolithic architecture where all components are bundled up into a single deployable unit.
Queues are used to implement loosely coupled systems.
AWS Simple Queue Service (SQS) -> It is a message queuing service that allows
you to build loosely coupled systems.
Messages in queues are processed in FIFO order
Eliminate overhead with no upfront costs and without needing to manage software or maintain infrastructure
Securely send sensitive data between applications and centrally manage your keys using AWS Key Management
Allows component-to-component communication using messages
Multiple components (or producers) can add messages to the queue
Messages are processed in an asynchronous manner
SQS in the Real World Scenarios:
- Build a money transfer app that performs well under heavy loads. SQS allows components to send, store, and receive messages. The use of a messaging queue helps to improve performance and scalability.
AWS Simple Notification Service (SNS) -> It allows you to send emails and text messages from your applications.
Publish messages to a topic
Subscribers receive messages
Sends notifications two ways, A2A(Application-to-Application) and A2P(Application-to-Person)
A2A provides high-throughput, push-based, many-to-many messaging between distributed systems, microservices, and event-driven serverless applications(i.e. AWS Lambda, SQS, Kinesis Data Firehose)
A2P functionality lets you send messages to your customers with SMS texts, push notifications, and email
SNS in the Real World Scenarios:
- Send an email when the CPU utilization of an EC2 instance goes above 80%. It works with CloudWatch when an alarm's metric threshold is breached to send an email.
Simple Email Service (SES) -> It is an email service that allows you to send rich
formatted HTML emails from your applications.
An ideal choice for marketing campaigns or professional emails
Unlike SNS, SES sends HTML emails
Stay compliant from day one with HIPAA-eligible and FedRAMP-, GDPR-, and ISO-certified options
SES in the Real World Scenarios:
- Send a marketing email and track open or click-through rates.
Thank you for reading. I hope you were able to understand and learn something helpful from my blog.
Please follow me on Hashnode and on LinkedIn franciscojblsouza