Domande frequenti e termini di Repository dell'applicazione serverless

Domande generali

Le applicazioni serverless non necessitano provisioning, distribuzione e gestione di server né di altre infrastrutture. Offrono disponibilità di serie e ricalibrano le risorse in modo continuo e automatico. Per creare ed eseguire applicazioni serverless è possibile impiegare uno dei numerosi servizi AWS completamente gestiti, ad esempio AWS Lambda per l'elaborazione, Amazon API Gateway per le API e Amazon DynamoDB per i database.

AWS Serverless Application Repository offre una raccolta in continua crescita di applicazioni serverless pubblicate da AWS e da partner e sviluppatori di AWS. Questo repository semplifica la distribuzione di applicazioni per casi d'uso frequenti, ad esempio back-end per siti Web o dispositivi mobili, elaborazione di streaming, apprendimento automatico e molto altro, consentendo di iniziare immediatamente a utilizzare la piattaforma serverless di AWS.

AWS Serverless Application Repository è attualmente disponibile nelle seguenti regioni: Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon), Stati Uniti occidentali (California settentrionale), Canada (Centrale), Asia Pacifico (Sydney), Asia Pacifico (Mumbai), Asia Pacifico (Singapore), Asia Pacifico (Seul), Asia Pacifico (Tokyo), UE (Francoforte), UE (Irlanda), UE (Londra) e America del Sud (San Paolo).

AWS Serverless Application Repository include applicazioni per competenze Alexa, chatbot, elaborazione di dati, IoT, elaborazione di flussi in tempo reale, back-end Web e per dispositivi mobili, analisi di trend di social media, ridimensionamento di immagini e molto altro tramite altri publisher in AWS.

Per la ricerca, la distribuzione e la pubblicazione di applicazioni in AWS Serverless Application Repository non viene addebitato alcun costo. Saranno tuttavia applicate le tariffe standard delle risorse utilizzate dalle applicazioni distribuite.

Le applicazioni offerte da AWS dispongono della licenza open source MIT, mentre le applicazioni offerte pubblicamente da terze parti potranno essere disponibili secondo una o più licenze open source approvate dalla OSI (Open Source Initiative). Per ulteriori informazioni sulle licenze, consulta la scheda Licensing dell'applicazione in questione sul sito Web AWS.

Tutte le applicazioni pubblicate da AWS sono state esaminate per accertarne la conformità di licenza e la qualità del codice. Le applicazioni pubblicate da terze parti sono convalidate per l'uso corretto dei permessi; l'utilizzatore finale deve poter sapere quali sono le risorse a cui può accedere e che può modificare l'applicazione. Prima di utilizzare un'applicazione, è possibile consultare queste informazioni e il numero di volte che è stata distribuita dai clienti AWS nel proprio ambiente.

Sì. AWS Serverless Application Repository permette agli sviluppatori di pubblicare applicazioni serverless sviluppate in un repository GitHub. Per semplificare ulteriormente il processo di pubblicazione e configurarlo in pochi minuti, è possibile utilizzare AWS CodePipeline per collegare un'origine GitHub con Repository dell'applicazione serverless AWS.

Distribuzione di applicazioni

Le applicazioni serverless vengono distribuite come stack di AWS CloudFormation, perciò è più semplice gestire un'applicazione come unità singola. Alle risorse utilizzate vengono applicati tag con un Amazon Resource Name (ARN) univoco, che facilita l'individuazione delle risorse tramite la console di AWS Tag Editor. Inoltre, è possibile utilizzare strumenti esistenti di AWS e di terze parti per gestire ciascuna risorsa separatamente.

Pubblicare applicazioni

