AWS SQS Case Study — Movinary

Gagan Kumar Mahto
4 min readSep 3, 2021

--

Located in Berlin, Germany, movinary offers a cloud-hosted, online platform that enables customers to create videos from their photos and embellish them with text. Using these videos, customers can tell unique, personal stories about special events like weddings, holidays, and birthdays. Each video can be downloaded immediately, so customers can place orders immediately after the video is created.

Founder and CEO Maximilian Modl says, “While classical video tools are very complex, movinary is based on state-of-the-art usability guidelines. The creation process is completely intuitive.”

AWS Services Used

  1. Amazon SQS service

2. Amazon ElastiCache

3. Amazon EC2

4. Amazon Machine Images

𝚠𝚑𝚊𝚝 𝚒𝚜 𝚝𝚑𝚎 𝙰𝚖𝚊𝚣𝚘𝚗 𝚂𝚀𝚂 𝚜𝚎𝚛𝚟𝚒𝚌𝚎?

Amazon Simple Queue Service is a distributed message queuing service introduced by Amazon.com in late 2004. It supports the programmatic sending of messages via web service applications as a way to communicate over the Internet.

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 is a queue from which your services pull data, and it only supports exactly-once delivery of messages. If no workers pull jobs from SQS, the messages stay in the queue. SNS is a publisher-subscriber system that pushes messages to subscribers. If there are no subscribers to an SNS topic, a given message is lost

Benefits of SQS Service

Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers. Amazon EC2 offers the broadest and deepest compute platform with choice of processor, storage, networking, operating system, and purchase model. We offer the fastest processors in the cloud and we are the only cloud with 400 Gbps ethernet networking. We have the most powerful GPU instances for machine learning training and graphics workloads, as well as the lowest cost-per-inference instances in the cloud

The Challenge

Initially, movinary faced business challenges similar to those of many online services. They wanted to set up a scalable business model with the potential to serve a worldwide audience. This model required easy server setup for their e-commerce site (a complex scaling Magento system) and high CPU power for the video rendering process. Before adopting AWS, the movinary team researched comparisons of on-premises options and cloud hosting. “We wanted to make our service as fast and efficient as possible to compete with similar services,” Modl says. “It was clear that we would need the cloud.” They also looked for a solution that would allow them to use the common web technologies (like JavaScript Ajax and Flash) that movinary is based on.

The Benefits

Using AWS enabled the movinary team to move into production quickly. “We started on local machines and were surprised by how effortlessly we could bring our service to the AWS Cloud technology,” Modl says. “In particular, the predefined Amazon Machine Images (AMIs) and the Elastic Load Balancer helped us to get from local to production within a month.”

The team also improved performance with Amazon EC2. “Our video personalization back end requires a lot of performance,” Modl says, “and we were pleased to find that the m1- medium instances perfectly matched our CPU performance and RAM needs. Being able to increase the amount of disk space for our instance with two clicks saves a lot of time.” Regarding Amazon RDS, Modl says, “AWS manages backups and updates. It also scales the infrastructure semi-automatically. Our system generates much more read requests than write requests, which is supported by the scaling offered by Amazon RDS.” Hosting their service on the cloud proved to be more cost-effective because it allowed movinary to dynamically change allocated instances. The structure enables a highly customizable solution on a scalable infrastructure.

The movinary team is currently evaluating Amazon RDS and Amazon ElastiCache, and may use Amazon Simple Queue Service (Amazon SQS) for handling their rendering queue. For other developers considering using AWS, movinary recommends starting with auto scaling based on CPU usage. “After collecting additional metrics, one can improve the scaling by selecting other measurement and scaling techniques,” says Modl. The team needed a little rework for setting up Amazon EC2 instances. There are many preconfigured images available. The team also discovered that, for setting up Amazon EC2 instances, there are many preconfigured images available, which, for them, only needed a little rework.

According to Modl, the decision to use AWS was right from the start. “There are no comparisons to what AWS is able to offer.”

--

--

Gagan Kumar Mahto