Tout comme la concurrence, Microsoft veut pousser les bases de données dans le cloud. Depuis plusieurs années, l’éditeur élabore donc une plateforme de données sur Azure en améliorant et en ajoutant différents services pour construire des applications nativement cloud. On ne s’étonnera donc pas que lors de la conférence développeurs Build, Microsoft ait fait plusieurs annonces sur cette plateforme.
Un registre immuable pour Azure SQL
L'un des éléments les plus étonnants concerne le lancement d'une fonctionnalité de registre immuable dans Azure SQL. Cette innovation peut expliquer la décision prise par Microsoft de fermer le service Azure Blockchain. La majorité du développement de la blockchain dans les entreprises s'est concentrée sur son rôle de source immuable de données de transaction, quand les systèmes et les processus ont besoin de garder une trace fiable de ce qui a été fait et par qui. C'est là qu'interviennent les registres modernes, qui permettent de créer un modèle de vérification de type blockchain. Cette fois cependant, le registre n'est qu'une table de plus dans une base de données courante avec la capacité de fournir l’élément de confiance sans nécessiter une refonte et un redéveloppement complets de l’application.
Il n'y a aucun intérêt à remplacer une base de données existante par une blockchain complexe et relativement lente, s’il est possible d'ajouter une table de registre cryptographiquement sécurisée à une base de données existante pour gérer ces données. Inutile également d'acquérir d’autres compétences ou de mettre en œuvre d’autres outils, puisque tout cela fait partie du serveur SQL fonctionnant sur Azure. La mise à jour des applications existantes pour ajouter ces registres ne nécessite pas non plus de nouveau code. Tout peut être géré à l'intérieur de la base de données par des développeurs et des administrateurs de bases de données, avec les outils de gestion existants.
Utiliser les ledger Azure SQL dans ses applications
Le fait de disposer d'un tel registre dans une base de données Azure SQL permet de s’assurer que les datas n'ont pas été modifiées. Un tel outil peut aider l’entreprise à se conformer aux réglementations (en particulier si des audits sont nécessaires) et à réduire le risque de modification malveillante des données pour masquer une fraude ou d'autres délits financiers. La table du registre contient un hachage cryptographique des transactions pouvant être lui-même stocké en dehors de la base de données dans les services de stockage inviolables existants d'Azure, offrant ainsi une protection supplémentaire. Les tables de registre d'Azure SQL ne prennent en charge que les registres actualisables et les registres à ajout unique dit « append-only ». Les premiers enregistrent la façon dont les données d'une base de données ont été modifiées. Par exemple, ils peuvent suivre les changements apportés à un compte bancaire ou à un inventaire de produits. Ils permettent ainsi de voir les opérations de suppression et d'insertion utilisées pour mettre à jour une table gérée, ainsi que les identifiants de transaction associés. Un registre « append-only », lui, bloque les opérations de mise à jour et de suppression, et ne prend en charge que les modèles d'insertion. Cela réduit la complexité de la structure du registre, mais limite les cas d’usage à un comportement de type blockchain.
L'utilisation d'un registre « append-only » avec SQL Azure facilite la construction d’applications blockchain semblables à celles proposées par le service Azure blockchain, et de déléguer à des partenaires de confiance la gestion des structures de données immuables qui capturaient les échanges de données informatisés (EDI) ou des transactions commerciales similaires. Cependant, en évitant le coût associé aux structures de données distribuées, il est possible de bénéficier de bien meilleures performances tout en profitant des avantages de sécurité de la blockchain (et de réduire également les besoins en énergie inhérents aux systèmes de validation par preuve de travail). Le concept de registre d'Azure SQL est similaire au projet Hyperledger de la Fondation Linux, mais il vise à fournir une meilleure intégrité et sécurité des transactions dans un environnement purement SQL. Un registre SQL Azure est capable de revenir en arrière au niveau de chaque transaction, et donc de repérer les erreurs et d'offrir un niveau de confiance actuellement inexistant.
Travailler avec les registres Azure SQL à l'échelle
Certains problèmes subsistent avec le modèle de registre Azure SQL, car le travail dépend toujours des entrepôts monolithiques. Même s’il est possible d’utiliser ce registre avec une base de données à l’échelle dans une seule région à l'aide de SQL Hyperscale, en répartissant géographiquement sa base de données de manière élastique, chaque région aura besoin de son propre registre pour prendre en charge les transactions locales. Actuellement, le registre n'est pas conçu pour fonctionner avec des transactions distribuées et si l’on prévoit de construire un système qui utilise cette approche, il est sans doute préférable de s’orienter vers une solution de type Cosmos DB et de construire son propre système de registre à l’intérieur de son application.
Le fait de disposer de plusieurs registres distincts ne devrait pas poser de problème pour les applications distribuées, car les données associées à un shard spécifique se trouveront dans un registre spécifique, et à mesure que d’autres shards sont déployés, d’autres registres peuvent être ajoutés. Il sera nécessaire d'assurer le suivi de ces registres, mais cela devrait être possible grâce aux outils Azure SQL et au portail Azure.
Sécurisation des bases de données open source sur Azure
Une plateforme de confiance a également besoin de sécurité, et Azure a déployé davantage de fonctionnalités pour Defender, son outil de protection active des charges de travail dans le cloud. La version build prend en charge un plus grand nombre de bases de données que la version actuelle d'Azure SQL. La dernière version ajoute un aperçu public pour les services PostgreSQL et MySQL d'Azure. Parce qu’il s’exécute en dehors des applications, Defender fournit un flux de données de sécurité au tableau de bord Azure Security Center au niveau duquel on peut surveiller ses applications pour détecter les signes annonciateurs d'attaques. Azure Defender s'appuie sur la plateforme Security Graph non seulement pour identifier les attaques connues, mais pour mettre aussi en évidence les anomalies qui peuvent révéler des attaques en cours. L'ajout d'une sécurité supplémentaire aux bases de données réduit le risque de brèches et de fuites de données, en montrant à quel niveau les bases de données sont potentiellement vulnérables et en fournissant des conseils sur les mesures d'atténuation appropriées à mettre en place.
Mise à jour de Cosmos DB pour sécuriser les données
Dans cette série de mises à jour pour Azure, Microsoft n’a pas négligé ses services essentiels. Sa base de données distribuée Cosmos prend désormais en charge les données toujours cryptées, ce qui permet de chiffrer les données avant qu'elles ne soient stockées dans des documents JSON, verrouillant ainsi les données confidentielles. Grâce à la disponibilité générale de l'outil de contrôle d'accès basé sur les rôles de Cosmos DB, il est désormais possible de garantir que seules les personnes autorisées auront accès aux données, et même si des intrus ou des logiciels malveillants obtiennent un accès non autorisé, ces données sont inutilisables sans les bonnes clés de chiffrement. En plus de ce renforcement de la sécurité, Cosmos DB prend en charge un cache intégré en mémoire qui peut réduire les appels à l'instance opérationnelle sous-jacente de Cosmos DB. Ce cache, qui se comporte de façon similaire au Redis Cache, devrait permettre de limiter les coûts, puisqu'il est facturé à un taux horaire fixe.
Outre l'accès sécurisé aux données, l'outil d'analyse Synapse d'Azure bénéficie d'un lien no-code avec Dynamics 365 et le Dataverse de Power Platform. Destinée à héberger les données opérationnelles des systèmes métiers (et à être reliée à des plateformes tierces conformes à la norme Open Data, comme SAP et Marketing Cloud d'Adobe), l'intégration de Dataverse à Synapse offrira davantage de possibilités aux analystes et aux développeurs métiers. Les sources de données du cloud et de l'entreprise peuvent être réunies et utilisées avec la plateforme de développement d'Azure, fournissant notamment de grands ensembles de données étiquetées pour l'entraînement de nouveaux systèmes d'apprentissage machine et la personnalisation des modèles préconstruits Cognitive Services d'Azure.
L’ensemble des fonctionnalités annoncées par Microsoft pour la plateforme de données sur Azure apporte aux développeurs de livrer des applications fiables à l'échelle du cloud. Il faut s’attendre à beaucoup de nouveautés dans ce domaine, en conjonction avec d'autres fonctionnalités d'Azure, comme la gestion améliorée des API, des services d'apprentissage machine supplémentaires, de nouveaux tiers bon marché et gratuits pour de nombreux services, et davantage de services applicatifs. Autant d’ajouts qui devraient rendre la plateforme plus attractive pour le développement et l'exécution d'applications critiques pour l'entreprise.