Per pubblicare un'applicazione serverless, descrivi l'applicazione utilizzando il formato di AWS Serverless Application Model (SAM), creane un pacchetto con l'interfaccia a riga di comando e pubblicalo tramite Console di gestione AWS, interfaccia a riga di comando o kit SDK AWS. Sarà necessario disporre di un account AWS valido e fornire un nome, una descrizione, un collegamento al codice sorgente e un file LICENSE.txt. Le applicazioni da rendere disponibili a qualsiasi cliente AWS devono essere pubblicate nelle regioni est (Virginia settentrionale) e ovest (Ohio) degli Stati Uniti.

Gli autori possono determinare chi può trovare e distribuire le proprie applicazioni nel Repository. È possibile limitare l'accesso al proprio team (quindi a un gruppo di utenti nello stesso account AWS), condividere un'applicazione con altri account o renderla pubblicamente disponibile a qualsiasi cliente AWS. Per ulteriori informazioni su autorizzazioni e visibilità delle applicazioni pubblicate, consulta la documentazione sulle policy basate su risorse.

Se desideri stabilire che un'applicazione serverless pubblicata debba essere a pagamento, puoi integrarla con AWS Lambda tramite Amazon API Gateway, quindi mettere in vendita l'API come prodotto SaaS in AWS Marketplace. Per ulteriori informazioni, scopri come mettere in vendita un prodotto in AWS Marketplace e monetizzare un'API con API Gateway.

Utilizzo di applicazioni annidate

Un'applicazione serverless annidata è un componente distribuito come parte di un'altra applicazione serverless. Con la crescita delle architetture serverless, emergono casi d'uso comune in cui gli stessi componenti sono definiti in diversi modelli di applicazione. Ora puoi separare casi d'uso comune come applicazioni dedicate e annidarli come parte di modelli di applicazione nuovi o già esistenti.

Le applicazioni annidate vengono distribuite come stack annidati di AWS CloudFormation.

Utilizza il tipo di risorse AWS:Serverless:Application per aggiungere applicazioni che hai sviluppato a livello locale o sono state condivise con te mediante Serverless Application Repository. Puoi definire input per l'applicazione annidata o output di riferimento con una sintassi AWS SAM semplice. Per ulteriori informazioni, consulta la documentazione.

Specifica un nome univoco per ciascuna applicazione annidata nel modello SAM. Le risorse create dall'applicazione annidata saranno definite con il nome univoco dell'applicazione.

Utilizza il comando sam package della CLI SAM per creare il pacchetto della tua applicazione annidata. Pubblica la tua applicazione con pacchetto su Serverless Application Repository con le API o AWS SDK. Puoi utilizzare il comando sam deploy della CLI SAM per distribuire immediatamente la tua applicazione.

Sì. Il comando sam package della CLI SAM creerà in modo ricorrente un pacchetto di una gerarchia di applicazioni annidate. Puoi annidare un massimo di 199 applicazioni in un singolo modello di livello alto.

Consumo di applicazioni annidate

Le applicazioni serverless vengono distribuite come stack di AWS CloudFormation, perciò è più semplice gestire un'applicazione come unità singola. Alle risorse utilizzate vengono applicati tag con un Amazon Resource Name (ARN) univoco, che facilita l'individuazione delle risorse tramite la console di AWS Tag Editor. Inoltre, è possibile utilizzare strumenti esistenti di AWS e di terze parti per gestire ciascuna risorsa separatamente.

Configura la risorsa SAM AWS:Serverless:Application con l'applicazione ARN e tutti i parametri di input necessari all'applicazione. Per ulteriori informazioni, consulta la documentazione.

Le applicazioni annidate di Serverless Application Repository hanno già un pacchetto e sono pronte all'uso. Puoi utilizzare il comando sam package esistente della CLI SAM per assicurarti che le applicazioni annidate siano ancora disponibili prima di distribuire l'applicazione nel tuo account.

Le applicazioni annidate che vengono eliminate o a cui non hai più accesso non avranno effetti sulle distribuzioni esistenti della tua applicazione. Dovrai aggiornare l'applicazione se tenti di distribuirla con dipendenze che non esistono più.

