Arquitectura y costo de una aplicaciĂłn web sin servidor simple de Amazon Web Services

IntroducciĂłn



Esta primavera, me senté en un encierro en las Bahamas, sin derecho a bajar a tierra, y, luchando contra el aburrimiento, decidí ver qué clase de bestia era Amazon Web Services, y sí, me había ido. Sucedió, como dicen, el amor a primera vista. Una de las tecnologías que me emborrachó además del ron de las Bahamas fue la informática sin servidor.





- , , , , , -, . , .



. - . , , , .



, «» , 2015 . – ? , Budweiser - . – . , . . . , , , AWS Billing Alert.



, , , , -. , , «Hello World» , !







:



  • AWS S3;
  • AWS Cognito User Pool;
  • API API Gateway Lambda Function;
  • NoSQL DynamoDB.


AWS S3



AWS S3 – , , , . Mail.ru, , – Simple Object Storage AWS S3 API.



S3 – - . CSS, JavaScript HTML «Static Web Hosting». «». HTTP . , -. . , «Hello World» SSL, , , , .



CloudFront, , 1/6 . edge location, . . , , , .



SSL Certificate Manager CloudFront , HTTPS, CloudFront edge location AWS . S3 . , SSE-KMS SSL Lambda@Edge edge location. .



CloudFront DNS Route 53, , CloudFront.



Cognito User Pool



– , - . Amazon Cognito , SAML OpenID Connect, (Facebook, Twitter, Amazon) .





  1. ;
  2. Cognito User Pool ;
  3. Cognito User Pool ;
  4. .


Cognito SDK JavaScript. . , , Cognito Hosted UI, , , MFA SAML. , , , , . , …



— OpenID Connect, . , , .



API Gateway Lambda Function



API Gateway – HTTP, Rest API Web Socket. GET Lambda . , Authorizer . CORS, , , Lambda proxy API HTTP . boto3 AWS, .





, EC2. , - 10 - .



NoSQL DynamoDB



, DynamoDB : id = UUID identifier; Text = «Hello World».



:



  • -;

    Route 53 CloudFront edge location;
  • CloudFront ;
  • JavaScript , ;
  • Cogito User Pool ;
  • API Gateway, ;
  • Lambda ;
  • , JavaScript .




- . , . , , . , ?



AWS « ». 3 , . , , AWS Pricing Calculator.



, :



S 3



  • – 5 Gb.
  • – $0,02 Gb .
  • — $0,09 Gb
  • PUT, GET — $0,005 1000


CloudFront



  • – 50 Gb , AWS ;
  • – $0,08 Gb, CloudFront , S3;
  • , IP , .


Cognito User Pool



  • – 50 MAU ( ) Cognito User Pool 50 MAU , SAML;
  • — $0,005 MAU;
  • SMS .


API Gateway



  • – 1 ;
  • — $3,5 1 .


Lambda



  • – 1 , 400 - ( . )
  • — $0,0000166667 -.


:

– 100 . 2. 50 «Hello World» , . CloudWatch Logs Insights , .



DynamoDB



DynamoDB . – , 1-4-8 .



  • – ;
  • RCU () – $0,25 1 ;
  • WCU () – $1,25 1 ;
  • (-, ), ;
  • .




En nuestra aplicaciĂłn de prueba, encajamos en el nivel gratuito con la excepciĂłn de la tabla DynamoDB. Su existencia nos llegĂł en una suma redonda de $ 0.59 por mes, lo cual es bastante aceptable al tipo de cambio actual del dĂłlar.



Por eso tenemos a nuestra disposición una excelente herramienta que nos permite realizar casi cualquier fantasía prácticamente de forma gratuita.



El invierno será largo y frío, es hora de empezar a crear en la nube.




All Articles