Amazon SQS : RedBus Case Study
Amazon Web Services
AWS (Amazon Web Services) is one of the leading cloud providers in the world, and anyone writing software is probably familiar with them. AWS offers a wide variety of “simple” services that traditionally had to be implemented in-house (eg, storage, database, computing, etc.
This blog is about one of AWS service called Amazon SQS and its use cases.
Amazon Simple Queue Service (SQS) is a fully managed message queuing service in AWS cloud that enables software appplications to implement queing services in microservices, distributed systems, and serverless applications. Using SQS, you can send, store, and receive messages at any volume, without losing messages or requiring other services to be available.
Amazon SQS is :
- fully managed and requires no administrative overhead and little configuration
- offers a reliable, highly-scalable, hosted queue for storing messages in transit between applications
- provides fault tolerant, loosely coupled, flexibility of distributed components of applications to send & receive without requiring each component to be concurrently available
- helps build distributed application with decoupled components
- supports the HTTP over SSL (HTTPS) and Transport Layer Security (TLS) protocols for security
- SQS provides two types of Queues — Standard & FIFO
How SQS Queues Works
- SQS allows queues to be created, deleted and messages can be sent and received from it
- SQS queue retains messages for four days, by default.
- Queues can be configured to retain messages for 1 minute to 14 days after the message has been sent.
- SQS can delete a queue without notification if any action hasn’t been performed on it for 30 consecutive days.
- SQS allows the deletion of the queue with messages in it.
A simple structure showing use of SQS,
It sells all the cloud benefits mentioned before, and also features:
- Automatic scaling — if your volume grows you never have to give a thought to your queuing architecture. AWS takes care of it under the covers.
- Infinite scaling — while there probably is some sort of theoretical limit here (how many atoms are in the universe?), AWS claims to support any level of traffic.
- Server side encryption — using AWS SSE (Server Side Encryption), messages can remain secure throughout their lifetime on the queues.
How is Redbus.in using SQS :
redBus is an Indian travel agency that specializes in bus travel throughout India by selling bus tickets throughout the country. Tickets are purchased through the company’s Website or through the Web services of its agents and partners. The company also offers software, on a Software as a Service (SaaS) basis, which gives bus operators the option of handling their own ticketing and managing their own inventories. To date, the company says they have sold over 30 million bus tickets and has more than 1750 bus operators using the software to manage their operations.
The company previously ran its operations from a traditional data center by purchasing and renting its systems and infrastructure. In addition to the expense, several logistical problems evolved from this arrangement. The biggest problem was that the infrastructure could not effectively handle processing fluctuations, which had a negative impact on productivity. Additionally, the procurement of servers or upgrading the server configuration was an extremely time-consuming endeavor. Over time, redBus realized that a better solution was imperative — a solution that offered scalability to handle the company’s processing fluctuations. redBus looked to Amazon Web Services (AWS) for a solution.
The travel agency anticipates expanding the AWS solution to include Amazon Simple Notification Service (Amazon SNS) and Amazon Simple Queue Service (Amazon SQS) for monitoring, alerts, and intercommunication. “Amazon SQS is an especially good solution for enabling messaging between external applications and our applications,” says Padmaraju(CTO).
Since joining forces with AWS, redBus has gained the freedom to experiment on new solutions and applications at minimal cost, increased the efficiency of its operations, and improved its profitability.