Ceci est un article de blog invité co-écrit avec Zack Rossman d'Alcion.
Alcion, une plate-forme de sauvegarde en tant que service (BaaS) axée sur la sécurité et axée sur l'IA, aide les administrateurs Microsoft 365 à protéger rapidement et intuitivement les données contre les cybermenaces et la perte accidentelle de données. En cas de perte de données, les clients d'Alcion doivent rechercher les métadonnées des éléments sauvegardés (fichiers, e-mails, contacts, événements, etc.) pour sélectionner des versions d'éléments spécifiques à restaurer. Alcion utilise Service Amazon OpenSearch pour fournir à leurs clients une capacité de recherche précise, efficace et fiable dans ce catalogue de sauvegarde. La plate-forme est multi-locataire, ce qui signifie qu'Alcion nécessite une isolation des données et une sécurité renforcée afin de garantir que les locataires ne peuvent rechercher que leurs propres données.
OpenSearch Service est un service entièrement géré qui facilite le déploiement, la mise à l'échelle et l'exploitation d'OpenSearch dans le cloud AWS. OpenSearch est une suite de recherche et d'analyse open source sous licence Apache-2.0, comprenant OpenSearch (un moteur de recherche, d'analyse et une base de données vectorielle), OpenSearch Dashboards (une interface utilisateur de visualisation et d'utilitaire) et des plugins qui fournissent des fonctionnalités avancées telles que l'entreprise sécurité de niveau supérieur, détection des anomalies, observabilité, alerte et bien plus encore. Amazon OpenSearch sans serveur est une option de déploiement sans serveur qui simplifie l'utilisation d'OpenSearch sans configurer, gérer et mettre à l'échelle les domaines du service OpenSearch.
Dans cet article, nous partageons comment l'adoption d'OpenSearch Serverless a permis à Alcion de répondre à ses exigences d'échelle, de réduire ses frais généraux opérationnels et de sécuriser les données de ses locataires en appliquant isolement des locataires dans leur environnement multi-locataires.
Domaines gérés par le service OpenSearch
Pour la première itération de son architecture de recherche, Alcion a choisi l'option de déploiement de domaines gérés dans OpenSearch Service et a pu lancer sa fonctionnalité de recherche en production en moins d'un mois. Pour répondre à leurs exigences en matière de sécurité, d'échelle et de location, ils ont stocké les données de chaque locataire dans un index dédié et utilisé contrôle d'accès précis dans OpenSearch Service pour empêcher les fuites de données entre locataires. Au fur et à mesure que leur charge de travail évoluait, les ingénieurs d'Alcion suivaient l'utilisation du domaine OpenSearch via le Amazon Cloud Watch métriques, apportant des modifications pour augmenter le stockage et optimiser leurs ressources de calcul.
L'équipe d'Alcion a utilisé plusieurs fonctionnalités des domaines gérés OpenSearch Service pour améliorer sa position opérationnelle. Ils ont introduit les alias d'index, qui fournissent un nom d'alias unique pour accéder (lecture et écriture) à plusieurs index sous-jacents. Ils ont également configuré Gestion de l'état de l'index (ISM) pour les aider à contrôler le cycle de vie de leurs données en faisant défiler les index en fonction de la taille de l'index. Ensemble, les stratégies ISM et les alias d'index étaient nécessaires pour mettre à l'échelle les index des grands locataires. Alcion a également utilisé modèles d'index de définir les shards par index (partitionnement) de leurs données afin d'automatiser leur cycle de vie des données et d'améliorer les performances et la stabilité de leurs domaines.
Le diagramme d'architecture suivant montre comment Alcion a configuré ses domaines gérés OpenSearch.
Le schéma suivant montre comment les données Microsoft 365 ont été indexées et interrogées à partir d'index spécifiques au locataire. Alcion a mis en œuvre l'authentification des demandes en fournissant les informations d'identification de l'utilisateur principal d'OpenSearch avec chaque demande d'API.
Présentation d'OpenSearch Serverless et options de modèle de location
Les domaines gérés par OpenSearch Service ont fourni une base stable pour la fonctionnalité de recherche d'Alcion, mais l'équipe devait fournir manuellement des ressources aux domaines pour leur charge de travail maximale. Cela laissait de la place pour des optimisations de coûts, car la charge de travail d'Alcion est sporadique : il existe de grandes variations dans le nombre de transactions de recherche et d'indexation par seconde, à la fois pour un seul client et dans son ensemble. Pour réduire les coûts et la charge opérationnelle, l'équipe s'est tournée vers OpenSearch Serverless, qui offre une capacité de mise à l'échelle automatique.
Pour utiliser OpenSearch Serverless, la première étape consiste à créer une collection. UN collection est un groupe d'index OpenSearch qui fonctionnent ensemble pour prendre en charge une charge de travail ou un cas d'utilisation spécifique. Les ressources de calcul d'une collection, appelées unités de calcul OpenSearch (OCU), sont partagées entre toutes les collections d'un compte qui partagent une clé de chiffrement. Le pool d'OCU est automatiquement augmenté et réduit pour répondre aux exigences du trafic d'indexation et de recherche.
Le niveau d'effort requis pour migrer d'un domaine géré OpenSearch Service vers OpenSearch Serverless était gérable grâce au fait que les collections OpenSearch Serverless prennent en charge les mêmes API et bibliothèques OpenSearch que les domaines gérés OpenSearch Service. Cela a permis à Alcion de se concentrer sur l'optimisation du modèle de location pour la nouvelle architecture de recherche. Plus précisément, l'équipe devait décider comment partitionner les données des locataires dans les collections et les index tout en équilibrant la sécurité et le coût total de possession. Les ingénieurs d'Alcion, en collaboration avec l'équipe OpenSearch Serverless, considéré trois modèles de location:
- Modèle en silo : créer une collection pour chaque locataire
- Modèle de pool : créer une seule collection et utiliser un seul index pour plusieurs locataires
- Modèle de pont : créer une seule collection et utiliser un seul index par locataire
Les trois choix de conception présentaient des avantages et des compromis qui devaient être pris en compte pour concevoir la solution finale.
Modèle en silo : créer une collection pour chaque locataire
Dans ce modèle, Alcion créerait une nouvelle collection chaque fois qu'un nouveau client serait intégré à sa plateforme. Bien que les données des locataires soient clairement séparées entre les collections, cette option a été disqualifiée car le temps de création de la collection signifiait que les clients ne pouvaient pas sauvegarder et rechercher des données immédiatement après l'enregistrement.
Modèle de pool : créer une seule collection et utiliser un seul index pour plusieurs locataires
Dans ce modèle, Alcion créerait une seule collection par compte AWS et indexerait les données spécifiques au locataire dans l'un des nombreux index partagés appartenant à cette collection. Au départ, le regroupement des données des locataires dans des index partagés était intéressant du point de vue de l'échelle, car cela permettait d'optimiser l'utilisation des ressources d'index. Mais après une analyse plus approfondie, Alcion a constaté qu'ils seraient bien en deçà du quota d'index par collection même s'ils allouaient un index à chaque locataire. Une fois ce problème d'évolutivité résolu, Alcion a opté pour la troisième option, car le cloisonnement des données des locataires dans des index dédiés entraîne une meilleure isolation des locataires que le modèle d'index partagé.
Modèle de pont : créer une seule collection et utiliser un seul index par locataire
Dans ce modèle, Alcion créerait une seule collection par compte AWS et créerait un index pour chacun des centaines de locataires gérés par ce compte. En affectant chaque locataire à un index dédié et en regroupant ces index dans une seule collection, Alcion a réduit le temps d'intégration des nouveaux locataires et a cloisonné les données des locataires dans des compartiments bien séparés.
Implémentation d'un contrôle d'accès basé sur les rôles pour la prise en charge de la multilocation
OpenSearch Serverless offre un ensemble de contrôles de sécurité multipoints et héritables, couvrant l'accès aux données, l'accès au réseau et le cryptage. Alcion a pleinement profité d'OpenSearch Serverless politiques d'accès aux données pour implémenter le contrôle d'accès basé sur les rôles (RBAC) pour chaque index spécifique au locataire avec les détails suivants :
- Allouez un index avec un préfixe commun et l'ID de locataire (par exemple,
index-v1-<tenantID>
) - Créer un espace dédié Gestion des identités et des accès AWS (IAM) rôle utilisé pour signer les demandes à la collection OpenSearch Serverless
- Créer une politique d'accès aux données OpenSearch Serverless qui accorde des autorisations de lecture/écriture de document dans un index de locataire dédié au rôle IAM pour ce locataire
- Les demandes d'API OpenSearch adressées à un index de locataire sont signées avec des informations d'identification temporaires appartenant au rôle IAM spécifique au locataire
Voici un exemple de stratégie d'accès aux données OpenSearch Serverless pour un locataire fictif avec ID t-eca0acc1-12345678910
. Cette stratégie accorde au document de rôle IAM un accès en lecture/écriture au locataire dédié.
Le diagramme d'architecture suivant décrit comment Alcion a implémenté l'indexation et la recherche de ressources Microsoft 365 à l'aide de l'approche de collecte partagée OpenSearch Serverless.
Voici l'exemple d'extrait de code permettant d'envoyer une demande d'API à une collection OpenSearch Serverless. Remarquez comment le client d'API est initialisé avec un objet signataire qui signe les demandes avec le même mandataire IAM qui est lié à la politique d'accès aux données OpenSearch Serverless à partir de l'extrait de code précédent.
Conclusion
En mai 2023, Alcion a déployé son architecture de recherche basée sur la collection partagée et le modèle d'index dédié par locataire dans tous les environnements de production et de préproduction. L'équipe a pu supprimer le code complexe et les processus opérationnels qui avaient été dédiés à la mise à l'échelle des domaines gérés OpenSearch Service. De plus, grâce aux capacités de mise à l'échelle automatique d'OpenSearch Serverless, Alcion a réduit ses coûts OpenSearch de 30 % et s'attend à ce que le profil de coût évolue favorablement.
Dans son parcours du service OpenSearch géré au service sans serveur, Alcion a bénéficié de son choix initial de domaines gérés OpenSearch Service. Lors de la migration vers l'avant, ils ont pu réutiliser les mêmes API et bibliothèques OpenSearch pour leurs collections OpenSearch Serverless que celles qu'ils utilisaient pour leur domaine géré OpenSearch Service. De plus, ils ont mis à jour leur modèle de location pour tirer parti des politiques d'accès aux données OpenSearch Serverless. Avec OpenSearch Serverless, ils ont pu s'adapter sans effort aux besoins d'échelle de leurs clients tout en assurant l'isolement des locataires.
Pour plus d'informations sur Alcion, visitez leur site de NDN Collective.
À propos des auteurs
Zack Rossman est membre du personnel technique d'Alcion. Il est le responsable technique des plateformes de recherche et d'IA. Avant Alcion, Zack était ingénieur logiciel senior chez Okta, développant des produits de base de gestion des identités et des accès de la main-d'œuvre pour l'équipe des annuaires.
Niraj Jetly est responsable du développement logiciel pour Amazon OpenSearch Serverless. Niraj dirige plusieurs équipes de plans de données responsables du lancement d'Amazon OpenSearch Serverless. Avant AWS, Niraj a dirigé plusieurs équipes de produits et d'ingénierie en tant que directeur technique, vice-président de l'ingénierie et responsable de la gestion des produits pendant plus de 15 ans. Niraj est récipiendaire de plus de 15 prix de l'innovation, notamment en étant nommé CIO de l'année en 2014 et parmi les 100 meilleurs CIO en 2013 et 2016. Conférencier fréquent lors de plusieurs conférences, il a été cité dans NPR, WSJ et The Boston Globe.
Jon Gestionnaire est architecte principal principal de solutions chez Amazon Web Services basé à Palo Alto, en Californie. Jon travaille en étroite collaboration avec OpenSearch et Amazon OpenSearch Service, fournissant de l'aide et des conseils à un large éventail de clients qui ont des charges de travail de recherche et d'analyse de journaux qu'ils souhaitent déplacer vers le cloud AWS. Avant de rejoindre AWS, la carrière de Jon en tant que développeur de logiciels comprenait 4 ans de codage d'un moteur de recherche de commerce électronique à grande échelle. Jon est titulaire d'un baccalauréat ès arts de l'Université de Pennsylvanie et d'une maîtrise ès sciences et d'un doctorat en informatique et en intelligence artificielle de l'Université Northwestern.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- PlatoData.Network Ai générative verticale. Autonomisez-vous. Accéder ici.
- PlatoAiStream. Intelligence Web3. Connaissance Amplifiée. Accéder ici.
- PlatonESG. Automobile / VE, Carbone, Technologie propre, Énergie, Environnement, Solaire, La gestion des déchets. Accéder ici.
- Décalages de bloc. Modernisation de la propriété des compensations environnementales. Accéder ici.
- La source: https://aws.amazon.com/blogs/big-data/alcion-supports-their-multi-tenant-platform-with-amazon-opensearch-serverless/
- :possède
- :est
- $UP
- 10
- 100
- 15 ans
- 15%
- 16
- 2013
- 2014
- 2016
- 2023
- a
- Capable
- A Propos
- accès
- Gestion des accès
- Compte
- Avec cette connaissance vient le pouvoir de prendre
- à travers
- adapter
- En outre
- adresses
- administrateurs
- L'adoption d'
- Avancée
- Avantage
- Après
- AI
- Tous
- consacrée
- permettre
- permis
- aussi
- Bien que
- Amazon
- Amazon Web Services
- an
- selon une analyse de l’Université de Princeton
- analytique
- ainsi que
- Détection d'une anomalie
- api
- Apis
- une approche
- architecture
- SONT
- artificiel
- intelligence artificielle
- Les arts
- AS
- At
- attrayant
- Authentification
- auto
- automatiser
- automatiquement
- prix
- AWS
- BaaS
- RETOUR
- sauvegarde
- équilibrage
- basé
- BE
- car
- était
- va
- avantages.
- jusqu'à XNUMX fois
- Blog
- corps
- boston
- tous les deux
- vaste
- fardeau
- mais
- by
- CA
- appelé
- CAN
- capacités
- aptitude
- Carrière
- maisons
- catalogue
- Modifications
- le choix
- choix
- choisir
- CIO
- client
- étroitement
- le cloud
- code
- Codage
- collaboration
- collection
- collections
- Commun
- complexe
- comprenant
- calcul
- ordinateur
- Informatique
- PROBLÈMES DE PEAU
- conférences
- configurée
- considéré
- Contacts
- contexte
- des bactéries
- contrôles
- Core
- Prix
- Costs
- couvrant
- engendrent
- La création
- création
- Lettres de créance
- CTO
- des clients
- Clients
- cyber
- tableaux de bord
- données
- accès aux données
- La perte de données
- Base de données
- décider
- dévoué
- Réglage par défaut
- demandes
- déployer
- déploiement
- la description
- Conception
- conception
- détails
- Détection
- Développeur
- développement
- Développement
- répertoires
- document
- INSTITUTIONNELS
- domaine
- domaines
- down
- chacun
- Easy
- e-commerce
- efficace
- effort
- emails
- activé
- chiffrement
- l'application
- Moteur
- ingénieur
- ENGINEERING
- Les ingénieurs
- assurer
- assurer
- niveau entreprise
- Environment
- environnements
- erreur
- Erreurs
- Ether (ETH)
- Pourtant, la
- événement
- événements
- évolué
- exemple
- attend
- fait
- Fonctionnalités:
- Fichiers
- finale
- Prénom
- Focus
- Abonnement
- Pour
- Avant
- trouvé
- Fondation
- fréquent
- De
- plein
- d’étiquettes électroniques entièrement
- plus
- En outre
- obtention
- GitHub
- globe
- subventions
- Réservation de groupe
- GUEST
- Blog invité
- l'orientation
- ait eu
- Vous avez
- he
- front
- vous aider
- aide
- détient
- Comment
- How To
- HTML
- http
- HTTPS
- Des centaines
- IAM
- ID
- Identite
- gestion des identités et des accès
- if
- immédiatement
- Mettre en oeuvre
- mis en œuvre
- importer
- améliorer
- in
- inclus
- Y compris
- Améliore
- indice
- indexé
- index
- d'information
- initiale
- possible
- Innovation
- prix de l'innovation
- Intelligence
- Interfaces
- développement
- introduit
- seul
- IT
- articles
- itération
- SES
- joindre
- jon
- chemin
- jpg
- json
- ACTIVITES
- gros
- grande échelle
- lancer
- lancement
- conduire
- Conduit
- Fuites
- LED
- à gauche
- moins
- Niveau
- bibliothèques
- vos produits
- comme
- lié
- chargement
- enregistrer
- perte
- FAIT DU
- Fabrication
- gérés
- gestion
- manager
- les gérer
- manuellement
- de nombreuses
- maître
- Match
- Mai..
- veux dire
- signifiait
- Découvrez
- membre
- Métadonnées
- Métrique
- Microsoft
- Microsoft 365
- émigrer
- migrer
- modèle
- Mois
- PLUS
- (en fait, presque toutes)
- Bougez
- beaucoup
- plusieurs
- prénom
- Nommé
- nécessaire
- Besoin
- nécessaire
- Besoins
- réseau et
- L'accès au réseau
- Nouveauté
- Northwestern University
- Remarquer..
- nombre
- objet
- of
- Offres Speciales
- OKTA
- on
- Onboarding
- ONE
- uniquement
- open source
- fonctionner
- opérationnel
- Optimiser
- l'optimisation
- Option
- or
- Oss
- ande
- plus de
- vue d'ensemble
- propre
- possession
- page
- Palo Alto
- Courant
- Pennsylvanie
- /
- performant
- autorisation
- autorisations
- objectifs
- plateforme
- Plateformes
- Platon
- Intelligence des données Platon
- PlatonDonnées
- plugins
- politiques
- politique
- pool
- Post
- empêcher
- précédent
- primaire
- Directeur
- Avant
- les process
- Produit
- gestion des produits
- Vidéo
- Produits
- Profil
- protéger
- fournir
- à condition de
- de voiture.
- aportando
- disposition
- vite.
- gamme
- Lire
- Reader
- réduire
- Prix Réduit
- Inscription
- fiable
- nécessaire
- demandes
- conditions
- Exigences
- a besoin
- résolu
- ressource
- Resources
- réponse
- responsables
- restaurer
- Résultats
- retourner
- réutiliser
- Rôle
- Roulés
- Roulant
- Salle
- même
- Évolutivité
- Escaliers intérieurs
- mise à l'échelle
- Sciences
- portée
- Rechercher
- moteur de recherche
- recherche
- Deuxièmement
- sécurisé
- sécurité
- envoi
- supérieur
- Sans serveur
- service
- Services
- set
- plusieurs
- Partager
- commun
- Spectacles
- signer
- signé
- Signes
- étapes
- unique
- Taille
- Fragment
- So
- Logiciels
- développement de logiciels
- Software Engineer
- sur mesure
- Solutions
- Speaker
- groupe de neurones
- spécifiquement
- Stabilité
- stable
- L'équipe
- Région
- étapes
- storage
- stockée
- Chaîne
- STRONG
- plus efficacement
- suite
- Support
- Appuyer
- Les soutiens
- Prenez
- tâches
- équipe
- équipes
- technologie
- Technique
- temporaire
- locataire
- que
- à
- qui
- La
- leur
- Les
- Ces
- l'ont
- Troisièmement
- this
- des menaces
- trois
- fiable
- à
- ensemble
- a
- top
- Total
- circulation
- Transactions
- transactions par seconde
- Tourné
- sous-jacent
- unités
- université
- Université de Pennsylvanie
- a actualisé
- utilisé
- cas d'utilisation
- d'utiliser
- Utilisateur
- Interface utilisateur
- Usages
- en utilisant
- utilitaire
- Valeurs
- via
- Visiter
- visualisation
- vp
- souhaitez
- était
- we
- web
- services Web
- WELL
- ont été
- chaque fois que
- qui
- tout en
- WHO
- la totalité
- comprenant
- dans les
- sans
- activités principales
- travailler ensemble
- Nos inspecteurs
- vos contrats
- pourra
- écrire
- WSJ
- an
- années
- zéphyrnet