Amazon Simple Queue Service (SQS) is a fully-managed message queuing service for reliably communicating among distributed software components and microservices - at any scale. Building applications from individual components that each perform a discrete function improves scalability and reliability, and is best practice design for modern applications. SQS makes it simple and cost-effective to decouple and coordinate the components of a cloud application. Using SQS, you can send, store, and receive messages between software components at any volume, without losing messages or requiring other services to be always available. SQS standard queues offer maximum throughput, best-effort ordering, and at-least-once delivery. SQS FIFO queues are designed to guarantee that messages are processed exactly once, in the exact order that they are sent, with limited throughput. You can get started with SQS in a matter of minutes using the AWS console or SDK of your choice and just three simple commands. SQS lets you eliminate the complexity and overhead associated with managing and operating dedicated messaging software and infrastructure.
SQS delivers reliable and scalable message queues without the overhead of managing message-oriented middleware.
AWS manages the ongoing operations and underlying infrastructure needed to reliability run and scale your message queues. SQS lets you eliminate the complexity and administrative overhead associated with managing dedicated message-oriented middleware (MoM) and associated infrastructure. 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. With SQS, queues are dynamically created and scale automatically so you can build and grow applications quickly - and efficiently.
You can 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. Any component of a distributed application can store messages in an SQS queue. Multiple copies of every message is stored redundantly across multiple availability zones so that they are available whenever applications need them. Message delivery is at least once with standard queues, and exactly once with FIFO queues.
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. Authentication mechanisms also ensure that messages stored in Amazon SQS message queues are secured against unauthorized access.
Amazon SQS is deeply integrated with other AWS services to make easy to build more flexible and scalable applications. Integrations include compute services such as Amazon EC2, Amazon EC2 Container Service (Amazon ECS), and AWS Lambda, as well as with storage and database services such as Amazon Simple Storage Service (Amazon S3), Amazon RDS, and Amazon DynamoDB. Amazon SQS works with Amazon Simple Notification Service (SNS) to deliver a powerful messaging solution.
It's easy to get started with Amazon SQS using the simple console or SDK of your choice. You can quickly add SQS to your code using only four APIs: CreateQueue, SendMessage, ReceiveMessage, and DeleteMessage. The same API applies to both Standard Queues and FIFO Queues.
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 with self-managed messaging middleware.
The BMW Group is using AWS for its connected car application that collects sensor data from BMW 7 Series cars to give drivers dynamically updated map information. BMW built its new car-as-a-sensor (CARASSO) service in only six months leveraging Amazon SQS, Amazon S3, Amazon DynamoDB, Amazon RDS, and AWS Elastic Beanstalk.
Capital One is modernizing their retail message queuing by migrating from self-managed message-oriented middleware systems to Amazon SQS. Capital One is using SQS to migrate several core banking applications to the cloud to ensure high availability and cost efficiency while simplifying administrative complexity and overhead.
Change Healthcare uses AWS services like Amazon EC2, Amazon S3, Amazon SQS, and Amazon SNS to handle millions of confidential transactions daily from its clients while maintaining with full compliance with healthcare industry regulations, including HIPAA.
redBus is expanding their AWS solution to include Amazon SQS and SNS for monitoring, alerts, and intercommunication. “Amazon SQS is an especially good solution for enabling messaging between external applications and our applications.” - Charan Padmaraju, redBus CTO
Oyster.com uses Amazon Web Services to store and process images for their website. The team uses Amazon EC2 and Amazon SQS in an integrated workflow to generate the sizes they need for each photo. SQS communicates the photos that need to be processed and the status of the jobs.