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.

A Year of Droplr Cloud Architecture Evolution with AWS and Serverless

810 views

Published on

How our Cloud Architecture evolved in a last year.

Published in: Engineering
  • Login to see the comments

A Year of Droplr Cloud Architecture Evolution with AWS and Serverless

  1. 1. A year of Droplr Cloud architecture evolution with AWS and Serverless Antoni Orfin <antoni@droplr.com> Solutions Architect @ Droplr
  2. 2. What is Droplr? Screen Capture, File Sharing, Team Collaboration Used by... Droplr in numbers: + 500k users + 50M files (70 TB) in AWS S3
  3. 3. Droplr in Poland Photos by instagram.com/mariuszgil In 2017, Droplr opened office in Wrocław, Poland
  4. 4. Technologies overview
  5. 5. Optimising Monitoring Serverless Revolution
  6. 6. Optimising Reduction of... 1. ...programming languages → Node.JS 2. ...microservices → monolith ;-) 3. ...AWS infrastructure → EC2, ELB, ECS (Docker!), Serverless
  7. 7. Monitoring 1. SLA/Uptime monitoring → Pingdom 2. Infrastructure Metrics → DataDog 3. Log Analysis → Logz.io (ELK) 4. Error tracking → Sentry
  8. 8. Do we need servers?
  9. 9. No.
  10. 10. Serverless Revolution Bare metal IaaS PaaS Serverless FaaS
  11. 11. Serverless Revolution AWS Lambda - run code without thinking about underlying infrastructure 1. Crazy cheap 2. Multiple programming languages support 3. Highly-Scalable 4. Reliable 5. Fast
  12. 12. Serverless Revolution AWS Lambda - run code without thinking about underlying infrastructure 1. Crazy cheap Free Tier: 1M requests per month & 400,000/GB-sec Above: $0.0000002/request + $0.00001667/GB-sec
  13. 13. Serverless Revolution AWS Lambda - run code without thinking about underlying infrastructure 2. Multiple programming languages support: Node.js (JavaScript), Python, Java (Java 8), C# (.NET Core), Go (from 15.01.2018) $ npm install serverless -g $ serverless create --template hello-world $ serverless deploy
  14. 14. Serverless Revolution AWS Lambda - run code without thinking about underlying infrastructure 3. Highly-Scalable out of the box Default limit: 1,000 concurrent executions Our Benchmark: 800 req/s per Node.js function
  15. 15. Serverless Revolution AWS Lambda - run code without thinking about underlying infrastructure 4. Reliable 100% uptime in our Pingdom from start (7 months)
  16. 16. Serverless Revolution AWS Lambda - run code without thinking about underlying infrastructure 5. Fast <1 ms for Node.js Express “Hello World”
  17. 17. AWS Lambda invocation SNS Time HTTP
  18. 18. Droplr Current Architecture Droplr Serverless Architecture 1. AWS Lambda in VPC 2. CloudFront in front of API Gateway 3. Web Application Firewall 4. SNS (~RabbitMQ?) 5. CloudWatch Events (~CRON?)
  19. 19. Serverless Performance 1. Throughput 2. Response Time CloudFront 118 ms 100.00% API Gateway 63 ms 53.39% Lambda 0.92 ms 0.78%
  20. 20. Result? 99.99% uptime 60% AWS cost reduction (10x for computing) 10x faster uploads 1 min production deployments
  21. 21. Do we need regions?
  22. 22. No.
  23. 23. Moving towards real Cloud 1. Cloud with single region? What about running application nearer your clients? Maybe in... Tok
  24. 24. 1. Cloud with single region? What about running application nearer your clients? Maybe in... Moving towards real Cloud Tok Paris
  25. 25. 1. Cloud with single region? What about running application nearer your clients? Maybe in... Moving towards real Cloud Tok Paris Sydney
  26. 26. Better Lambda@Edge
  27. 27. Result?
  28. 28. Thanks Time for discussion :-) - Serverless as a game-changer? - Your ideas of using Serverless? - Btw. Senior JavaScript/React Developer wanted! ;-) Ref.: https://serverless.com/blog/how-droplr-scales-to-millions-serverless-framework/

×