hello everyone I hope you're having a
great summit so far my name is Karen Sai
and I'm a senior software engineer at
duolingo we're a language learning
startup located nearby in Pittsburgh
Pennsylvania Dolan has started as a
project out of Carnegie Mellon
University in 2012 don't get started as
a language learning startup that wanted
to enable people around the world to
learn a language for free we want to
provide a quality language education for
free forever to anyone who wants to
learn a language this mission is
especially important to us because we
believe that language education is
especially important in countries we're
learning English may be a stepping stone
to better job and educational
opportunities so far we've been
incredibly fortunate as a startup we've
been named Apple's iPhone app of the
Year Google's best of the best for two
years and TechCrunch is best educational
startup in 2014 the journey has been
incredible and today I'd like to take a
few minutes to talk about how AWS has
helped us get to where we are today
back when I joined to lingo about three
and a half years ago there were about 15
people two dogs and not a lot of
experience scaling a product from
scratch we were a team that was
passionate about making an impact in
about coding but had very little
knowledge about DevOps or what a
production level infrastructure really
looked like what we did know is that we
would need to store and retrieve a lot
of data this is because at duolingo we
believe in a scientific data-driven
approach to education it's not enough
for a app to be free it also needs to be
effective we want to personalize
education gearing our teaching method to
each individual user of our application
let me explain a little bit how we want
to do this on duolingo we teach you a
language by giving
you language exercises to complete this
could be translating a sentence into a
language you're learning or being asked
to recall vocabulary every time a user
interacts with our application we store
information about that user and how they
answered that question so that we can
detect when a user may be struggling
with remembering grammatical concept or
recalling vocabulary we then use this in
order to provide a personalized
experience for the user how much data is
this well we need to store this
information for every single exercise
done on this application and to get an
idea of the scale of this data here's a
fun fact more people are learning a
language on duolingo than the entire US
school system to get an idea of just how
these numbers are broken down we have
about 80 different language courses
across an international audience there
are 18 million monthly active users
doing six billion exercises per month
and perhaps most remarkably with a team
of less than 70 people reaching over a
hundred and twenty million users
duolingo only needs to dig a hit
dedicate two of its staff to DevOps
thanks to AWS so here is how AWS has
helped us scale we use a lot of AWS web
services we use cloud watch for
monitoring and alarms to make sure that
our app is always up and running and
that we can address problems quickly we
use elastic cache to reduce latency and
we use it as a cache layer on top of our
more permanent data stores these ec2 to
host all of our web servers s3 for
hosting larger pieces of information
such as images amis cog front as a CDN
on top of that we use RDS with my sequel
and SQS as communication between
microservices and finally our superstar
service has been dynamodb
matt mentioned that dynamo is a wonder
of the world and we agree
DynamoDB is the only service that has
kept up with our demands as I mentioned
earlier we want to personalize language
education and that means storing a lot
of data about each of our users dynamodb
is the service we use to store
information about a user's vocabulary
knowledge we have over 30 1 billion
items in our largest DynamoDB table and
that table executes sit for 24,000 read
units per second and over 3,000 write
units per second without breaking a
sweat
as a bonus DynamoDB also scales up when
we have traffic Peaks and also scales
down off-peak to save us a bit of money
we're incredibly happy with so far with
how AWS has saved us so much time in all
of our needs we look forward to
continuing using future AWS services we
want to move more data to DynamoDB to
reduce latency we also want to leverage
elastic Beanstalk for deploying micro
services and move over to redshift for
data analytics and finally we're looking
into using lambda for some of our
computing needs as a small company with
big goals we're incredibly grateful for
all of the work that AWS has saved us
AWS has enabled us to focus on our
mission which is free language education
for the world thank you