New York and Tel Aviv-based Apester helps publishers, advertisers, and businesses tell highly engaging online stories that are mobile friendly, seamlessly integrated with their sites, and can be distributed at scale. From quizzes and polls to innovative, visual stories popularized on social media, Apester helps its customers to get their message across effectively.
“We cater to storytellers of all kinds, from big brands like Meredith, BBC Worldwide, or Virgin to individual bloggers,” says Moshe Peretz, VP of Research and Development at Apester. “We give them the tools to engage with their audience with products like Apester Story or Apester Quiz.”
Since its launch in 2014, Apester’s comprehensive, easy-to-use creation tools have caused its popularity to explode, attracting approximately 100 million unique users per month. In 2016, as the company was adjusting to rapid growth, Apester took a long, hard look at its business intelligence (BI) and data warehousing systems. Its existing solution, while adequate for small amounts of data, was beginning to show signs of strain. Furthermore, it placed limitations on the kind of analytics Apester could run. The company wanted to capitalize on its growing customer base and gain as much insight as possible, without worrying about scale or cumbersome licensing fees. To do that, it turned to Google Cloud Platform (GCP).
“We had a very closed system for handling data, which was starting to become very expensive,” says Moshe. “We wanted to own the data, to be able to use it for more advanced analytics in our own way. Google gave us the tools to do that.”
Apester had a very good idea of what it wanted for its new BI and data warehousing solution. With user numbers growing with no sign of stopping any time soon and only a limited number of developers, the company needed an easily scalable system. Additionally, Apester’s developers and data scientists prided themselves on using open source technology as much as possible to avoid over-reliance on any one vendor. While there were several products available to Apester, only GCP provided the right combination of open source compatibility and robust, easy-to-use scalability.
The company began building its data solution around Cloud Dataflow, Cloud Dataproc, and Cloud Bigtable along with open source Apache Beam for its data processing and analytics needs. Over time, Apester explored Google’s options further and eventually settled on BigQuery as its main analytics solution.
“With BigQuery, we stopped worrying about servers and scalability,” says Or Elimelech, Site Reliability Engineer at Apester. “It’s a serverless solution. We just have to ingest the data, store it, and then we analyze it. It’s simple.”
Following the initial migration, Apester successfully maintained a hybrid infrastructure with its data components on GCP and the rest of its stack hosted on another leading cloud provider. Over time, however, Apester saw the benefits of bringing everything to a single managed platform and it began to look at ways of migrating fully over to GCP. “I didn’t like the scattered infrastructure. I didn’t like that our services were sitting on one provider and our data pipeline on another,” says Or.
The migration also provided the opportunity to move from a virtual machine-based architecture to one based on Kubernetes. Moving to a containerized solution would help improve the speed of Apester’s autoscaling without troubling the developers with server setup and maintenance demands.
Kubernetes Engine was the backbone of the new infrastructure, while Cloud Pub/Sub became the message bus and Stackdriver helped take care of its logging and monitoring needs. Cloud Identity Access and Management (IAM) enabled Apester to give out permissions quickly and easily without compromising on security.
“We wanted to remove silos between teams as much as possible,” says Or. “Now they all use Kubernetes and we can move people through departments and they’re not overwhelmed by new languages or workflows. It unified our infrastructure.”
Since beginning its migration to GCP, Apester has seen its customer base triple in size. In 2017, the company delivered over 3.5 billion story experiences. At the same time, it has halved its infrastructure costs with the move to Kubernetes. Without virtual machines to maintain, Apester no longer has to provision idle servers that run up costs, just in case of heavy traffic. With Kubernetes Engine, autoscaling is made simple, replicable, and reliable. The time for deployment has been reduced from around four hours to just under a minute. Using the premium tier of the Google Cloud Network, Apester also managed to reduce its latency by half, thanks to its high performance and global load balancing.
Meanwhile, Apester’s data infrastructure, built around BigQuery, has been more than up to the task, handling millions of events per hour with ease. With its new solution, Apester now has a BI platform that delivers bespoke, powerful insight at scale and on the company’s own terms.
In addition to saving time and money, the shift to GCP has also changed the way Apester thinks about its processes. According to Or, the IT team has developed a service-based mindset that focuses on results and improving the overall Apester product line, rather than fussing over the minutiae of DevOps.
“Infrastructure is not our core business,” he says. “We want to focus on Apester’s needs and improving our application. When the deployment time gets cut from hours to seconds, it means we can focus on our own success.”
With the migration done, Apester continues to look for new ways to improve and evolve its products. The company is using Cloud Natural Language APIs to enhance the personalization of its service. Along with the data held in BigQuery, Apester’s work with the Cloud Natural Language modules provides the basis for an exploration into machine learning (ML). The company is heavily investing in its ML capabilities, and started using Tensorflow for its pipeline, enabling Apester to become even more responsive to its customers’ needs even as its audience expands.
“We are a fast growing company, with many challenges to focus on, with availability, scalability, and development efficiency among them,” says Moshe. “Moving to GCP solved those problems for us and helped keep us ahead of the competition.”