Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ClickDay - Un approccio cloud native

ClickDay - Un approccio cloud native

Una soluzione innovativa per creare un'infrastruttura cloud native su AWS, progettata per gestire efficacemente i picchi di traffico durante eventi ad alta intensità. Attraverso l'utilizzo di servizi come Amazon SQS, API Gateway, Lambda e CloudFront, l'architettura proposta offre scalabilità, resilienza e bassi costi. Scopri come implementare una soluzione robusta per garantire un'esperienza utente senza interruzioni durante periodi di traffico intenso.

Avatar for Giovanni Conte

Giovanni Conte

June 28, 2023

Other Decks in Programming

Transcript

  1. Un evento o una giornata in cui il traffico e

    le richieste raggiungono picchi significativi su un applicativo ClickDay • Prenotazione dei biglietti di un concerto • Concorso pubblico • Lancio di una nuova console da gioco sul mercato
  2. Un termine che indica il modo o il metodo con

    cui ci si avvicina o si affronta una determinata situazione, problema o attività. Approccio
  3. In breve, "cloud native" si riferisce a un approccio di

    progettazione e sviluppo delle applicazioni che sfrutta appieno le potenzialità e i servizi offerti dal cloud computing. Le applicazioni cloud native sono scalabili, distribuite, flessibili e utilizzano servizi "serverless" per eseguire il codice senza gestire l'infrastruttura sottostante. Cloud native
  4. Amazon SQS Amazon SQS • Decoupling services • Standard queue

    and FIFO queue • API: sendMessage, receiveMessage, deleteMessage
  5. PRODUCER CONSUMER PRODUCER CONSUMER FIFO QUEUE PRODUCER CONSUMER IN-FLIGHT (max

    10) sendMessage() receiveMessage() FIFO QUEUE FIFO QUEUE
  6. Message throughput • Standard queues: near ulimited API calls per

    second • FIFO: 300* API calls per second • High throughput** for FIFO: 6000* API calls per second (*) per API action (sendMessage, receiveMessage, deleteMessage) (**) only available on some Region
  7. AWS Lambda AWS Lambda • FaaS: Function as a Service

    • PayPerUse: GB-seconds / month • Automatic scale!
  8. Lambda function AWS Lambda • Name, Runtime, Architecture, Permissions •

    Creating aws-sdk layer (Node.js 18.x) • Using SDK to write on queue
  9. Amazon API Gateway Amazon API Gateway • Front door to

    access business logic • REST API • Lambda integration • Multi-stage • Up to 10000 requests per second https://RANDOM-CHARS.execute-api.REGION-NAME.amazonaws.com/STAGENAME
  10. Amazon CloudFront Amazon CloudFront • Global architecture • Regions and

    availability zones • Edge locations • Geographic restrictions https://RANDOM-CHARS.cloudfront.net
  11. AWS Cloud Amazon SQS AWS Lambda Amazon API Gateway Amazon

    CloudFront AWS IAM AWS Certificate Manager Amazon Route53 Amazon SQS - DLQ AWS Lambda AWS Lambda Amazon CloudWatch AWS KMS (Key Management Service)
  12. How much? Amazon SQS • Standard queue: 0.40 USD per

    million requests • FIFO queue: 0.50 USD per million requests • Data transfer out: 0.09 USD per Gigabyte Depends on Region *Frankfurt: eu-central-1 • X86: 0.0000166667 USD per GB-second • Arm: 0.0000133334 USD per GB-second • 0.20 USD per million requests AWS Lambda
  13. • REST: 3.70 USD per million requests Amazon API Gateway

    • 1 TB data transfer out per month • 10 million HTTP or HTTPS requests per month Free tier – forever Amazon CloudFront How much? Depends on Region *Frankfurt: eu-central-1