Growing from 0
to 100 million
users
Andres Silva
Monolithic architecture
Decide which language is best for you!
Not all languages work the same way, and perhaps each approach specializes in certain
aspects.
Prototype.
Speed.
Mathematical Processes.
Access to database.
Processing of queues.
Synchronous.
Asynchronous.
RAM or CPU
Our first
million users
Bottleneck
Microservices
Uber
“Postgres worked well for us at the beginning, but we ran into
significant trouble scaling Postgres with our growth. Nowadays, we still
keep Postgres at some instances, but the chunk of our databases are
built on MySQL (typically using our Schemaless layer) or, in some
specific cases, NoSQL databases like Cassandra. Overall, we are
pretty happy with MySQL.”
Postgres
MySQL
Databases
Our case
36,000 Transactions per minute
52,000,000 Transactions per day
Microservice in Node js, with MYSQL
Our solution
Auto Scaling
Microservices
RDS
Http to Web Sockets
RDS
“ With Amazon Relational Database Service (Amazon RDS), it’s simple to configure, use
and scale a relational database in the cloud. It provides profitable capabilities of
customizable sizes and, at the same time, it manages the database’s tedious
administrative tasks, which allows for the focus to be placed on the app and the business.”
RDS
Protocols
Auto Scaling
“ Auto Scaling allows you to keep your app’s availability and automatically
increase or reduce Amazon’s EC2 capacity, based on the defined
conditions. You can use Auto Scaling to make sure that you are executing
the desired amount of Amazon EC2 instances. Auto Scaling can also
automatically increase the number of Amazon EC2 instances during
demand peaks, in order to maintain the performance and reduce capacity
during slower periods to minimize costs. ”
Auto Scaling
Our 10 million
users
Costs
Lambda
AWS Lambda allows you to run code without supplying or managing servers. You will
only pay for the computing time you use- there is no charge when the code is not running.
With Lambda, you can run code for almost any type of application or back-end service,
without having to manage a single thing. You only have to load the code. Lambda will
take care of everything you need to run and scale the code with high availability. You can
configure the code to activate automatically from other AWS services or do it directly from
any web or mobile application.
Major Prosecutions
Major Prosecutions
Micro Deploy
50 million users and
we continue to
grow.
Infrastructure as Code
Define infrastructure as code to increase operator productivity and transparency.
COLLABORATE & SHARE
Terraform configuration can be stored in version control, shared, and
collaborated on by teams of operators.
EVOLVE YOUR INFRASTRUCTURE
Track the complete history of infrastructure versions.
AUTOMATION FRIENDLY
If it can be codified, it can be automated.
Application Load Balancer
Differences with elastic load balancer
Maintaining Quality at
Scale
Maintaining Quality at Scale
Micro Deploy
Real Cases
Netflix bandwidth usage
climbs to nearly 37% of
internet traffic at peak
hours.
Questions?

Growing from 0 to 100 million users

  • 1.
    Growing from 0 to100 million users Andres Silva
  • 2.
  • 3.
    Decide which languageis best for you! Not all languages work the same way, and perhaps each approach specializes in certain aspects. Prototype. Speed. Mathematical Processes. Access to database. Processing of queues. Synchronous. Asynchronous. RAM or CPU
  • 6.
  • 7.
  • 8.
  • 9.
    Uber “Postgres worked wellfor us at the beginning, but we ran into significant trouble scaling Postgres with our growth. Nowadays, we still keep Postgres at some instances, but the chunk of our databases are built on MySQL (typically using our Schemaless layer) or, in some specific cases, NoSQL databases like Cassandra. Overall, we are pretty happy with MySQL.”
  • 10.
  • 11.
  • 12.
  • 13.
    Our case 36,000 Transactionsper minute 52,000,000 Transactions per day Microservice in Node js, with MYSQL
  • 14.
  • 15.
    RDS “ With AmazonRelational Database Service (Amazon RDS), it’s simple to configure, use and scale a relational database in the cloud. It provides profitable capabilities of customizable sizes and, at the same time, it manages the database’s tedious administrative tasks, which allows for the focus to be placed on the app and the business.”
  • 16.
  • 17.
  • 18.
    Auto Scaling “ AutoScaling allows you to keep your app’s availability and automatically increase or reduce Amazon’s EC2 capacity, based on the defined conditions. You can use Auto Scaling to make sure that you are executing the desired amount of Amazon EC2 instances. Auto Scaling can also automatically increase the number of Amazon EC2 instances during demand peaks, in order to maintain the performance and reduce capacity during slower periods to minimize costs. ”
  • 19.
  • 20.
  • 21.
  • 22.
    Lambda AWS Lambda allowsyou to run code without supplying or managing servers. You will only pay for the computing time you use- there is no charge when the code is not running. With Lambda, you can run code for almost any type of application or back-end service, without having to manage a single thing. You only have to load the code. Lambda will take care of everything you need to run and scale the code with high availability. You can configure the code to activate automatically from other AWS services or do it directly from any web or mobile application.
  • 23.
  • 24.
  • 25.
  • 26.
    50 million usersand we continue to grow.
  • 27.
    Infrastructure as Code Defineinfrastructure as code to increase operator productivity and transparency. COLLABORATE & SHARE Terraform configuration can be stored in version control, shared, and collaborated on by teams of operators. EVOLVE YOUR INFRASTRUCTURE Track the complete history of infrastructure versions. AUTOMATION FRIENDLY If it can be codified, it can be automated.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
    Netflix bandwidth usage climbsto nearly 37% of internet traffic at peak hours.
  • 36.