Le applicazioni che ne contengono una o più annidate utilizzano CAPABILITY_AUTO_EXPAND.

Pubblicazione di applicazioni annidate

Sì. Puoi pubblicare le applicazioni annidate su Serverless Application Repository come pubblichi ora le applicazioni autonome. Utilizza la console AWS, la CLI AWS, la CLI SAM o le API di Serverless Application Repository per pubblicare le applicazioni annidate.

Condivisione di applicazioni annidate

Le applicazioni serverless seguono lo stesso modello utilizzato dalle funzioni Lambda. L'accesso alle applicazioni serverless in Repository dell'applicazione serverless può essere controllato con le policy basate su risorse AWS IAM. Puoi utilizzare le policy per mantenere privata l'applicazione, concedere l'accesso tra più account o renderla disponibile pubblicamente.

Con una gerarchia di applicazioni annidate, ogni applicazione annidata deve essere resa disponibile per l'account AWS con cui stai condividendo l'applicazione di alto livello.

Condivisione di applicazioni

Sì. Ora è possibile condividere applicazioni con tutti gli account che appartengono a un'organizzazione AWS. Le app serverless seguono lo stesso modello utilizzato dalle funzioni Lambda. L'accesso alle applicazioni serverless in AWS Serverless Application Repository può essere controllato con le policy basate su risorse AWS IAM. Puoi utilizzare le policy per mantenere privata l'applicazione, concedere l'accesso a più account o a un'organizzazione o rendere l'applicazione disponibile pubblicamente. Per ulteriori informazioni sulle policy basate su risorse per le applicazioni serverless, fai clic qui.

Per iniziare, trova l'applicazione nella console di AWS Serverless Application Repository, fai clic sulla scheda "Condividi", quindi fai clic su "Crea istruzione". Qui è possibile aggiungere l'entità dell'organizzazione AWS per concederle l'accesso all'app. Per aggiornare le policy basate su risorse per condividere le app all'interno di un'organizzazione, è inoltre possibile impiegare le API di AWS Serverless Application Repository. Per maggiori dettagli sulle policy basate su risorse, consulta la nostra documentazione qui.

No. È possibile condividere un'applicazione solo con account appartenenti alla tua stessa organizzazione AWS.

La condivisione di applicazioni all'interno di un'unità organizzativa non è supportata. Puoi utilizzare le policy per mantenere privata l'applicazione, concedere l'accesso a più account o a un'organizzazione o rendere l'applicazione disponibile pubblicamente.

Per fornire l'accesso all'applicazione per determinati account nell'organizzazione, è sufficiente aggiornare la policy basata su risorse per includere gli account AWS insieme all'ID dell'organizzazione AWS con cui si desidera condividere l'applicazione.

Sì. Puoi impostare azioni sulla tua policy basata su risorse che possono limitare il tipo di operazioni che qualcuno può intraprendere su un'applicazione condivisa. L'aggiornamento delle azioni per una policy basata su risorse è supportato tramite le API e la console di AWS Serverless Application Repository. Per ulteriori dettagli sulle azioni che è possibile impostare per le policy basate su risorse, consulta la nostra documentazione qui.

Condizioni di utilizzo

1. L'autore della pubblicazione, che è anche cliente AWS, potrà rendere le proprie applicazioni e componenti serverless AWS ("Applicazioni serverless AWS") disponibili tramite AWS Serverless Application Repository (il "Repository") privatamente, per determinati account AWS, oppure per tutti i clienti AWS che usano il Repository conformemente al processo per la pubblicazione sulla console del Repository. Le Applicazioni serverless AWS da rendere disponibili privatamente o attraverso account AWS specifici possono essere in codice binario o codice sorgente; le Applicazioni serverless AWS rese disponibili a tutti i clienti AWS possono essere in codice binario o codice sorgente e devono includere dettagli sufficienti a consentire all'utente di accedere al codice sorgente.

