TurboTechLab Logo

AWS Application Integration Services in a Nutshell

AWS Application Integration Services in a Nutshell is a collection of services which help us modernize our systems; making them scalable, robust and reliable using even-driven and decentralized design.


AWS in Nutshell - Integration Services

1. The Nutshell View

AWS Application Integration services empower developers to create flexible, event-driven, and decentralized systems.

Decentralized Systems:

Decentralized systems creates robust, scalable, and reliable systems, vital for modern, agile applications to flexibly server dynamic business needs.

  • Integrate with Event-Driven Design: The AWS services like Amazon SNS, Amazon SQS , Amazon MQ and Amazon EventBridge serves unique needs towards integrating decentralized systems using events. For instance,

    • Amazon SNS helps us to integrate time-sensitive events with our consumers.
    • Amazon SQS helps us decouple the producers and consumers so that can work at their own rates.
    • Amazon EventBridge enables us to neatly manage events using rule based routing to the event consumers.

  • Simplify Process Orchestration: While implementing our business process in modern decentralized systems the things can become overly scattered and tend to become quite complex.

    • Workflow services like AWS Step Functions or AWS Managed Apache Airflow, can combine multiple serverless lambda function or multiple decentralized task into one or more centralized manageable workflows.
    • Similarly, Amazon AppFlow facilitates secure data exchange between AWS services and SaaS applications, streamlining data workflows.
  • AWS AppSync simplifies real-time data synchronization for mobile and web applications, enhancing user experiences. It supports features real-time updates and offline capabilities using it's serverless and high-performing GraphQL and Pub/Sub APIs.

Aligned with the objective of these nutshell modules, we have touched upon how these AWS Application Integration Services help us build modern decentralized systems. However, while we can't delve deeper into their workings here, we have provided a table below outlining each of these services, highlighting their features and usage in more detail.



2. Brief Descriptions, Features & Usages of the AWS Application Integration Services

AWS ServiceObjectiveSample Use Cases
Event Service
Amazon Simple Queue Service (SQS)Fully managed , reliable and highly scalable message queue service capable of processing billions of messages per day.

Decoupled Systems: Highly suitable for decoupling and scaling microservices, developing distributed systems, and serverless applications.
1. Build Scalable Systems: Building a scalable task processing system that can handle spikes by decoupling the consumers from the producers.

2. Event-Driven Systems: Implementing a reliable message pipeline to handle asynchronous events between different microservices.
Amazon Simple Notification Service (SNS)Fully managed pub/sub messaging service.

Poll vs Push Systems: Whereas the Amazon SQS is poll based message queue service for decoupling and scaling the distributed applications; Amazon SNS is a push based message service suitable for time-critical messages to multiple subscribers.
1. Time-sensitive Event Notifications: It supports a wide variety of needs including real-time monitoring of applications, workflow systems, time-sensitive event notifications such as approvals, inventory changes and shipment status to relevant system components as well as end-users.

2. SNS with SQS: A common pattern is to use SNS to publish messages to Amazon SQS in a distibuted, event-driven, decoupled systems architecture.
Amazon EventBridgeConfigurable Rule Based Event Handling

Amazon EventBridge provides a common place to create configurable rules around various events occuring in AWS services, your own applications, and other SaaS applications, so that we can automate the processing of these events by selecting their target processors.

For example, we can choose an event source on the EventBridge console. We can then select a target from AWS services such as AWS Lambda or Amazon SNS. EventBridge can automatically deliver the events on a real-time basis.
1. Build Event-Driven Workflows: Building event-driven workflows for serverless applications, such as processing user uploads to S3.

2. Offload Secondary Tasks: Offload secondary tasks such as notifications or intimating down stream systems, using event driven architecture, for building scalable and roboust systems.
Amazon MQMQ Service Suitable for Multi-Cloud Deployments.

Amazon MQ supports industry-standard APIs and protocols allowing you to migrate from any standards-based message broker to Amazon MQ without rewriting the messaging code in your applications.

