AWS - Wie viele Services sind erforderlich, um eine Webanwendung zum Laufen zu bringen?

So kam es, dass ich mich bis 2020 nicht mit Wolken beschäftigte. Als ich mich schließlich mit diesem Thema befasste, verlor ich mich ein wenig in der Fülle der in AWS angebotenen Dienste.



Es war erforderlich, eine Anwendung mit den folgenden Funktionen zu erstellen:



  • Melden Sie sich ĂĽber Facebook oder Google an.
  • Die Möglichkeit zum Herunterladen und Anzeigen von Mediendateien.
  • Empfangen von Ereignissen vom Server in Echtzeit.


Dieser Artikel beschreibt die Services, die ich benötigte, um das Projekt zu implementieren und den Prozess zu spüren.

Bild



Anwendungsarchitektur



Internetservice



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



.

Bild

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 !



Als ich anfing, dachte ich nicht, dass es mir gefallen könnte. Ich widerstand. So habe ich beispielsweise den JWT-Authentifizierungsmechanismus selbst codiert, anstatt Cognito zu verwenden.



Aber ich habe es mir anders überlegt. Trotzdem ist es schön, die Last des Infrastrukturcodes abzuschütteln und sich auf die Geschäftslogik zu konzentrieren. Nachdem ich mich etwas wohler gefühlt hatte, begann ich, die Gefühle eines Kindes in einem Vergnügungspark zu erleben. Jeder neue Service bringt neuen Spaß. Ich bin froh, dass dieser Park noch nicht vollständig erkundet wurde. Für mich selbst habe ich die Entscheidung getroffen, dass ich schon lange hier bin.




All Articles