{"id":1450,"date":"2020-06-12T13:31:53","date_gmt":"2020-06-12T11:31:53","guid":{"rendered":"https:\/\/blog.besharp.it\/?p=1450"},"modified":"2021-03-17T15:18:51","modified_gmt":"2021-03-17T14:18:51","slug":"ottimizzazione-dei-costi-delle-applicazioni-serverless","status":"publish","type":"post","link":"https:\/\/blog.besharp.it\/it\/ottimizzazione-dei-costi-delle-applicazioni-serverless\/","title":{"rendered":"Ottimizzazione dei costi delle applicazioni serverless."},"content":{"rendered":"
Siamo nel bel mezzo dell’era serverless.<\/strong> In un momento in cui i vantaggi di questo approccio diventano sempre pi\u00f9 evidenti. Uno tra i pi\u00f9 importanti per l’ascesa di questo paradigma \u00e8 sicuramente la promessa di significativi vantaggi economici.<\/strong>\u00a0<\/span><\/p>\n Ma \u00e8 davvero cos\u00ec? Ancora pi\u00f9 importante: stai sfruttando appieno il paradigma serverless?<\/span><\/p>\n Serverless \u00e8 un paradigma nativo del Cloud che consente di spostare sempre pi\u00f9 responsabilit\u00e0 operative verso il provider cloud, in questo caso AWS, aumentando l’agilit\u00e0<\/strong> e l’innovazione<\/strong>. Serverless consente di creare ed eseguire applicazioni e servizi senza pensare ai server fisici<\/strong> e quindi eliminando le attivit\u00e0 di gestione dell’infrastruttura come provisioning di server o cluster, patch, manutenzione del sistema operativo e provisioning della capacit\u00e0. Serverless ti aiuta a eseguire e ridimensionare l’applicazione mentre l’alta affidabilit\u00e0<\/strong> \u00e8 fornita in modo trasparente dai servizi impiegati.<\/span><\/p>\n Durante la progettazione dell’architettura di un’applicazione serverless, \u00e8 necessario pensare a diversi ambiti, tra cui archiviazione<\/strong>, database<\/strong>, elaborazione<\/strong>, messaggistica<\/strong> e molti altri.<\/span><\/p>\n AWS<\/strong> offre numerosi servizi che possono essere impiegati per creare un’applicazione serverless valida. Dal momento che \u00e8 necessario scegliere lo strumento giusto per ogni ambito, la conoscenza, almeno ad alto livello, di ogni servizio \u00e8 vitale per fare una scelta saggia.<\/span><\/p>\n Quando si pensa a serverless, il primo servizio AWS che viene in mente \u00e8 sicuramente Lambda, infatti la parte di computing<\/strong> di un’applicazione serverless \u00e8 probabilmente la pi\u00f9 iconica ed importante. <\/span>Tuttavia, un’architettura serverless non \u00e8 composta solo da lambda, ma anche da diversi servizi AWS gestiti<\/strong> che a loro volta devono essere serverless.<\/span><\/p>\n Ecco un breve e non esaustivo elenco di servizi serverless, completamente gestiti, per ogni tier applicativo.<\/span><\/p>\n Naturalmente abbiamo <\/span>AWS Lambda<\/span><\/a> e <\/span>Lambda@<\/span><\/a>edge, che sono solitamente associate a serverless ed attraggono la maggior parte dei framework e delle soluzioni di terze parti, ma anche <\/span>AWS<\/span><\/a> Fargate, che \u00e8 un container orchestrator serverless e fully managed costruito appositamente per docker container.<\/span><\/p>\n Amazon Simple Storage Service<\/span><\/a> (Amazon S3) fornisce storage a livello oggetti sicuro, durevole e altamente scalabile.<\/span><\/p>\n Amazon DynamoDB<\/span><\/a> \u00e8 un servizio di database NoSQL veloce e flessibile per tutte le applicazioni che richiedono una latenza costante e bassa ad ogni dimensione.<\/span><\/p>\n Amazon Aurora Serverless<\/span><\/a> \u00e8 una configurazione su richiesta con scalabilit\u00e0 automatica per <\/span>Amazon Aurora<\/span><\/a>. Il database verr\u00e0 avviato, arrestato e ridimensionato automaticamente la capacit\u00e0 in base alle esigenze dell’applicazione.<\/span><\/p>\n Amazon API Gateway<\/span><\/a> \u00e8 un servizio completamente gestito e offre una piattaforma completa per la gestione delle API con supporto per l’autorizzazione, controllo accessi, monitoraggio e gestione delle versioni API.<\/span><\/p>\n Amazon SNS<\/span><\/a> \u00e8 un servizio di pub \/ sub messaggistica completamente gestito che semplifica il disaccoppiamento e il ridimensionamento di microservizi, sistemi distribuiti e applicazioni serverless.<\/span><\/p>\n Amazon SQS<\/span><\/a> \u00e8 un servizio di accodamento messaggi completamente gestito che semplifica il disaccoppiamento e il ridimensionamento di microservizi, sistemi distribuiti e applicazioni serverless.<\/span><\/p>\n AWS AppSync<\/span><\/a> semplifica lo sviluppo di applicazioni consentendo di creare un’API GraphQL flessibile per accedere, manipolare e combinare in modo sicuro i dati da una o pi\u00f9 fonti.\u00a0<\/span><\/p>\n AWS Step Functions<\/span><\/a> semplifica il coordinamento dei componenti di applicazioni distribuite e microservizi mediante flussi di lavoro visivi. Step Functions \u00e8 un modo affidabile per coordinare i componenti il flusso di funzioni lambda dell’applicazione.<\/span><\/p>\nCos\u2019\u00e8 serverless?<\/span><\/h2>\n
Non solo Lambda<\/span><\/h2>\n
Computing<\/span><\/h2>\n
Archiviazione<\/span><\/h2>\n
Database<\/span><\/h2>\n
Proxy \/ API<\/span><\/h2>\n
Integrazione delle applicazioni<\/span><\/h2>\n
Orchestration<\/span><\/h2>\n
Analytics<\/span><\/h2>\n