If you are building brand new applications in the cloud, AWS recommends to consider Amazon SQS and Amazon SNS. Amazon SQS and SNS are lightweight, fully managed message queue and topic services that scale almost infinitely and provide simple, easy-to-use APIs.
1. Amazon MQ is a managed message broker service for Apache ActiveMQ and RabbitMQ that makes it easy to set up and operate message brokers in the cloud.

2. You get direct access to the ActiveMQ and RabbitMQ consoles and industry standard APIs and protocols for messaging, including JMS, NMS, AMQP 1.0 and 0.9.1, STOMP, MQTT, and WebSocket.
WorkFlow Service
AWS Step FunctionsManaged Serverless Visual WorkFlow Service

AWS Step Functions is a visual workflow service that helps developers automate processes, orchestrate microservices, and create data and machine learning (ML) pipelines.

AWS Step Functions has two workflow options :
- Standard: Meant for long running(more than 5 min) and
- Express: Meant for short duration workflows.
Note: Many a times we can use them combinedly.
1. Data Processing Pipelines: We can use Step Functions to trigger AWS Glue jobs, Lambda functions, and other services to process and transform data as it moves through the pipeline.

2. Automated Testing Workflows: With Step Function we can create a state machine that deploys an application, runs test suites against it, captures logs and metrics, and tears down the environment afterward. This will ensure that testing processes are consistent and repeatable.
Amazon AppFlowBi-directional data flow service for securely transferring data between AWS and SaaS applications without requiring custom code.

Provides an intuitive user interface where you can select your data sources and destinations; configure optional transformations, filters, and validations; and run your flow without having to rely on technical teams.

It supports integration with popular SaaS applications like Salesforce, Slack, SAP, ServiceNow, and others.
1. Automating data synchronization between Salesforce and Amazon Redshift for business analytics.

2. Transferring data from social media platforms (e.g., Twitter) to Amazon S3 for further analysis or storage.
Amazon Managed Apache Airflow(AMAA)Amazon MWAA is a managed version of the popular open-source workflow orchestration tool Apache Airflow.

It's workflow tool similar to Amazon Step Function and allows you to build, schedule, and monitor workflows programatically in Python.
MWAA is well-suited for workflows where tasks are complex, require custom scripts, and might involve data processing, transformation, and analysis.
Unified Data Access
Amazon AppSyncAmazon AppSync simplifies the creation of powerful, data-driven applications that require real-time updates, flexible data sources, and offline capabilities. It abstracts much of the backend complexity, allowing you to focus on delivering engaging and responsive user experiences.

AppSync can aggregate data from various sources like databases, REST APIs, and GraphQL services into a single API, providing a unified view for your application.
1. Applications that involve real-time collaboration, such as chat applications, collaborative document editing tools, or project management platforms, can benefit from AppSync's real-time subscriptions and data synchronization capabilities.

2. Applications used by field workers who may operate in remote or offline locations can benefit from AppSync's offline capabilities. Field workers can continue to interact with and collect data on their mobile devices even when connectivity is lost, and the app will synchronize the data when they regain connectivity.
Communication Service
Amazon Simple Email Service (Amazon SES)A cloud-based email sending service for transactional, marketing, and notification emails.1. Transactional Emails: Send automated emails like order confirmations and password resets to customers after specific actions.

2. Marketing Campaigns: Integrate with marketing tools to send personalized marketing emails and newsletters to targeted audiences.
Amazon PinpointA platform for engaging customers through multi-channel messaging, targeting, and analysis.1. Customer Engagement Campaigns: Create multi-channel campaigns (email, SMS, push, voice) to engage users based on their behavior.

2. Mobile App User Retention: Identify inactive app users using analytics, then send personalized re-engagement messages to improve user retention.
Amazon ChimeA communication service offering online meetings, video conferencing, chat, and business calling.1. Remote Collaboration: Conduct online meetings, video conferences, and screen sharing for remote teams.

2. Webinars and Virtual Events: Host webinars or virtual events with presentation features and interactive Q&A sessions.
AWS ChatbotA service enabling notifications and interactions with AWS resources through chat platforms.1. Operational Alerts: Receive real-time alerts in chat platforms (e.g., Slack) for AWS events like scaling or outages.

2. Resource Management: Use chat commands to control AWS resources, such as starting/stopping EC2 instances or querying resource status, without leaving the chat platform.