À l’ère actuelle axée sur les données, il est essentiel de concevoir des plates-formes de données pour aider les entreprises à favoriser l’innovation et à être compétitives sur le marché. La sélection d’un ensemble d’outils et d’une architecture robustes et évolutifs nécessite un équilibre entre les préoccupations purement technologiques et les contraintes plus larges du projet. Ces contraintes incluent les défis concernant les réglementations, les compétences existantes de la main-d’œuvre, l’acquisition de talents, les délais convenus et les processus établis de votre entreprise.
Une plate-forme de données moderne est l’ensemble des technologies, de la configuration et des détails de mise en œuvre qui permettent de stocker et de déplacer les données dans les systèmes de l’entreprise pour répondre aux besoins de l’entreprise. La méthodologie SOFT introduit une approche, basée sur quatre piliers, pour définir des plateformes de données pérennes et efficaces qui sont évolutives, observables, rapides et dignes de confiance. Son objectif est de permettre aux architectes de données et aux décideurs d’évaluer à la fois les implémentations actuelles et les architectures futures selon un ensemble de critères différent.
- Évolutif : la capacité d’une solution à gérer la variabilité des volumes de charge, des cas d’utilisation, des plates-formes de développement et des coûts.
- Observable: Existe-t-il des options autour de la surveillance des services et de la découverte des ressources de données ?
- Rapide: analyser le temps nécessaire pour fournir des données, développer des pipelines et résoudre des problèmes.
- Fiable: la capacité de fournir des résultats sûrs, vérifiables et cohérents.
Le reste du blog examine chacun des piliers en détail, fournissant l’ensemble des questions à aborder lors d’une évaluation pour chaque pilier.
Évolutif
Les volumes de données et les cas d’utilisation augmentent chaque jour à un rythme sans précédent, nous devons donc trouver des solutions technologiques qui prennent en charge l’ensemble actuel d’exigences et ont la capacité de escalader dans différentes directions.
Mise à l’échelle technologique
Concevoir une solution avec un espace pour la croissance. Définir le besoin actuel et prévoir la croissance future peut nous aider à comprendre si et quand nous atteindrons les limites d’une certaine architecture. Le cloud moderne permet des mise à l’échelle verticale, en créant des serveurs plus volumineux, mais la haute disponibilité et les basculements rapides sont également des considérations importantes. Technologies prenant en charge mise à l’échelle horizontalerépartissant la charge entre les nœuds, offrent généralement une plus grande variété d’options d’augmentation/réduction des effectifs en fonction des besoins, mais celles-ci peuvent entraîner des compromis de cohérence.
En plus de la mise à l’échelle brute, nous devons également tenir compte de la options d’automatisation et le temps de mise à l’échelle. Nous devrions pouvoir augmenter/réduire une plate-forme de données à la fois manuellement si un un pic de trafic est prévuet automatiquement lorsque certaines surveillances les seuils sont dépassés. Le temps de mise à l’échelle est également crucial : le maintenir au minimum permet à la fois une meilleure élasticité et moins de gaspillage de ressources.
Lors de l’examen de la mise à l’échelle de la technologie, nous devons avoir une évaluation large de l’outillage : non seulement l’instance principale, mais également la haute disponibilité, la possibilité de répliques en lecture seule, ainsi que la robustesse et la rapidité des processus de sauvegarde et de restauration.
Mise à l’échelle des analyses de rentabilisation
Chaque entreprise dispose d’une collection de données en croissance constante. Par conséquent, une solution de plate-forme de données doit avoir à la fois une faible barrière d’entrée pour les nouveaux cas d’utilisation et une capacité suffisante pour prendre en charge leur solution.
La disponibilité d’excellentes intégrations est cruciale pour que la solution prenne en charge davantage de cas d’utilisation et de nouvelles technologies. Correct, évolutif gestion de la sécurité et l’isolement des cas d’utilisation est nécessaire pour se conformer à la réglementation relative à la protection des données. Nous avons également besoin de pouvoir séparer nos îlots de données.
Pour encore plus de succès en matière de données, fournir des interfaces pour explorer les ensembles de données déjà disponibles favorise la réutilisation des données dans différents cas d’utilisation et accélère l’innovation.
Mise à l’échelle humaine
Peu importe le degré d’automatisation en place, les plateformes de données ont besoin d’humains pour construire, tester et surveiller de nouveaux pipelines. Lors de la sélection d’une solution de données, nous devons évaluer les compétences et l’expérience de l’équipe actuelle, ainsi que le coût possible de la croissance en fonction des zones géographiques où l’entreprise opère.
La sélection de solutions de données open source bien adoptées est associée à de plus grands bassins de talents et à des développeurs plus enthousiastes. L’utilisation de solutions gérées offrant des intégrations prédéfinies et des fonctionnalités étendues peut aider en allégeant une partie du fardeau de l’équipe, permettant aux humains de se concentrer sur la construction plutôt que sur la maintenance.
Mise à l’échelle financière
La dernière partie de l’évolutivité est liée à l’argent. Une solution de données techniquement parfaitement valide ne peut être adoptée si elle n’est pas financièrement viable. Comprendre le dollar à l’échelle ratio est très important, ainsi que la cartographie des changements futurs dans l’architecture qui pourraient augmenter considérablement les coûts.
Nous devons calculer la dérivée du coût, en visant des solutions qui peuvent évoluer de manière linéaire (ou, espérons-le, moins) avec la quantité de données.
Questions a poser:
- Quelles sont les options pour faire évoluer cette technologie, verticalement et horizontalement ?
- Est-il facile d’ajouter de nouvelles technologies ?
- Comment gérer la sécurité des données ?
- Quelle est l’expérience actuelle de l’équipe ?
- Quelle est la taille du vivier de talents ?
- Quelle est la complexité de la gestion par rapport au développement ?
- Est-il facile d’ajouter/d’extraire de nouvelles données ou de les intégrer à d’autres technologies ?
- Combien coûtera la mise à l’échelle ? Est-ce qu’il croît linéairement avec le volume de données ?
Le risque de ne pas évaluer l’évolutivité financière est de construire un système parfait qui fonctionne maintenant, mais qui ne peut pas faire face au succès futur de notre entreprise ou de notre cas d’utilisation.
Observable
L’ancien temps de vérification de l’état des lots à 8 heures du matin est révolu : les plates-formes de données modernes et les nouveaux pipelines de données en continu sont des « systèmes en direct » où la surveillance, la compréhension des erreurs et l’application rapide des correctifs sont nécessaires pour fournir des résultats positifs.
Moniteur
Vérifier l’état de fin du pipeline de données sur un tableau de bord ne suffit pas, il faut avoir des méthodes pour définir facilement :
- métriques et intégration des journaux
- des agrégations et des KPI (Key Performance Indicators) pertinents
- seuils d’alerte
- notifications automatiques
S’appuyer sur un humain regardant un écran n’est pas une grande utilisation des ressources et n’est pas évolutif. L’automatisation de l’observabilité de la plateforme et la sélection d’outils permettant une surveillance externe précise permettent aux entreprises de centraliser les efforts de gestion.
Recréez la vue à vol d’oiseau
Avec l’ajout constant de nouveaux pipelines et de nouvelles technologies, il est difficile de tenir un inventaire de tous vos actifs de données et de la manière dont ils s’intègrent les uns aux autres. Une solution de données évolutive doit fournir une collecte, une consolidation et une exposition automatiques des actifs de données et de leur interconnexion.
Il est essentiel de pouvoir retracer la provenance d’un certain point de données. Nous devrions être en mesure d’établir quelles transformations ont été effectuées, où les données existent et qui ou quoi peut interagir avec elles à tout moment du pipeline. Ces informations vont nous aider à nous conformer aux exigences de sécurité et de confidentialité, en particulier la lignée des données, la sécurité, les évaluations d’impact et les requêtes GDPR.
L’obtention d’une carte mondiale interrogeable des actifs de données offre des avantages supplémentaires en matière de réutilisation des données : en exposant les actifs déjà présents dans une entreprise, nous pouvons éviter les efforts répétés en matière de données et promouvoir la réutilisation des données dans tous les départements pour une innovation plus rapide.
Relecture de l’historique et gestion des versions des données
Avec des systèmes en constante évolution, la possibilité de rejouer des parties de l’historique offre des moyens de créer des lignes de base et de comparer les résultats. Ceux-ci peuvent aider à détecter la régression ou les erreurs dans les nouveaux développements et à évaluer l’impact des changements dans l’architecture.
La création facile de nouveaux environnements de développement « prod-like » permet une itération plus rapide, une validation d’hypothèses plus sûre et des tests plus précis.
Avoir une capacité de « version de données » nous permet de comparer les résultats de la manipulation des données à travers les étapes de développement ; l’ajout du « metrics versioning » contenant les statistiques d’exécution permet une meilleure gestion (et éventuellement automatique) des régressions de performances.
Questions a poser:
- Que se passe-t-il maintenant dans ma plateforme de données ?
- Est-ce que tout fonctionne bien ? Y a-t-il des retards?
- Quels actifs de données ai-je dans mon entreprise ?
- Comment mes données sont-elles transformées dans l’entreprise ?
- Puis-je rejouer une partie des pipelines en cas d’erreurs de traitement ?
- Comment un changement se comporte-t-il par rapport à une ligne de base ?
Rapide
Du micro-batching au streaming, le délai de livraison des données tend vers le temps réel. L’ancien temps des rapports sur les données d’hier est révolu, nous devons être en mesure de rendre compte en temps quasi réel de ce qui se passe actuellement dans notre entreprise, sur la base de nouvelles données.
Temps de développement
Fournir des données en temps quasi réel est inutile si le développement et le test de pipelines nécessitent des semaines de travail. La chaîne d’outils doit être en libre-service et conviviale. Pour y parvenir, il est crucial d’identifier les développeurs cibles et leurs compétences et de sélectionner un ensemble de technologies qui permettront à ce groupe de travailler rapidement, efficacement et avec bonheur. Une fois le cas d’utilisation défini, il convient également de vérifier les solutions existantes qui peuvent aider en supprimant une partie de la complexité du problème.
Investir du temps dans l’automatisation réduit les frictions et les retards dans le déploiement des pipelines de données. Les gens ne devraient pas perdre de temps à cliquer pour faire passer un prototype en production. Les vérifications automatisées et les pipelines de promotion devraient prendre en charge cette partie du parcours de l’artefact.
Délai de livraison
La sélection d’une architecture de données qui permet le streaming de données est essentielle pour créer des pipelines à l’épreuve du temps. La possibilité de passer du lot au streaming permet également d’améliorer les pipelines existants de manière itérative, plutôt que d’exiger une approche big bang.
Une partie intégrante de la Délai de livraison(y) est aussi le Temps d’exécution: les performances de la plate-forme que vous avez choisie doivent être évaluées par rapport aux chiffres de latence cibles.
Il est temps de récupérer
Enfin, il est d’une importance cruciale de définir ce qui est acceptable Il est temps de récupérer seuils lorsque les pipelines de données rencontrent des problèmes. Pour y parvenir, prenez le temps de comprendre, tester et vérifier ce que la chaîne d’outils sélectionnée a à offrir dans cet espace. Surtout lorsqu’il s’agit de transformations avec état, il est crucial de naviguer dans les options concernant les points de contrôle, …