AWS Messaging and Integration Services: SQS/SNS/SES for Cloud/DevOps Engineers

AWS Messaging and Integration Services: SQS/SNS/SES for Cloud/DevOps Engineers

Learning path for the AWS Cloud Practitioner exam

📝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