Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Growing from 0 to 100 million users

0 views

Published on

This slide deck by Andres Silva, Mobile Developerat Koombea, was presented as part of Koombea Conf 2016.

Published in: Technology
  • Be the first to comment

Growing from 0 to 100 million users

  1. 1. Growing from 0 to 100 million users Andres Silva
  2. 2. Monolithic architecture
  3. 3. 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
  4. 4. Our first million users
  5. 5. Bottleneck
  6. 6. Microservices
  7. 7. 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.”
  8. 8. Postgres
  9. 9. MySQL
  10. 10. Databases
  11. 11. Our case 36,000 Transactions per minute 52,000,000 Transactions per day Microservice in Node js, with MYSQL
  12. 12. Our solution Auto Scaling Microservices RDS Http to Web Sockets
  13. 13. 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.”
  14. 14. RDS
  15. 15. Protocols
  16. 16. 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. ”
  17. 17. Auto Scaling
  18. 18. Our 10 million users
  19. 19. Costs
  20. 20. 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.
  21. 21. Major Prosecutions
  22. 22. Major Prosecutions
  23. 23. Micro Deploy
  24. 24. 50 million users and we continue to grow.
  25. 25. 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.
  26. 26. Application Load Balancer
  27. 27. Differences with elastic load balancer
  28. 28. Maintaining Quality at Scale
  29. 29. Maintaining Quality at Scale
  30. 30. Micro Deploy
  31. 31. Real Cases
  32. 32. Netflix bandwidth usage climbs to nearly 37% of internet traffic at peak hours.
  33. 33. Questions?

×