Questo è un post sul blog degli ospiti scritto insieme a Zack Rossman di Alcion.
Alcion, una piattaforma BaaS (Backup-as-a-Service) basata sull'intelligenza artificiale, aiuta gli amministratori di Microsoft 365 a proteggere in modo rapido e intuitivo i dati dalle minacce informatiche e dalla perdita accidentale di dati. In caso di perdita di dati, i clienti Alcion devono cercare nei metadati gli elementi di cui è stato eseguito il backup (file, e-mail, contatti, eventi e così via) per selezionare versioni specifiche dell'elemento da ripristinare. Alcione usa Servizio Amazon OpenSearch per fornire ai propri clienti funzionalità di ricerca accurate, efficienti e affidabili in questo catalogo di backup. La piattaforma è multi-tenant, il che significa che Alcion richiede l'isolamento dei dati e una forte sicurezza in modo da garantire che gli inquilini possano cercare solo i propri dati.
OpenSearch Service è un servizio completamente gestito che semplifica la distribuzione, la scalabilità e il funzionamento di OpenSearch nel cloud AWS. OpenSearch è una suite di ricerca e analisi open source con licenza Apache-2.0, che comprende OpenSearch (un motore di ricerca, analisi e database vettoriale), OpenSearch Dashboards (un'interfaccia utente di visualizzazione e utilità) e plug-in che forniscono funzionalità avanzate come enterprise sicurezza di livello superiore, rilevamento di anomalie, osservabilità, avvisi e molto altro. Amazon OpenSearch senza server è un'opzione di distribuzione serverless che semplifica l'utilizzo di OpenSearch senza configurare, gestire e ridimensionare i domini del servizio OpenSearch.
In questo post, condividiamo in che modo l'adozione di OpenSearch Serverless ha consentito ad Alcion di soddisfare i requisiti di scalabilità, ridurre il sovraccarico operativo e proteggere i dati dei tenant applicando isolamento inquilino all'interno del loro ambiente multi-tenant.
Domini gestiti dal servizio OpenSearch
Per la prima iterazione dell'architettura di ricerca, Alcion ha scelto l'opzione di implementazione dei domini gestiti in OpenSearch Service ed è stata in grado di lanciare la propria funzionalità di ricerca in produzione in meno di un mese. Per soddisfare i requisiti di sicurezza, scalabilità e tenancy, hanno archiviato i dati per ogni tenant in un indice dedicato e li hanno utilizzati controllo degli accessi a grana fine in OpenSearch Service per evitare fughe di dati tra tenant. Man mano che il loro carico di lavoro si evolveva, gli ingegneri di Alcion hanno monitorato l'utilizzo del dominio OpenSearch tramite il fornito Amazon Cloud Watch metriche, apportando modifiche per aumentare lo spazio di archiviazione e ottimizzare le proprie risorse di calcolo.
Il team di Alcion ha utilizzato diverse funzionalità dei domini gestiti da OpenSearch Service per migliorare il proprio approccio operativo. Hanno introdotto gli alias di indice, che forniscono un singolo nome alias per accedere (leggere e scrivere) a più indici sottostanti. Hanno anche configurato Gestione dello stato dell'indice (ISM) per aiutarli a controllare il ciclo di vita dei dati eseguendo il rollover degli indici in base alla dimensione dell'indice. Insieme, i criteri ISM e gli alias dell'indice erano necessari per ridimensionare gli indici per i tenant di grandi dimensioni. Usato anche Alcione modelli di indice definire gli shard per indice (partizionamento) dei propri dati in modo da automatizzare il loro ciclo di vita dei dati e migliorare le prestazioni e la stabilità dei propri domini.
Il seguente diagramma dell'architettura mostra come Alcion ha configurato i suoi domini gestiti OpenSearch.
Il diagramma seguente mostra come i dati di Microsoft 365 sono stati indicizzati e sottoposti a query da indici specifici del tenant. Alcion ha implementato l'autenticazione delle richieste fornendo le credenziali dell'utente principale di OpenSearch con ogni richiesta API.
Panoramica di OpenSearch Serverless e opzioni del modello di tenancy
I domini gestiti dal servizio OpenSearch hanno fornito una base stabile per la funzionalità di ricerca di Alcion, ma il team aveva bisogno di fornire manualmente le risorse ai domini per il carico di lavoro di punta. Ciò ha lasciato spazio all'ottimizzazione dei costi perché il carico di lavoro di Alcion è esplosivo: ci sono grandi variazioni nel numero di transazioni di ricerca e indicizzazione al secondo, sia per un singolo cliente che nel suo insieme. Per ridurre i costi e il carico operativo, il team si è rivolto a OpenSearch Serverless, che offre funzionalità di scalabilità automatica.
Per utilizzare OpenSearch Serverless, il primo passaggio consiste nel creare una raccolta. UN collezione è un gruppo di indici OpenSearch che lavorano insieme per supportare un carico di lavoro specifico o un caso d'uso. Le risorse di calcolo per una raccolta, denominate OpenSearch Compute Units (OCU), sono condivise tra tutte le raccolte in un account che condividono una chiave di crittografia. Il pool di OCU viene automaticamente ridimensionato per soddisfare le esigenze di indicizzazione e traffico di ricerca.
Il livello di sforzo richiesto per migrare da un dominio gestito da OpenSearch Service a OpenSearch Serverless era gestibile grazie al fatto che le raccolte OpenSearch Serverless supportano le stesse API e librerie OpenSearch dei domini gestiti da OpenSearch Service. Ciò ha consentito ad Alcion di concentrarsi sull'ottimizzazione del modello di tenancy per la nuova architettura di ricerca. Nello specifico, il team doveva decidere come partizionare i dati dei tenant all'interno di raccolte e indici, bilanciando sicurezza e costo totale di proprietà. Gli ingegneri Alcion, in collaborazione con il team OpenSearch Serverless, considerati tre modelli di locazione:
- Modello silo: creare una raccolta per ogni tenant
- Modello di pool: crea una singola raccolta e usa un singolo indice per più tenant
- Modello bridge: crea una singola raccolta e usa un singolo indice per tenant
Tutte e tre le scelte progettuali presentavano vantaggi e compromessi che dovevano essere considerati per progettare la soluzione finale.
Modello silo: creare una raccolta per ogni tenant
In questo modello, Alcion creerebbe una nuova collezione ogni volta che un nuovo cliente si imbarca sulla sua piattaforma. Anche se i dati del tenant sarebbero stati nettamente separati tra le raccolte, questa opzione è stata annullata perché l'ora di creazione della raccolta significava che i clienti non sarebbero stati in grado di eseguire il backup e cercare i dati subito dopo la registrazione.
Modello di pool: crea una singola raccolta e usa un singolo indice per più tenant
In questo modello, Alcion creerebbe una singola raccolta per account AWS e indicizzerebbe i dati specifici del tenant in uno dei tanti indici condivisi appartenenti a tale raccolta. Inizialmente, il raggruppamento dei dati dei tenant in indici condivisi era interessante dal punto di vista della scala, poiché ciò comportava l'uso più efficiente delle risorse dell'indice. Ma dopo un'ulteriore analisi, Alcion ha scoperto che sarebbero rientrati ampiamente nella quota dell'indice per raccolta anche se avessero assegnato un indice per ogni inquilino. Una volta risolto questo problema di scalabilità, Alcion ha optato per la terza opzione, perché l'isolamento dei dati dei tenant in indici dedicati si traduce in un isolamento dei tenant più forte rispetto al modello di indice condiviso.
Modello bridge: crea una singola raccolta e usa un singolo indice per tenant
In questo modello, Alcion creerebbe una singola raccolta per account AWS e creerebbe un indice per ciascuna delle centinaia di tenant gestiti da quell'account. Assegnando ogni tenant a un indice dedicato e raggruppando questi indici in un'unica raccolta, Alcion ha ridotto i tempi di onboarding per i nuovi tenant e ha isolato i dati dei tenant in bucket ben separati.
Implementazione del controllo degli accessi basato sui ruoli per supportare la multi-tenancy
OpenSearch Serverless offre un insieme ereditabile di controlli di sicurezza multipunto, che copre l'accesso ai dati, l'accesso alla rete e la crittografia. Alcion ha sfruttato appieno OpenSearch Serverless politiche di accesso ai dati per implementare il controllo degli accessi in base al ruolo (RBAC) per ogni indice specifico del tenant con i seguenti dettagli:
- Allocare un indice con un prefisso comune e l'ID tenant (ad esempio,
index-v1-<tenantID>
) - Crea un file dedicato Gestione dell'identità e dell'accesso di AWS (IAM) utilizzato per firmare le richieste alla raccolta OpenSearch Serverless
- Creare una policy di accesso ai dati OpenSearch Serverless che conceda le autorizzazioni di lettura/scrittura dei documenti all'interno di un indice tenant dedicato al ruolo IAM per quel tenant
- Le richieste dell'API OpenSearch a un indice tenant vengono firmate con credenziali temporanee appartenenti al ruolo IAM specifico del tenant
Di seguito è riportato un esempio di criterio di accesso ai dati OpenSearch Serverless per un tenant fittizio con ID t-eca0acc1-12345678910
. Questa policy concede al documento del ruolo IAM l'accesso in lettura/scrittura all'accesso del tenant dedicato.
Il seguente diagramma dell'architettura illustra il modo in cui Alcion ha implementato l'indicizzazione e la ricerca di risorse Microsoft 365 utilizzando l'approccio di raccolta condivisa OpenSearch Serverless.
Di seguito è riportato il frammento di codice di esempio per l'invio di una richiesta API a una raccolta OpenSearch Serverless. Nota come il client API viene inizializzato con un oggetto firmatario che firma le richieste con la stessa entità IAM collegata alla policy di accesso ai dati OpenSearch Serverless dallo snippet di codice precedente.
Conclusione
Nel maggio del 2023, Alcion ha implementato la sua architettura di ricerca basata sulla raccolta condivisa e sul modello indice per tenant dedicato in tutti gli ambienti di produzione e pre-produzione. Il team è stato in grado di eliminare codice complesso e processi operativi che erano stati dedicati alla scalabilità dei domini gestiti da OpenSearch Service. Inoltre, grazie alle funzionalità di scalabilità automatica di OpenSearch Serverless, Alcion ha ridotto i costi di OpenSearch del 30% e si aspetta che il profilo dei costi si ridimensioni favorevolmente.
Nel passaggio da OpenSearch Service gestito a serverless, Alcion ha tratto vantaggio dalla scelta iniziale dei domini gestiti da OpenSearch Service. Nella migrazione successiva, sono stati in grado di riutilizzare le stesse API e librerie OpenSearch per le loro raccolte OpenSearch Serverless che utilizzavano per il dominio gestito del servizio OpenSearch. Inoltre, ha aggiornato il proprio modello di tenancy per sfruttare i criteri di accesso ai dati OpenSearch Serverless. Con OpenSearch Serverless, sono stati in grado di adattarsi facilmente alle esigenze di scalabilità dei loro clienti, garantendo al tempo stesso l'isolamento dei tenant.
Per ulteriori informazioni su Alcion, visitare il loro sito web.
Informazioni sugli autori
Zack Rossman è un membro dello staff tecnico di Alcion. È il responsabile tecnico per le piattaforme di ricerca e AI. Prima di Alcion, Zack è stato Senior Software Engineer presso Okta, sviluppando prodotti di base per la gestione dell'identità e degli accessi della forza lavoro per il team di Directories.
Niraj Jetly è un responsabile dello sviluppo software per Amazon OpenSearch Serverless. Niraj guida diversi team del piano dati responsabili del lancio di Amazon OpenSearch Serverless. Prima di AWS, Niraj ha guidato diversi team di prodotti e ingegneri come CTO, VP of Engineering e Head of Product Management per oltre 15 anni. Niraj ha ricevuto oltre 15 premi per l'innovazione, tra cui essere stato nominato CIO dell'anno nel 2014 e tra i primi 100 CIO nel 2013 e nel 2016. Spesso relatore in diverse conferenze, è stato citato da NPR, WSJ e The Boston Globe.
Jon Handler è Senior Principal Solutions Architect presso Amazon Web Services con sede a Palo Alto, CA. Jon lavora a stretto contatto con OpenSearch e Amazon OpenSearch Service, fornendo assistenza e indicazioni a un'ampia gamma di clienti che hanno carichi di lavoro di ricerca e analisi dei log che desiderano trasferire nel cloud AWS. Prima di entrare in AWS, la carriera di Jon come sviluppatore di software includeva 4 anni di codifica di un motore di ricerca e-commerce su larga scala. Jon ha conseguito un Bachelor of the Arts presso l'Università della Pennsylvania e un Master of Science e un PhD in Computer Science and Artificial Intelligence presso la Northwestern University.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Automobilistico/VE, Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- BlockOffset. Modernizzare la proprietà della compensazione ambientale. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/big-data/alcion-supports-their-multi-tenant-platform-with-amazon-opensearch-serverless/
- :ha
- :È
- $ SU
- 10
- 100
- 15 anni
- 15%
- 16
- 2013
- 2014
- 2016
- 2023
- a
- capace
- WRI
- accesso
- gestione degli accessi
- Il mio account
- preciso
- operanti in
- adattare
- Inoltre
- indirizzi
- amministratori
- Adottando
- Avanzate
- Vantaggio
- Dopo shavasana, sedersi in silenzio; saluti;
- AI
- Tutti
- allocato
- consentire
- permesso
- anche
- Sebbene il
- Amazon
- Amazon Web Services
- an
- .
- analitica
- ed
- rilevamento anomalie
- api
- API
- approccio
- architettura
- SONO
- artificiale
- intelligenza artificiale
- Arte
- AS
- At
- attraente
- Autenticazione
- auto
- automatizzare
- automaticamente
- premi
- AWS
- Baas
- precedente
- di riserva
- bilanciamento
- basato
- BE
- perché
- stato
- essendo
- vantaggi
- fra
- Blog
- stile di vita
- Boston
- entrambi
- ampio
- onere
- ma
- by
- CA
- detto
- Materiale
- funzionalità
- capacità
- Career
- Custodie
- catalogo
- Modifiche
- scegliere
- scelte
- ha scelto
- CIO
- cliente
- strettamente
- Cloud
- codice
- codifica
- collaborazione
- collezione
- collezioni
- Uncommon
- complesso
- che comprende
- Calcolare
- computer
- Informatica
- Problemi della Pelle
- conferenze
- configurato
- considerato
- contatti
- contesto
- di controllo
- controlli
- Nucleo
- Costo
- Costi
- copertura
- creare
- Creazione
- creazione
- Credenziali
- CTO
- cliente
- Clienti
- Cyber
- cruscotti
- dati
- l'accesso ai dati
- Perdita di dati
- Banca Dati
- decide
- dedicato
- Predefinito
- richieste
- schierare
- deployment
- descrizione
- Design
- progettazione
- dettagli
- rivelazione
- Costruttori
- in via di sviluppo
- Mercato
- directory
- documento
- documenti
- dominio
- domini
- giù
- ogni
- facile
- ecommerce
- efficiente
- sforzo
- abilitato
- crittografia
- far rispettare
- motore
- ingegnere
- Ingegneria
- Ingegneri
- garantire
- assicurando
- di livello enterprise
- Ambiente
- ambienti
- errore
- errori
- Etere (ETH)
- Anche
- Evento
- eventi
- si è evoluta
- esempio
- aspetta
- fatto
- Caratteristiche
- File
- finale
- Nome
- Focus
- i seguenti
- Nel
- Avanti
- essere trovato
- Fondazione
- frequente
- da
- pieno
- completamente
- funzionalità
- ulteriormente
- Inoltre
- ottenere
- GitHub
- globo
- borse di studio
- Gruppo
- GUEST
- Blog degli ospiti
- guida
- ha avuto
- Avere
- he
- capo
- Aiuto
- aiuta
- detiene
- Come
- Tutorial
- HTML
- http
- HTTPS
- centinaia
- IAM
- ID
- Identità
- identità e gestione degli accessi
- if
- subito
- realizzare
- implementato
- importare
- competenze
- in
- incluso
- Compreso
- Aumento
- Index
- indicizzati
- indici
- informazioni
- inizialmente
- inizialmente
- Innovazione
- premi per l'innovazione
- Intelligence
- Interfaccia
- ai miglioramenti
- introdotto
- da solo
- IT
- elementi
- iterazione
- SUO
- accoppiamento
- jon
- viaggio
- jpg
- json
- Le
- grandi
- larga scala
- lanciare
- lancio
- portare
- Leads
- Perdite
- Guidato
- a sinistra
- meno
- Livello
- biblioteche
- ciclo di vita
- piace
- connesso
- Caricamento in corso
- ceppo
- spento
- FA
- Fare
- gestito
- gestione
- direttore
- gestione
- manualmente
- molti
- Mastercard
- partita
- Maggio..
- si intende
- significava
- Soddisfare
- membro
- Metadati
- Metrica
- Microsoft
- Microsoft 365
- migrare
- la migrazione
- modello
- Mese
- Scopri di più
- maggior parte
- cambiano
- molti
- multiplo
- Nome
- Detto
- necessaria
- Bisogno
- di applicazione
- esigenze
- Rete
- Accesso alla rete
- New
- Northwestern University
- Avviso..
- numero
- oggetto
- of
- Offerte
- OTTA
- on
- Procedura di Onboarding
- ONE
- esclusivamente
- open source
- operare
- operativa
- OTTIMIZZA
- ottimizzazione
- Opzione
- or
- Oss
- su
- ancora
- panoramica
- proprio
- proprietà
- pagina
- palo Alto
- Corrente di
- Pennsylvania
- per
- performance
- autorizzazione
- permessi
- prospettiva
- piattaforma
- Piattaforme
- Platone
- Platone Data Intelligence
- PlatoneDati
- i plugin
- Termini e Condizioni
- politica
- pool
- Post
- prevenire
- precedente
- primario
- Direttore
- Precedente
- i processi
- Prodotto
- gestione del prodotto
- Produzione
- Prodotti
- Profilo
- protegge
- fornire
- purché
- fornitore
- fornitura
- fornitura
- rapidamente
- gamma
- Leggi
- Lettore
- ridurre
- Ridotto
- Iscrizione
- affidabile
- richiesta
- richieste
- necessario
- Requisiti
- richiede
- risoluto
- risorsa
- Risorse
- risposta
- responsabile
- ripristinare
- Risultati
- ritorno
- riutilizzare
- Ruolo
- Arrotolato
- rotolamento
- Prenotazione sale
- norme
- stesso
- Scalabilità
- Scala
- scala
- Scienze
- portata
- Cerca
- motore di ricerca
- ricerca
- Secondo
- sicuro
- problemi di
- invio
- anziano
- serverless
- servizio
- Servizi
- set
- alcuni
- Condividi
- condiviso
- Spettacoli
- segno
- firmato
- Segni
- Un'espansione
- singolo
- Taglia
- frammento
- So
- Software
- lo sviluppo del software
- Software Engineer
- soluzione
- Soluzioni
- Speaker
- specifico
- in particolare
- Stabilità
- stabile
- STAFF
- Regione / Stato
- step
- conservazione
- memorizzati
- Corda
- forte
- più forte
- suite
- supporto
- Supporto
- supporti
- Fai
- preso
- team
- le squadre
- Tech
- Consulenza
- temporaneo
- inquilino
- di
- Grazie
- che
- Il
- loro
- Li
- Strumenti Bowman per analizzare le seguenti finiture:
- di
- Terza
- questo
- minacce
- tre
- tempo
- a
- insieme
- ha preso
- top
- Totale
- traffico
- Le transazioni
- transazioni al secondo
- Turned
- sottostante
- unità
- Università
- University of Pennsylvania
- aggiornato
- uso
- caso d'uso
- utilizzato
- Utente
- Interfaccia utente
- usa
- utilizzando
- utilità
- Valori
- via
- Visita
- visualizzazione
- vp
- volere
- Prima
- we
- sito web
- servizi web
- WELL
- sono stati
- ogni volta che
- quale
- while
- OMS
- tutto
- con
- entro
- senza
- Lavora
- lavorare insieme
- Forza lavoro
- lavori
- sarebbe
- scrivere
- WSJ
- anno
- anni
- zefiro