Foursquare is a technology company that informs business decisions through a deep understanding of location intelligence. The company’s mobile apps, Foursquare and Swarm, are used monthly by more than 50 million people who have left more than 87 million tips and checked in more than 10 billion times. Foursquare's business solutions include targeted advertising (Pinpoint), media measurement (Attribution), data analytics (Place Insights), and developer tools including the Places database used by 100,000 companies and apps. Foursquare has 200 employees in headquarters in New York and offices in San Francisco, Chicago, Atlanta, Los Angeles, Detroit, London, and Shanghai.
Foursquare streams hundreds of millions of application logs each day. The company relies on analytics to report on its daily usage, evaluate new offerings, and perform long-term trend analysis—and with millions of new check-ins each day, the workload is only growing. But the database system Foursquare used for analytics comes with high annual licensing costs, and required the company to spend staff time keeping the system running. “We needed a solution that freed us from licensing fees and let us use our staff time more strategically,” says Jon Hoffman, Software Engineer.
Foursquare was already using Amazon Web Services (AWS) for storage and testing, so the company knew the AWS Cloud could help them cut costs. “We found that Amazon Redshift offers the performance we needed while freeing us from the licensing costs of our previous solution,” Hoffman says.
For its analytics, Foursquare is now using Amazon Redshift and a tool called Tableau, which facilitates running queries on its database. “With Amazon Redshift and Tableau, anyone in the company can set up any queries they like—from how users are reacting to a feature, to growth by demographic or geography, to the impact sales efforts have had in different areas. It’s very flexible,” Hoffman says.
The company uses Amazon Simple Storage Service (Amazon S3) to store images and other data. “We are also using AWS Direct Connect, which has allowed us to keep some pieces of our legacy infrastructure that run best on Amazon Elastic Compute Cloud (Amazon EC2) but still have very low latency running on our own data center,” Hoffman says.
The company also runs test clusters using Amazon EC2. Foursquare can match the size and hardware used for their analytics clusters to their changing requirements. Data scientists can spin up ad hoc clusters for urgent analysis, and engineers can run their own dedicated clusters to test new applications. Amazon EC2 instances run CentOS Linux and use NGINX to route requests to internal services. HAProxy is also used to load-balance.
Hoffman estimates that Foursquare is saving tens of thousands of dollars each year in licensing costs alone. The company is also able to deploy its engineering and IT staff on more strategic, revenue-producing projects, instead of configuring servers and running backup and maintenance.
AWS is flexible enough to enable the company to increase the size of the cluster as necessary. “We can add capacity with a few clicks of a button,” Hoffman says. “Using AWS helps us scale up as our data grows, and as the complexity of our queries increases. And we can spin up nodes dynamically whenever we need them, whether we’re launching a new feature or increasing capacity.”
Using Amazon Redshift has enabled the company to perform more agile analytics while saving costs, Hoffman concludes. “Redshift gives us just want we need.”
To learn more about how AWS can help you launch a mobile application, visit our Mobile Apps details page: http://aws.amazon.com/mobile-apps/.