Describe serverless architecture models from beginning to advanced.
In this slides, some of aws serverless services are used without operations, and accelerate the development when the service is growing up.
call girls in Vaishali (Ghaziabad) ๐ >เผ8448380779 ๐ genuine Escort Service ๐โ๏ธโ๏ธ
ย
Handle massive traffic with serverless
1. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Handle massive traffic
from the beginning
with Serverless
Danggeun Market Inc.
Byun Kyuhyun
2. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
BYUN Kyuhyun
Software Engineer at Dangguen Market. Inc
AWS Serverless Hero
AWSKRUG Organizer
CircleCI UG Organizer
3. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Letโs talk about startup
Ref. https://limwonki.com/771
4. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
We donโt have enough time,
and engineers.
5. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
However....
6. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Our startup wants to grow
faster than others.
Ref. https://www.edaily.co.kr/news/read?newsId=01308726622722456
7. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Let's take a look at
the practical architecture
for Serverless
to become a Unicorn.
8. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
First step
9. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Single web server
API Gateway - Lambda - DynamoDB or RDS
10. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Second step
11. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Scheduled jobs
for querying statistically or analysing.
CloudWatch Timebase Trigger with Lambda
12. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
This is a simple architecture.
There is no need to maintain infrastructure.
But it requires monitoring.
13. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Monitor serverless services
14. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Build GUI Dashboard on CloudWatch
Ref. https://sinovi.uk/articles/web-application-dashboards-in-aws-cloudwatch
15. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Grafana with cloudwatch logs
Ref. https://jamesthom.as/2018/01/visualising-serverless-metrics-with-grafana-dashboards/
16. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Datadog with cloudwatch logs
Ref. https://www.datadoghq.com/blog/aws-1-click-integration/
17. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
But, weโre working at an enterprise.
We need to handle more traffic.
18. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Itโs good enough if youโre using DynamoDB.
But RDB isnโt so good with Lambda
19. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
How to handle RDB connections?
20. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
First,
Using a global variable to hold DB connections
can be a solution on Lambda.
21. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
What if thereโs 10 times traffic within a minute?
Ref. https://www.ireckon.com/web-dev/how-do-you-cope-when-your-site-traffic-doesnt-just-spike-it-explodes/
22. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
There will be a CPU or Memory spike on RDB
because of many connections.
23. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
How to handle it?
24. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
RDS Proxy
holds RDB connections and passes queries.
Ref. https://aws.amazon.com/ko/rds/proxy/
25. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
How to handle insertions on Databases?
26. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
You may consider
the throttling issue on DynamoDB,
and the scaling issue on RDB.
27. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Letโs adopt
the eventually consistent model
28. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
SQS with Lambda
Automactically triggered Lambda by SQS events
29. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
SNS + HTTP notification
Automatically send http requests by SNS
30. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Letโs see Scheduled job again.
31. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Becoming an enterprise service means we have Big data.
We can not handle data on Lambda.
32. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Long period job,
just run code on Fargate
33. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Build docker image with your code
and run on ECS or EKS(not yet Seoul)
34. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
But, if you want to do full-scan on
DynamoDB or RDB...
35. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
First,
RDS Exports and
Glue with Athena can be a solution
36. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Run RDS exports to S3 via Lambda
Ref. https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/USER_ExportSnapshot.html
RDS Export
37. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Second,
letโs see DynamoDB with Glue
38. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
DynamoDB - Glue - S3
then, read schema using Crawler, register data catalog on Glue
39. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
But, DynamoDB is expensive when extracting all data.
40. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Turn on DynamoDB Stream
and save all of the histories on S3.
41. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Query via Athena, visualize via BI tools
42. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Data is always matters!
With this journey,
we can consider less about service architecture.
Focus on your business.
43. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
The architecture of todayโs journey
44. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
45. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
We are hiring!
bit.ly/dangguen
46. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
Serverless is more.
47. 2020.07.08 | AWS Dev Alliance Meetup | Handling mssive traffic with Serverless | Byun Kyuhyun
THANK YOU !
Email: novemberde1@gmail.com
Blog: https://novemberde.github.io
Github:https://github.com/novemberde