Moovit, headquartered in Israel, is redefining the transit experience by giving people the real-time information they need to get places on time. With schedules, trip planning, navigation and crowdsourced reports, Moovit guides transit riders to the best, most efficient routes, and makes it easy for locals and visitors alike to navigate the world's cities. Since launching in 2012, Moovit's free award-winning app for iPhone, Android, and Windows Phone serves nearly 10 million users, and is adding more than a million new users every month. The app is available across 400 cities in 35 countries, including the U.S., Canada, France, Spain, Italy, Brazil, and the U.K.
The Moovit app initially launched on a single server, but after reaching 100,000 users within four months, the company knew it would need a cloud solution to continue to grow. “From the beginning, our vision was big, and we had to plan accordingly,” says Moovit’s vice president (VP) of Product, Jay Meydad.
Moovit’s goal was to continue to add metros quickly, and it needed a solution that would scale just as fast. Meydad says, “We didn’t want to bother adding servers and worry about them being down. We needed to focus on our product, rather than on configuring hardware and making sure machines were up and running.”
In addition to elasticity and availability, Moovit needed a solution that could handle a heavy load of information requests and several data formats, including text, images, and binary data, amounting to over five billion requests per month and 20 TB of static content. For example, when the Moovit app displays schedules, the data is mostly text, but it also uses map images. “We needed a solution that would deliver information to our users as quickly as possible,” Meydad says.
Moovit now uses Amazon Web Services (AWS) to host and deliver services for its public transportation trip-planning app — using Amazon CloudFront to rapidly deliver information to its users. The company made the decision to use AWS because it has servers that can handle the app’s heavy request volume and different types of information, and because it supports multiple databases, including SQL and NoSQL, and includes storage options. “AWS was the most secure, comprehensive, mature, and reliable solution we looked at — it had everything we needed,” Meydad says.
Moovit uses Amazon CloudFront to serve content that can be cached in different zones around the world and speed up delivery of assets, such as images or web pages. Moovit uses Amazon Elastic Compute Cloud (Amazon EC2) for its application servers. The company uses Amazon CloudWatch to monitor the state of servers and manage loads, Amazon Elastic Block Store (Amazon EBS) to store temporary processing files, and Elastic Load Balancing to route requests based on geography. Moovit uses Amazon Relational Database Service (Amazon RDS) and Amazon DynamoDB to store different data sets, such as schedules, user profiles, and geographic information. Moovit uses Amazon Simple Storage Service (Amazon S3) to store tiles and reporting logs.
The company’s developers created most of the code on the server in Java, JavaScript, HTML, Python, and Oracle’s web framework.
By using AWS, Moovit can now process 85 million requests each day. Requests include users checking real-time arrivals of buses or trains, planning trips, and looking up public transportation schedules. Moovit can also now provide users with a highly available service and real-time information to keep them moving. “To function with the greatest efficiency, our service must be up and running 24/7, 365 days a year,” Meydad says. “Using AWS enables us to do that.”
A traditional physical hosting solution would have involved far greater costs in both equipment and staff. Using AWS gave the Moovit team the flexibility to expand worldwide without having to hire an ops team. “We didn’t need to hire three or four people to be successful,” Meydad says. “We have just one person who manages all of our AWS hosting services.”
By switching to AWS, Moovit was able to grow fast enough to meet its goals. “By using AWS, we can launch a new city every other day. That’s been critical to our growth,” Meydad says. If the company had used traditional infrastructure, it would have had to rent servers in the geographic areas it serves, increasing costs and overhead and inhibiting growth. By using AWS, Moovit was able to avoid that. “We now have over eight million users, and we know AWS will handle our growth as effectively when we have 10 times that number as it did when we had our first million.”
To learn more about how AWS can help you deliver your content, visit our Web & Mobile Apps page at http://thinkwithwp.com/web-mobile-social.