2. L'autore della pubblicazione dovrà disporre di tutte le licenze e le autorizzazioni necessarie per inoltrare le proprie Applicazioni serverless AWS nel Repository. L'autore dovrà inviare al Repository, oltre all'Applicazione serverless AWS, le condizioni di utilizzo della relativa licenza, inclusi i requisiti di attribuzione della licenza open source. L'autore della pubblicazione sarà ritenuto di controllo, valutazione e testing delle Applicazioni serverless AWS prima del relativo invio al Repository.

3. L'autore della pubblicazione concede ad AWS e alle sue affiliate i diritti per riprodurre, distribuire, mostrare pubblicamente o solo ad alcuni account AWS (se applicabile), eseguire, trasmettere, utilizzare e rendere disponibile in altri modi per via digitale (attraverso distribuzione online ed elettronica) le sue Applicazioni serverless AWS nel Repository.

4. L'autore della pubblicazione dichiara e garantisce che dispone di tutti i diritti necessari per inviare la propria Applicazione serverless AWS nel Repository, dispone di tutti i diritti necessari per permetterne il download dal Repository e ha già provvisto alle attribuzioni richieste. Inoltre, non pubblicherà l'Applicazione serverless AWS con malware o contenuti dannosi di altro tipo con l'intento o lo scopo di provocare danni a terzi. AWS si riserva il diritto di rimuovere e annullare la pubblicazione di un'Applicazione serverless AWS a propria esclusiva discrezione per questo o qualsiasi altro motivo.

5. I clienti AWS dovranno conformarsi alla licenza o alle licenze (incluse eventuali attribuzioni o altri requisiti) per tutte le Applicazioni serverless AWS scaricate.

6. I clienti AWS che creano opere derivate a partire da un Applicazione serverless AWS saranno responsabili di stabilire se hanno i diritti necessari per procedere, in base alla licenza o alle licenze delle Applicazioni serverless AWS in questione, e dovranno provvedere a soddisfare eventuali attribuzioni o altri requisiti.

7. Qualsiasi licenza o altro accordo dell'autore relativo a un'Applicazione serverless AWS sono intesi esclusivamente tra l'autore e il cliente AWS. Né AWS né alcuna delle sue affiliate prendono parte al contratto di licenza o ad altri accordi; non saranno perciò soggetti ad alcun obbligo o responsabilità relativi a tali licenze o accordi. AWS non è responsabile e non è soggetto ad alcuna responsabilità in relazione alla conformità dell'autore della pubblicazione o del cliente AWS alla licenza (incluse eventuali attribuzioni) o ad altri requisiti.

8. Le Applicazioni serverless AWS e gli altri materiali di terze parti nel Repository sono definiti "Contenuti del repository". I Contenuti del repository SONO FORNITI COME SONO, SENZA GARANZIA DI ALCUN TIPO, ESPRESSA O IMPLICITA, INCLUSE A TITOLO ESEMPLIFICATIVO LE GARANZIE DI COMMERCIABILITÀ, IDONEITÀ A UN USO SPECIFICO E NON VIOLAZIONE. IN NESSUN CASO GLI AUTORI DELLA PUBBLICAZIONE, I TITOLARI DEL DIRITTO D'AUTORE, AWS O LE SUE AFFILIATE POTRANNO ESSERE RITENUTI RESPONSABILI PER QUALSIASI RIVENDICAZIONE, DANNO O ALTRE COLPE NELL'ESECUZIONE DI AZIONI PREVISTE DAL CONTRATTO, ILLECITE O DI QUALSIASI ALTRO TIPO DERIVANTI, CORRELATE O COLLEGATE AI Contenuti del repository, AL LORO UTILIZZO O AD ALTRI RAPPORTI CON I Contenuti del repository.

9. Gli autori delle pubblicazioni e i clienti AWS riconoscono che dovranno adempiere alle presenti condizioni nel loro utilizzo del Repository e che AWS aggiornerà periodicamente le condizioni.