Carousell runs online classifieds marketplace that supports millions of MAUs on GCP
Founded in 2012, Carousell is a mobile classifieds marketplace that enables users to list items and services in just 30 seconds. Users snap a photo and add a description to list, and start an in-app chat to buy from other users. The business of mobile classifieds was a natural next step for the classifieds model which began with printed advertisements and early online forums.
Carousell also endeavours to make selling and buying items simple and social. Chats can be started in-app where users can converse, discuss and negotiate. Carousell is now preparing for the next step in delivering next-generation services, leveraging machine learning and artificial intelligence to improve listings, payment and delivery processes. Its employees are also working on strategies and techniques to build and further engage its community of users.
“We’ve grown as a business from three founders who didn’t take any remuneration for 18 months to a workforce of 180 people,” says Jordan Dea-Mattson, Carousell’s Vice President of Engineering. “Our operations are distributed across Singapore, Malaysia, Hong Kong, Taiwan, the Philippines, Indonesia, Australia and New Zealand.” Carousell attracts millions of users per month and half of Singapore’s population are regular users of the service. A quarter of the Singapore user base visits Carousell in any given month.
Carousell used to run its mobile online marketplace on a range of hosted services. However, by mid-2016, the company realised it needed to improve stability and availability to fulfil customer expectations and meet the requirements of its internal teams. Uptime from its existing infrastructure was unable to keep up with the speed of growth of the company.
“We recruited some talented people into our infrastructure team and they had a remit to improve the stability of our service,” says Dea-Mattson. The team undertook a ground-up evaluation of platforms, that accounted for input/output, compute, and pricing performance. Carousell eventually opted to switch to Google Cloud Platform (GCP), which provides a finer degree of control over instance configurations at an attractive price point. Furthermore, GCP did not lock the business into using the platform or any specific products.
Other benefits of using GCP included the ability to liaise directly with product managers and engineers about the online marketplace’s use cases. “Working with a platform that is designed and tuned to customers’ specific requirements is very important to us,” says Dea-Mattson. “Google has stepped back and said ‘this is a fantastic business, so let’s build products that meet our customers’ needs.” Carousell moved quickly to migrate its operations to GCP. The infrastructure team completed the initial migration in just two weeks before fine-tuning the architecture to optimise performance, reliability and cost-effectiveness to meet Carousell’s business needs.
Carousell also leverages a host of GCP features including Google Compute Engine to create and run virtual machine instances, Google Cloud Load Balancing to scale compute to meet demand and Google App Engine to abstract its infrastructure. Google Cloud Storage enables Carousell to store and retrieve data, while Google Google Persistent Diskprovides block storage for instances running in GCE. Google Cloud Dataflow provides data processing while Google Cloud Pub/Sub delivers enterprise messaging for communication between Carousell’s applications.
G Suite’s collaboration tools complement Carousell’s use of GCP technologies and ensure prompt, reliable communication within the company, with customers and with stakeholders. “The nice thing about G Suite is that it’s an inexpensive set of tools that lets you scale email and apps in a much more cost-effective way,” says Dea-Mattson. “In addition, I see much more collaboration than I do with other productivity suites.”
Based on its experience working with Google technologies to date, Carousell is also migrating to the Google Go open source programming language and Go-based microservices. “Go fixed so many endemic problems in the C programming language and delivers enormous developer productivity,” says Dea-Mattson. “We are also keen to utilise its high performance capabilities to deliver very powerful binaries to help our development processes.”
GCP has performed a key role in enabling Carousell to deliver a powerful service to millions of people in Southeast Asia, Oceania and worldwide. “If we had to build our own data centers, I would need an infrastructure operations team as large as my current team that covers all our engineering requirements,” says Dea-Mattson. “The number of people working on system reliability would climb from 5 to 30.” Furthermore, the capital expenditure to maintain the servers would have come at a higher cost compared to working with a cloud provider, such as Google.
More than 80 million listings and 500 million images
“GCP is enabling us to meet the requirements of millions of monthly average users who have posted more than 80 million listings since we were established,” Dea-Mattson adds. “These listings include about 500 million images, while we have supported more than 1 billion chats and 20 billion-plus individual chat messages.
“That is the scale we are at and the experience we are trying to deliver to customers in a variety of environments. For example, we are providing the same experience to a customer in Jakarta as we are to a customer in Singapore, despite the differences in network latency and bandwidth between the two locations.”
Steep increase in availability
Carousell has been able to improve availability from less than 90 percent to 99.9 percent and in April this increased to about 99.99 percent. The business has also used the pricing flexibility delivered by GCP to pay only for the resources used; for example, if the business wants to spin up a virtual machine instance on GCP for two minutes, it only pays for those two minutes.
“I believe if we were looking to hit these same availability numbers on another cloud service, we would be looking at a 50 percent greater cost,” says Dea-Mattson. “We continually review our GCP architecture to help reduce our costs from about 4 or 5 cents per monthly active user to about 3 cents per monthly active user. The flexibility and performance of GCP makes this goal more than achievable.”