碰巧的是,直到2020年,我才开始处理乌云。当我最终深入研究该主题时,我因AWS提供的大量服务而有些失落。
必须创建具有以下功能的应用程序:
- 通过Facebook或谷歌登录。
- 下载和显示媒体文件的能力。
- 实时从服务器接收事件。
本文介绍了实现项目和体验过程所需的服务。
应用架构
网络服务
- - -. AWS Fargate Elastic Beanstalk.
Fargate
PaaS ECS EKS (EKS-Elastic Kubernetes Service, ECS-Elastic Container Service — kubernetes). — (Task), .
Elastic Beanstalk
Fargate. (EC2). -. — , . — . Elastic Beanstalk .
EC2 | Fargate | ||||
---|---|---|---|---|---|
t2.micro | 10% | $0.0134 | 1vCPU,1GB | $0.05167 | 3.85 |
t2.medium | 20% | $0.0536 | 2vCPU,4GB | $0.11356 | 2.12 |
t2.xlarge | 22.5% | $0.2144 | 4vCPU,16GB | $0.268 | 1.25 |
Elastic Beanstalk — . Fargate .
Application Load Balancer
Fargate, Elastic Beanstalk . . , . Fargate Task Definition, Elastic Beanstalk Auto Scaling Group.
Application Load Balancer HTTP. HTTPS, , CloudFront, . ALB HTTP.
.
DynamoDB
NoSql . ( 10–20 ). , .
S3
. . . .
Parameters Store
. .
, , , , . , , - S3.
.
Route53
DNS AWS.
CloudFront
CDN AWS. CloudFront - S3, api- -. Http Https ( S3 bucket ).
AppSync
AppSync — — AWS Amplify. serverless- no-code-. “”, AppSync, AWS, .
Cognito
aws . User Pool c Google, Amazon, Facebook .
DevOps
.
IAM-Identity and Access Management.
CloudFormation, , , SDK. .
:
- CodeCommit — git-, github.
- CodeBuild — . ECR-Elastic Container Repository.
- CodeDeploy — , Fargate Elastic Beanstalk.
- CodePipeline — .
CloudWatch. , , .
, , -, 9 AWS, , — 8 .
AWS, , — , 17 !
当我刚开始的时候,我并不认为自己会喜欢。我抗拒了 因此,例如,我自己编写了jwt-authentication机制,而不是使用Cognito。
但是我改变了主意。尽管如此,摆脱基础架构代码的负担并专注于业务逻辑还是很不错的。适应了一段时间后,我开始在游乐园中体验孩子的感受。每一项新服务都会带来新的乐趣。我很高兴这个公园尚未被充分探索。对于我自己,我决定在这里住很长时间。