Domande frequenti sul kit di sviluppo del Cloud AWS

Domande generali

Il kit di sviluppo del cloud (Cloud Development Kit, CDK) di AWS è un framework di sviluppo software open-source per definire l’infrastruttura cloud come un codice tramite i moderni linguaggi di programmazione e per distribuirla attraverso AWS CloudFormation.

È possibile utilizzare l’interfaccia a riga di comando (CLI) di AWS CDK per interagire con le tue applicazioni del CDK. L’interfaccia a riga di comando di AWS CDK permette di elencare gli stack definiti nella tua app del CDK, sintetizzare gli stack in modelli di CloudFormation, determinare le differenze tra le istanze dello stack in esecuzione e gli stack definiti nel tuo codice CDK e distribuire gli stack in qualsiasi regione pubblica AWS.

Il framework di AWS CDK serve per scrivere i progetti di AWS CDK eseguiti per generare modelli di CloudFormation. I progetti di AWS CDK possono essere eseguiti utilizzando la riga di comando di AWS CDK o tramite un sistema di distribuzione continua.

Il modo migliore per cominciare a utilizzare AWS CDK è consultando la sezione Inizia a usare AWS CDK nella Guida per sviluppatori di AWS CDK. In pochi minuti, potrai definire e distribuire la tua prima applicazione di AWS CDK. Per dei tutorial più approfonditi, consulta il seguente link: https://CDKworkshop.com.

Sì, sono disponibili diversi esempi di applicazioni di AWS CDK, in più linguaggi di programmazione, al seguente link: https://github.com/aws-samples/aws-cdk-examples. È possibile trovare ulteriori esempi all’interno della Guida per gli sviluppatori AWS al seguente link: https://docs.aws.amazon.com/cdk/latest/guide/examples.html.

AWS costruisce la logica di business dei pacchetti di AWS Construct Library in TypeScript e fornisce mappature in ciascuno dei linguaggi di programmazione supportati. Ciò permette di garantire che il comportamento dei costrutti di AWS CDK sia coerente per ogni linguaggio e ci permette di offrire una serie completa di pacchetti di costrutti disponibili in tutti i linguaggi. Il codice che scrivi nel tuo progetto di AWS CDK è completamente nativo per il linguaggio di programmazione che preferisci e il runtime di JavaScript è un dettaglio che implementa la tua esperienza di programmazione. Puoi fare riferimento al progetto jsii al seguente link: https://github.com/aws/jsii.

Il codice di AWS CDK è open source, disponibile attraverso GitHub al seguente link: https://github.com/awslabs/aws-cdk.

Per migrare la tua app a AWS CDK v2, per prima cosa aggiorna la caratteristica dei flag in cdk.json. Quindi aggiorna le dipendenze e le importazioni della tua app secondo le necessità del suo linguaggio di programmazione. Per ulteriori informazioni visita:  https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-v2.html

Stiamo sviluppando AWS CDK in modo aperto e accogliamo chiunque voglia contribuire alla nostra base di codice. Puoi trovare maggiori informazioni al seguente link: https://github.com/awslabs/aws-cdk/blob/master/CONTRIBUTING.md.

AWS CDK è disponibile a livello generale in JavaScript, TypeScript, Python, Java, C# e Go (con anteprima per sviluppatori). Per il futuro, stiamo pianificando di creare collegamenti per AWS CDK e altri linguaggi di programmazione, quindi vota il tuo preferito su GitHub.

È possibile utilizzare AWS CDK per definire e distribuire le risorse AWS in tutte le regioni pubbliche. Dal momento che AWS CDK sfrutta il servizio di CloudFormation, fai riferimento a Servizi e prodotti regionali per ottenere maggiori dettagli sulla disponibilità di risorse specifiche per ciascuna regione AWS.

Dal momento che AWS CDK sfrutta CloudFormation, le applicazioni AWS CDK sono soggette agli stessi limiti imposti dal servizio di CloudFormation.

AWS Solutions Constructs è un'estensione della libreria open source di AWS CDK. AWS Solutions Constructs ti offre una raccolta di modelli di architettura multi-servizio verificati, costruiti sulla base delle best practice stabilite dall'AWS Well-Architected Framework. Costrutti di soluzioni AWS necessitano dell'installazione di AWS CDK come prerequisito. Per istruzioni su come aggiungere AWS Solutions Constructs al tuo ambiente AWS CDK, consulta la nostra guida per gli sviluppatori.

AWS Construct Library

