Google Cloud Platform Blog
Google Cloud Platform and Leanplum help app developers conduct on-the-fly A/B tests
Friday, March 21, 2014
Editor’s note:
Today’s guest blog comes from Andrew First, co-founder and CTO at Leanplum, a platform for optimizing the mission-critical metrics of mobile apps. Leanplum processes billions of events per day to provide a faster and more effective way for developers to optimize mobile applications.
Leanplum
makes it easy for product managers and marketers to create personalized customer experiences, conduct on-the-fly A/B tests and see immediate results with powerful analytics. We offer an intuitive dashboard, so anyone, not just engineers, can use A/B testing to make informed decisions.
We hit the ground running in 2012 thanks to
Google Cloud Platform
. As a startup, we deal with a lot of uncertainty on a day-to-day basis. You need to be prepared for unexpected spikes or dips in traffic, without affecting performance; you can’t spend too much money upfront in case you need it for a rainy day; and you can’t rely on developers to spend time configuring servers. Cloud Platform has allowed us to implement and scale seamlessly, and to save money with its pay-as-you-go pricing model.
We started by building our infrastructure on top of
Google App Engine
, and more recently added
Google BigQuery
,
Google Cloud Datastore
,
Google Cloud Storage
and
Google Compute Engine
.
BigQuery lets us run arbitrary queries on arbitrary data sets, and like App Engine, autoscales as needed. It has improved our customer response time by allowing us to query over our logs in seconds whenever we receive a support call. Meanwhile, Cloud Datastore lets us store vast amounts of structured data, and Cloud Storage provides secure, scalable storage. We use Compute Engine to take advantage of more powerful cores for processing large amounts of data when generating reports. The pricing model works well for us, as we’re only charged by the minute after the first 10.
From our extensive use of Cloud Platform, we’ve discovered a number of tricks to make it easier to develop on the Cloud Platform:
By default, App Engine indexes every field in your datastore entities. By indexing only the fields that you need, you can reduce datastore costs by an order of magnitude.
Run a separate version of your application as a staging instance, so you can test out new features. You can run multiple versions of your app simultaneously, so that every engineer has their own application running at the same time to test new features or to show demos.
Use AppStats to find bottlenecks in your application. Using AppStats, we were able to reduce the latency of our API by an order of magnitude.
Use Traffic Splitting to roll out risky changes. Fittingly, we are an A/B testing company that uses A/B testing on our own backend. When we roll out substantial backend changes, we can test them out on a small percentage of traffic to make sure it works well, and to measure the impact on latency and number of instances used.
Use BigQuery to analyze your logs. We wrote a custom mapreduce to collect our logs and dump them into BigQuery. This gives us the ability to gather statistics on latencies for different RPC calls, frequencies and types of errors, and to resolve customer issues by being able to query over our logs in seconds.
By giving us the tools to develop, iterate and scale quickly, Cloud Platform provided us more time to focus on the product, which is priceless for any startup.
-Contributed by Andrew First, co-founder and CTO, Leanplum
No comments :
Post a Comment
Don't Miss Next '17
Use promo code NEXT1720 to save $300 off general admission
REGISTER NOW
Free Trial
GCP Blogs
Big Data & Machine Learning
Kubernetes
GCP Japan Blog
Labels
Announcements
56
Big Data & Machine Learning
91
Compute
156
Containers & Kubernetes
36
CRE
7
Customers
90
Developer Tools & Insights
80
Events
34
Infrastructure
24
Management Tools
39
Networking
18
Open Source
105
Partners
63
Pricing
24
Security & Identity
23
Solutions
16
Stackdriver
19
Storage & Databases
111
Weekly Roundups
16
Archive
2017
Feb
Jan
2016
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2015
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2014
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2013
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2012
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2011
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2010
Dec
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2009
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2008
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Feed
Subscribe by email
Technical questions? Check us out on
Stack Overflow
.
Subscribe to
our monthly newsletter
.
Google
on
Follow @googlecloud
Follow
Follow
No comments :
Post a Comment