L'API Namespaces in Google App Engine semplifica la suddivisione dei dati di Google App Engine. Questa API viene implementata tramite un nuovo pacchetto chiamato gestore dello spazio dei nomi ed è incorporata in alcune API compatibili con gli spazi dei nomi.
Quando imposti uno spazio dei nomi in Gestore spazi dei nomi, queste API ricevono lo spazio dei nomi attuale e lo utilizzano a livello globale. Puoi dichiarare esplicitamente uno spazio dei nomi localmente, ma devi prestare attenzione quando lo fai, perché potresti creare inavvertitamente fughe di dati e altri bug. Qualsiasi richiesta di App Engine può accedere a qualsiasi spazio dei nomi, lasciando all'applicazione il compito di applicare un criterio di controllo dell'accesso a più spazi dei nomi.
Puoi utilizzare l'API Namespaces per creare un'ampia gamma di applicazioni. Uno degli utilizzi più interessanti di questa API è per le applicazioni multitenant, come descritto di seguito.
Informazioni sul multitenancy
La multitenancy è il nome dato a un'architettura software in cui un'istanza di un'applicazione, in esecuzione su un server remoto, serve molte organizzazioni client (note anche come tenant).
L'utilizzo di un'architettura multitenant semplifica l'amministrazione e il provisioning dei tenant. Puoi offrire un'esperienza utente più snella e personalizzata, nonché aggregare diversi silos di dati in un unico schema di database. Di conseguenza, le applicazioni diventano più scalabili e convenienti. I dati diventano più facili da separare e analizzare tra i tenant perché tutti i tenant condividono lo stesso schema di database. Gruppi di utenti diversi visualizzano contenuti personalizzati all'interno di un'applicazione più efficiente.
Creazione di un'applicazione multitenant con l'API Namespaces
Utilizzando l'API Namespaces, puoi eseguire facilmente il partizionamento dei dati tra i tenant, specificando semplicemente una stringa dello spazio dei nomi univoca per ciascun tenant. È sufficiente impostare lo spazio dei nomi per ogni tenant a livello globale utilizzando il gestore dello spazio dei nomi (anziché impostarlo esplicitamente per una richiesta specifica). Le API abilitate per lo spazio dei nomi utilizzano sempre questo spazio dei nomi corrente per impostazione predefinita.
L'API Namespaces è integrata in Google Workspace e ti consente di utilizzare il tuo dominio Google Workspace come spazio dei nomi attuale. Poiché Google Workspace ti consente di eseguire il deployment della tua app in qualsiasi dominio di tua proprietà, puoi facilmente impostare spazi dei nomi univoci per tutti i domini collegati al tuo account Google Workspace.
Quando progetti applicazioni multitenant, devi impedire la fuga di dati tra gli spazi dei nomi. Per ulteriori informazioni, consulta la sezione Evitare fughe di dati.
API di App Engine che utilizzano i namespace
Al momento App Engine supporta gli spazi dei nomi nelle seguenti API:
Progetti di esempio che utilizzano gli spazi dei nomi
Vengono fornite due applicazioni guestbook di esempio che utilizzano gli spazi dei nomi:
- Python App Engine: appengine-multitenancy: un'applicazione guestbook di esempio che riconosce lo spazio dei nomi.
- Java App Engine: appengine-gwtguestbook-namespaces-java: un'applicazione guestbook di esempio che riconosce lo spazio dei nomi che utilizza GWT.
Altri utilizzi dell'API Namespace
Sebbene l'API Namespaces abiliti la multitenancy su App Engine, offre una serie di altri utilizzi, tra cui:
- Separazione delle informazioni utente
- Separazione dei dati amministrativi dai dati dell'applicazione
- Creazione di istanze di datastore separate per i test e la produzione
- Esecuzione di più app su una singola istanza App Engine