AWS: ¿cuántos servicios se necesitan para poner en funcionamiento una aplicación web?

Dio la casualidad de que hasta 2020, no me ocupé de las nubes. Cuando finalmente profundicé en este tema, me perdí un poco por la abundancia de servicios ofrecidos en AWS.



Era necesario crear una aplicación con las siguientes características:



  • Inicie sesión a través de Facebook o Google.
  • La capacidad de descargar y mostrar archivos multimedia.
  • Recepción de eventos del servidor en tiempo real.


Este artículo describe los servicios que necesitaba para implementar el proyecto y sentir el proceso.

imagen



Arquitectura de la aplicación



servicio web



- - -. 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



.

imagen

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 !



Cuando comencé, no pensé que pudiera gustarme. Me resistí. Entonces, por ejemplo, codifiqué el mecanismo de autenticación jwt yo mismo, en lugar de usar Cognito.



Pero cambié de opinión. Aún así, es bueno deshacerse de la carga del código de infraestructura y centrarse en la lógica empresarial. Después de acostumbrarme un poco, comencé a experimentar los sentimientos de un niño en un parque de diversiones. Cada nuevo servicio trae nueva diversión. Me alegro de que este parque aún no se haya explorado por completo. Por mí mismo, tomé la decisión de que estoy aquí por mucho tiempo.




All Articles