I costrutti di AWS CDK sono forniti attraverso l'AWS Construct Library e rappresentano le astrazioni della logica dell’infrastruttura cloud con cui vengono creati i pacchetti da riutilizzare. Le costruzioni possono essere definite localmente o pubblicate sugli strumenti di gestione di pacchetti quali npm, Maven, NuGet o PyPI per permetterne la condivisione tra organizzazioni.

Copriamo molti dei servizi e delle funzionalità AWS più comuni con costruzioni ricche e di elevata qualità, oltre alle risorse di minor livello di CloudFormation, incluse le nuove risorse poco dopo che diventano disponibili. Aggiorniamo l’AWS Construct Library auto-generando le API a livello di risorsa ogni volta che vi sono delle modifiche alle specifiche di CloudFormation. Oltre a tali API auto-generate, forniamo astrazioni create manualmente e di maggior livello che semplificano l’applicazione con ciascun servizio. Non disponiamo ancora di tali astrazioni pratiche e di elevato livello per ciascun servizio AWS, ma aggiungiamo continuamente nuove funzionalità dando priorità ai servizi più utilizzati nelle applicazioni cloud moderne. Per maggiori informazioni, visita il riferimento per le API di AWS Construct Library.

AWS Construct Library è sincronizzata con le specifiche delle risorse di CloudFormation aggiungendo le nuove funzionalità di CloudFormation ad AWS CDK poco dopo la loro pubblicazione.

Le librerie di costruzioni di AWS CDK si comportano così come molte altre librerie. Vengono utilizzate attraverso gli strumenti di gestione dei pacchetti del linguaggio di programmazione utilizzato; tenere tali librerie aggiornate è parte di un normale flusso di lavoro. Tutti i pacchetti supportano la creazione di versioni semantiche, permettendoti di prendere scelte ponderate su quando migrare ai nuovi modelli di infrastruttura.

CloudFormation e SAM

AWS CDK può essere considerato un kit di strumenti che mette in primo piano lo sviluppatore e che sfrutta il pieno potere dei linguaggi di programmazione moderni per definire la tua infrastruttura AWS come un codice. Quando vengono eseguite le applicazioni di AWS CDK, queste compilano dei modelli completi JSON/YAML di CloudFormation che vengono poi inviati al servizio CloudFormation per il provisioning. Poiché AWS CDK sfrutta CloudFormation, potrai ancora godere dei vantaggi che CloudFormation offre quali distribuzione sicura, ripristino automatico e rilevamento della deviazione.

Sia AWS Severless Application Model che AWS SDK astraggono l’infrastruttura AWS come un codice per semplificare la definizione della tua infrastruttura cloud. AWS SAM è specificatamente pensato per l’utilizzo in casi che coinvolgono architetture serverless e ti permette di definire la tua infrastruttura in modelli JSON/YAML compatti e dichiarativi. AWS CDK offre una vasta copertura attraverso tutti i servizi AWS e ti permette di definire l’infrastruttura cloud nei moderni linguaggi di programmazione come TypeScript, Python, C# e Java. Sia AWS SAM e AWS CDK sfruttano CloudFormation come motore di provisioning per gli stack della tua infrastruttura. Se preferisci definire la tua infrastruttura serverless in modelli concisi e dichiarati, SAM è l’opzione migliore. Se preferisci definire la tua infrastruttura AWS in un linguaggio di programmazione a te familiare, ti incoraggiamo a provare AWS CDK. In qualsiasi caso, ti garantiamo che potrai distribuire l’infrastruttura in modo sicuro e ripetibile attraverso CloudFormation.

Sì, puoi sintetizzare localmente la tua applicazione di AWS CDK in un modello di CloudFormation e poi citare l’ID del gestore generato di AWS Lambda nell’interfaccia a riga di comando di AWS SAM. Per maggiori informazioni, consulta la sezione sull’interfaccia a riga di comando di SAM nella Guida per sviluppatori di CDK.

Costo

AWS CDK è distribuito con una Licenza Apache, Versione 2.0. Per maggiori informazioni, consulta le sezioni LICENZA e NOTIFICA.

L'utilizzo di AWS CDK non comporta costi supplementari. Ti verrà addebitato il costo dell’utilizzo effettivo delle risorse AWS (quali le istanze Amazon EC2 o i sistemi di bilanciamento di carico di Elastic Load Balancing) create utilizzando AWS CDK così come se fossero state create manualmente. I prezzi sono calcolati solo in base all'uso effettivo, senza tariffe minime né impegni anticipati.