Skip to main content

AWS Messaging Services

The most important messaging services we need to know when it comes to Application Integration are the following:

Remember these keywords against each messaging service

SNS: PubSub (Like publisher, subscriber)

SQS: Queueing (Like batch)

Kinesis: Real-time data

Kafka: BigData

SWF: State tracker and task coordinator


SNS - Amazon Simple Notification Service:

SNS is commonly used for sending simple internal emails. So for example when someone sign-ups on a website, We can use the AWS SDK to send a message to an SNS topic which then sends a plain text email.

Another way we use SNS is to trigger webhooks in our application. For example, let us say we have a web-app which needs to extract data out of a PDF so we need to use a PDFTK which we have to run in a custom runtime in a Lambda function because of legacy reasons. When that lambda has processed that pdf we want to notify our web-app to tell the user it's done. We can have Lambda tell SNS which will then send an HTTP request to an api endpoint (webhook) to our web-app which will then update the user that the pdf has finished processing.


SQS - Amazon Simple Queue Service:

When we send out an email such as confirmation or reset password on website we use SQS to decouple email sending from our app so it doesn't cause the app to hang. 


Kinesis:

Kinesis has been really good for gaming where we need a simple streaming queue.


MKS - Amazon Managed Streaming for Kafka:

It is used in BigData, to use real-time messaging systems tend to use Kafka. AWS has a managed service called MKS (Managed Kafka Service).


SWF - Simple Workflow Service:

Amazon SWF helps developers build, run, and scale background jobs that have parallel or sequential steps. You can think of Amazon SWF as a fully-managed state tracker and task coordinator in the Cloud

Comments

Popular posts from this blog

Multi Cloud Intro

 What is Multi Cloud? Multicloud is a cloud approach made up of more than 1 cloud service, from more than 1 cloud vendor-public or private. For example, Availing different services from different provider (AWS/Azure/GCP), a s well as specialized platform-as-a-service (PaaS), infrastructure-as-a-service (IaaS), or software-as-a-service (SaaS) providers. Major reason for MultiCloud approach, Price competition, Variety of features, Location diversity. Challenges with Implementing Multi-Cloud: Multi-cloud isn’t all rosy: there are some downsides, and complexity to deal with. When deciding on our personal architecture, balance these with the benefits and our goals. 1) Pricing: Public cloud typically becomes more expensive than operating on-premise over time, but volume discounts can soften that blow. By diversifying your application deployment across multiple clouds. 2) Multi-cloud expertise needed: Public clouds are all built very differently, and there’s a learning curve for deploying...

Azure Cost Reduction

Looking for the Cost Reduction opportunities post-migration or cloud adoption is a great challenge to do however we can follow the given practices to save the cost for the Customer, Azure Cost Reduction can be achieved by using the following practices: Azure Reservations: Purchase Azure services for 1 or 3 years in advance with significant discounts Reserved instances – Azure Virtual Machines Reserved capacity – Azure Storage, SQL Database vCores, Databricks DBUs, Cosmos DB RUs Software plans – Red Hat, Red Hat OpenShift, SUSE Linux, etc. Reservations are made for 1 or 3 years Azure Spot VMs: Purchase unused Virtual Machine capacity for a significant discount How does it work? Significant discounts for Azure VMs Capacity can be taken away at any time Customers can set maximum price after discount to keep or evict the machine Best for interruptable workloads (batch processing, dev/test environments, large compute workloads, non-critical tasks, etc.) Hybrid use Benefit: Use existing l...