AWS Messaging for your mobile application
By reading this article carefully, You can get a sound idea about AWS Messaging. And I recommend viewing this article if you are going to use or integrate AWS Messages for your application.
Introduction
AWS messaging services enable different software systems and end devices–often using different programming languages, and on different platforms–to communicate and exchange information. You can use AWS messaging services to send and receive data in your cloud applications.
Match Messaging to your Use-Case
Amazon MQ
Amazon MQ is a managed message broker service for Apache ActiveMQ and RabbitMQ that makes it easy to set up and operate message brokers on AWS. Amazon MQ reduces your operational responsibilities by managing the provisioning, setup, and maintenance of message brokers for you. Because Amazon MQ connects to your current applications with industry-standard APIs and protocols, you can easily migrate to AWS without having to rewrite code.
Pricing
Benefits
Migrate quickly
Connecting your current applications to Amazon MQ is easy because it uses industry-standard APIs and protocols for messaging, including JMS, NMS, AMQP 1.0 and 0–9–1, STOMP, MQTT, and WebSocket. This enables you to move from any message broker that uses these standards to Amazon MQ by simply updating the endpoints of your applications to connect to Amazon MQ.
Offload operational responsibilities
Amazon MQ manages the administration and maintenance of message brokers and automatically provisions infrastructure for high availability. There is no need to provision hardware or install and maintain software and Amazon MQ automatically manages tasks such as software upgrades, security updates, and failure detection and recovery.
Durable messaging made easy.
Amazon MQ is automatically provisioned for high availability and message durability when you connect your message brokers. Amazon MQ stores messages redundantly across multiple Availability Zones (AZ) within an AWS region and will continue to be available if a component or AZ fails.
Amazon SQS
Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables you to decouple and scale microservices, distributed systems, and serverless applications. SQS eliminates the complexity and overhead associated with managing and operating message-oriented middleware and empowers developers to focus on differentiating work. Using SQS, you can send, store, and receive messages between software components at any volume, without losing messages or requiring other services to be available. Get started with SQS in minutes using the AWS console, Command Line Interface or SDK of your choice, and three simple commands.
SQS offers two types of message queues. Standard queues offer maximum throughput, best-effort ordering, and at least one delivery. SQS FIFO queues are designed to guarantee that messages are processed exactly once, in the exact order that they are sent.
Pricing
Benefits
Eliminate administrative overhead
AWS manages all ongoing operations and underlying infrastructure needed to provide a highly available and scalable message queuing service. With SQS, there is no upfront cost, no need to acquire, install, and configure messaging software, and no time-consuming build-out and maintenance of supporting infrastructure. SQS queues are dynamically created and scale automatically so you can build and grow applications quickly and efficiently.
Reliably deliver messages
Use Amazon SQS to transmit any volume of data, at any level of throughput, without losing messages or requiring other services to be available. SQS lets you decouple application components so that they run and fail independently, increasing the overall fault tolerance of the system. Multiple copies of every message are stored redundantly across multiple availability zones so that they are available whenever needed.
Keep sensitive data secure
You can use Amazon SQS to exchange sensitive data between applications using server-side encryption (SSE) to encrypt each message body. Amazon SQS SSE integration with AWS Key Management Service (KMS) allows you to centrally manage the keys that protect SQS messages along with keys that protect your other AWS resources. AWS KMS logs every use of your encryption keys to AWS CloudTrail to help meet your regulatory and compliance needs.
Scale elastically and cost-effectively
Amazon SQS leverages the AWS cloud to dynamically scale based on demand. SQS scales elastically with your application so you don’t have to worry about capacity planning and pre-provisioning. There is no limit to the number of messages per queue, and standard queues provide nearly unlimited throughput. Costs are based on usage which provides significant cost saving versus the “always-on” model of self-managed messaging middleware.
Amazon SNS
Amazon Simple Notification Service (Amazon SNS) is a fully managed messaging service for both application-to-application (A2A) and application-to-person (A2P) communication.
The A2A pub/sub functionality provides topics for high-throughput, push-based, many-to-many messaging between distributed systems, microservices, and event-driven serverless applications. Using Amazon SNS topics, your publisher systems can fan-out messages to a large number of subscriber systems including Amazon SQS queues, AWS Lambda functions, and HTTPS endpoints, for parallel processing, and Amazon Kinesis Data Firehose. The A2P functionality enables you to send messages to users at scale via SMS, mobile push, and email.
Benefits
Modernize and decouple your applications
Amazon SNS enables you to modernize your applications and decouple them into smaller, independent components that are easier to develop, deploy and maintain. Leveraging a pub/sub-event-driven architecture for your application improves performance, reliability, and allows each component to scale independently.
Send messages directly to millions of users
Amazon SNS enables you to send messages or notifications directly to users with SMS text messages to over 200 countries, mobile push on Apple, Android, and other platforms or email (SMTP). Amazon SNS provides redundancy across multiple SMS providers and allows you to push mobile notifications using a single endpoint for all platforms.
Reliably deliver messages
Amazon SNS uses a number of strategies that work together to provide message durability. To start, published messages are stored across multiple, geographically separated servers and data centers. If a subscribed endpoint isn’t available, Amazon SNS executes a message delivery retry policy. To preserve any messages that aren’t delivered before the delivery retry policy ends, you can create a dead-letter queue. You can also subscribe to Amazon Kinesis Data Firehose delivery streams to SNS topics, which allows messages to be sent to durable endpoints such as Amazon S3 buckets or Amazon Redshift tables.
Automatically scale your workload
Amazon SNS leverages the proven AWS cloud to dynamically scale with your application. Amazon SNS is a fully managed service, taking care of the heavy lifting related to capacity planning, provisioning, monitoring, and patching. The service is designed to handle high-throughput, bursty traffic patterns and enables you to send millions of messages per second.
Ensure accuracy with message ordering and deduplication
Amazon SNS FIFO topics work with Amazon SQS FIFO queues to ensure messages are delivered in a strictly ordered manner and are only processed once (deduplicated). This enables you to maintain consistency when processing transactions across a single or multiple independent services where it’s critical that messages are in the correct order. It also allows you to offload the effort of writing custom code for ordering and message deduplication.
Simplify your architecture with Message Filtering
Amazon SNS helps you simplify your pub/sub messaging architecture by offloading the message filtering logic from your subscriber systems, and message routing logic from your publisher systems. With Amazon SNS message filtering, subscribing endpoints receive only the messages of interest, instead of all messages published to the topic. Amazon CloudWatch gives visibility into your filtering activity, and AWS CloudFormation allows you to deploy subscription filter policies in an automated and secure manner.
Amazon Pinpoint
Amazon Pinpoint is a flexible and scalable outbound and inbound marketing communications service. You can connect with customers over channels like email, SMS, push, or voice. Amazon Pinpoint is easy to set up, easy to use and is flexible for all marketing communication scenarios. Segment your campaign audience for the right customer and personalize your messages with the right content. Delivery and campaign metrics in Amazon Pinpoint measure the success of your communications. Amazon Pinpoint can grow with you and scales globally to billions of messages per day across channels.
Pricing
Benefits
Get started quickly
Whether you are a marketer or a developer, Amazon Pinpoint is flexible for marketing, bulk, or transactional communications use cases. Marketers can design, orchestrate, and run campaigns visually through the console. Developers can leverage the Amazon Pinpoint APIs for message sending, scheduling campaigns, or tracking web and mobile activities. Send across channels like email, SMS, or push notifications.
Segment and personalize for impact
Segment your audience for the right group of customers based on existing customer lists, attributes or use Amazon Pinpoint to create segments from mobile and web application data. Personalize the right message content to engage and delight your customers using both static and dynamic attributes. Marketers can also visually create a customer journey that automates multi-step campaigns.
Measure your efficiency
From message delivery results to campaign data like opens and clicks, use metrics to understand the success of your communications. Amazon Pinpoint updates your customer lists with results to reflect learnings for the next campaign. View the campaign metrics natively in the Amazon Pinpoint reports or stream data to nearly any destination.
Scale securely with the experts
Based on the scale and security of AWS, Amazon Pinpoint provides a reliable customer experience that can grow with you. Amazon has relationships with the top email providers, telecoms, and spam advisories to ensure the highest customer delivery rates.
Use-cases
Marketing messages
Promote your products and services with basic templates or highly personalized messages, including special offers, newsletters, and other engaging content. You can use Amazon Pinpoint to create targeted groups of customers, and then send them campaign-based messages. You can also design multi-step journeys for a complete customer experience with custom channels, email, SMS, or push notifications.
Transactional messages
Send immediate, trigger-based customer communications across channels directly from your application, such as purchase confirmations, one-time passwords, or shipping notifications. With SMS, you can receive messages back from your customers.
Bulk communications
Send messages to communities of millions, including notifications and announcements. After you send your messages, use the built-in analytics of Amazon Pinpoint to understand how your outreach impacted your business goals.
Amazon Kinesis Streams
Amazon Kinesis makes it easy to collect, process, and analyze real-time, streaming data so you can get timely insights and react quickly to new information. Amazon Kinesis offers key capabilities to cost-effectively process streaming data at any scale, along with the flexibility to choose the tools that best suit the requirements of your application. With Amazon Kinesis, you can ingest real-time data such as video, audio, application logs, website clickstreams, and IoT telemetry data for machine learning, analytics, and other applications. Amazon Kinesis enables you to process and analyze data as it arrives and respond instantly instead of having to wait until all your data is collected before the processing can begin.
Benefits
Real-time
Amazon Kinesis enables you to ingest, buffer, and process streaming data in real-time, so you can derive insights in seconds or minutes instead of hours or days.
Fully managed
Amazon Kinesis is fully managed and runs your streaming applications without requiring you to manage any infrastructure.
Scalable
Amazon Kinesis can handle any amount of streaming data and process data from hundreds of thousands of sources with very low latencies.
Amazon Kinesis capabilities
Amazon Kinesis Video Streams makes it easy to securely stream video from connected devices to AWS for analytics, machine learning (ML), and other processing.
Amazon Kinesis Data Streams is a scalable and durable real-time data streaming service that can continuously capture gigabytes of data per second from hundreds of thousands of sources.
Amazon Kinesis Data Firehose is the easiest way to capture, transform, and load data streams into AWS data stores for near real-time analytics with existing business intelligence tools.
Amazon Kinesis Data Analytics is the easiest way to process data streams in real-time with SQL or Apache Flink without having to learn new programming languages or processing frameworks.
AWS IoT Message Broker
AWS IoT Core supports devices and clients that use the MQTT and the MQTT over WebSocket Secure (WSS) protocols to publish and subscribe to messages and devices and clients that use the HTTPS protocol to publish messages. All protocols support IPv4 and IPv6. This section describes the different connection options for devices and clients.
By referring to all this stuff you can decide what service matches your purpose. Then you can integrate it into your app.
Reference: https://aws.amazon.com/messaging/
Thank you, everyone. Happy coding!