Lorsque vous choisissez une base de données pour gérer votre organisation, vous devez tenir compte de nombreux facteurs. Fournit-elle les performances, l'évolutivité et la disponibilité requises ? Assure-t-elle la flexibilité et l'efficacité en prenant en charge toutes les charges de travail de l'entreprise ? Favorise-t-elle l'innovation en intégrant l'apprentissage automatique, des analyses avancées et des outils de développement d'applications ?
Les entreprises ont besoin d'un ensemble complet de fonctionnalités dans leurs applications afin de fournir le niveau de service attendu par leurs clients au sein d'un environnement professionnel en constante évolution. Il est essentiel de bien déterminer l'emplacement de déploiement des bases de données qui prennent en charge un portefeuille d'applications, car chaque option de déploiement présente des avantages et des inconvénients.
Lorsque vous choisissez l'emplacement de déploiement des bases de données dont votre organisation a besoin, il est important de tenir compte du type d'application pris en charge par chaque base de données, des flux de données entre les bases de données et les applications, ainsi que du niveau de criticité de chaque base de données. Les applications métier de base ont besoin de niveaux plus élevés de performances, d'évolutivité, de disponibilité et de sécurité. Quel que soit l'emplacement d'exécution de ces bases de données, elles doivent fournir des fonctionnalités clés, notamment les suivantes :
Au-delà de ces fonctionnalités de base de données, la plate-forme de déploiement permet ou restreint leur utilisation. Cependant, les bases de données d'entreprise doivent bénéficier d'une haute disponibilité intégrée aux niveaux logiciel et matériel pour prendre en charge les opérations 24h/24 et 7j/7. La récupération après sinistre est également essentielle, en particulier lorsqu'elle est confrontée à des organisations géographiquement dispersées et à des menaces de ransomware. Et, bien que de nombreuses personnes puissent l'ignorer, les performances élevées sont cruciales, car elles permettent aux applications stratégiques de prendre en charge les transactions et analyses volumineuses nécessaires pour assurer la croissance.
Par exemple, une entreprise de vente au détail qui doit permettre de nombreuses transactions client et exécuter des rapports en temps quasi réel sur les données actuelles peut choisir une solution de base de données convergée dans le cloud, tandis qu'une banque qui nécessite le niveau maximal de sécurité et de résidence des données peut avoir besoin d'une solution exécutée dans son propre data center.
Les entreprises doivent examiner non seulement les bases de données qui répondent le mieux à leurs besoins, mais aussi l'emplacement auquel déployer cette base de données. Ces choix sont interdépendants car une base de données particulière ne peut s'exécuter qu'à un seul emplacement, ou la plate-forme sur laquelle elle s'exécute à un emplacement est largement supérieure à la plate-forme disponible à un autre emplacement. Une façon simple de les combiner consiste à déterminer si la base de données préférée peut être exécutée aux emplacements souhaités, par exemple dans le cloud public, dans un data center privé, dans un cloud au sein du data center ou dans un environnement en périphérie.
Le déploiement de bases de données dans les data centers des clients offre plusieurs avantages. Les bases de données sont physiquement proches des autres systèmes, applications, ressources de données et utilisateurs pour permettre la consultation des données avec une faible latence. Dans un data center sur site, les bases de données et l'infrastructure sont entièrement sous le contrôle du client, ce qui répond aux exigences de résidence des données ainsi qu'à de nombreuses pratiques d'excellence du secteur. Certaines pratiques commerciales nécessitent également l'utilisation d'un modèle financier de dépenses d'investissement (CapEx), lequel est facilité par le déploiement de ressources dans les data centers des clients. Cette approche nécessite un administrateur de base de données (DBA) pour gérer l'infrastructure matérielle sous-jacente ainsi que la base de données.
Cette approche se décline en deux variantes :
Pour de nombreuses entreprises, l'exécution de leurs bases de données dans un cloud public est un choix attrayant. Il présente l'avantage d'être rapide à mettre en œuvre, sans nécessiter de capital initial. Les clouds publics fournissent également un certain niveau de gestion de l'infrastructure et des logiciels. Le déploiement sur un cloud public ne nécessite aucun investissement dans l'espace, les machines ou le personnel d'exploitation du matériel du data center, ce qui peut réduire les coûts. De plus, les utilisateurs peuvent créer des bases de données en quelques minutes, car il n'est pas nécessaire d'installer et de gérer séparément tous les composants matériels et logiciels pour exécuter la base de données. L'approche du cloud public permet aux clients d'exploiter facilement des ressources supplémentaires ou différentes au fil du temps à mesure que les charges de travail évoluent.
Lors de l'utilisation d'un cloud public, il existe différentes approches que les entreprises peuvent adopter et différents compromis pour chacune. Ces différentes approches sont déployées sur des environnements Infrastructure-as-a-Service (IaaS), Platform as-a-Service (PaaS), multicloud, des clouds publics dans les data centers des clients et des clouds privés.
L'une des approches consiste à créer un environnement de base de données dans le cloud sur une infrastructure bare metal ou virtualisée, puis à gérer cette infrastructure comme si elle était sur site. Cela permet à l'infrastructure d'être adaptée exactement comme souhaité et élimine la nécessité de gérer le matériel et potentiellement les logiciels de virtualisation. Un temps d'administration considérable, ainsi qu'une expertise en matière de gestion système sont nécessaires pour gérer cette implémentation de manière continue.
Il existe des raisons spécifiques de choisir cette approche :
Le déploiement de bases de données dans des environnements IaaS peut être préférable pour les entreprises qui utilisent des bases de données hautement spécialisées, en particulier pour celles qui sont petites, peu susceptibles de se développer et qui sont étroitement intégrées aux applications.
Également appelé Database-as-a-Service (DBaaS), ce type de service cloud fournit les logiciels de calcul, de stockage et de base de données dont les clients ont besoin pour exécuter une base de données. Certains de ces services éliminent la nécessité pour les administrateurs de base de données de configurer ou de gérer du matériel physique, l'installation de logiciels, ou encore de configurer la base de données. Un environnement DBaaS permet aux utilisateurs de provisionner des bases de données en quelques minutes, élimine le travail de gestion du système et réduit souvent la quantité d'administration de base de données requise. Il existe plusieurs options pour déployer des bases de données dans un environnement DBaaS :
Dans le cadre des approches de base de données convergée et de base de données autonome, les entreprises peuvent utiliser plusieurs types d'infrastructure :
Au-delà du choix de déploiement, les options de base de données convergée et autonome peuvent être optimisées pour gérer des types de charge de travail spécifiques tout en prenant en charge toutes les autres charges de travail. Voici certains de ces types de charge de travail :
Le déploiement de bases de données dans des environnements PaaS peut être préférable pour les entreprises qui souhaitent minimiser les opérations d'infrastructure et de gestion de base de données ou qui cherchent à réduire les coûts globaux en consolidant l'infrastructure pour des centaines à des milliers de bases de données. Les bases de données autonomes dans les environnements PaaS présentent l'avantage supplémentaire d'éliminer pratiquement la gestion de base de données elle-même, ce qui permet aux équipes de gestion des données de se concentrer sur les schémas, les données et les utilisateurs au lieu du logiciel de base de données sous-jacent.
Les grandes entreprises qui ont besoin d'exécuter des centaines d'applications ont constaté qu'il était préférable d'utiliser plusieurs clouds. Pour certains besoins de l'entreprise, la solution qui offre le plus de fonctionnalités, les performances les plus élevées et le coût le plus bas peut nécessiter la répartition de la pile d'applications et de bases de données sur plusieurs clouds dans ce qu'on appelle un environnement multicloud.
Dans les environnements multicloud, il est courant que le niveau d'application s'exécute dans un seul cloud (probablement parce qu'il s'exécute uniquement à cet emplacement) tandis que le niveau de base de données s'exécute sur un autre cloud qui offre des performances plus élevées, une plus grande évolutivité ou des coûts inférieurs à ceux du cloud où le niveau d'application est exécuté. Dans les environnements multicloud, il est essentiel que les data centers cloud de chaque fournisseur soient relativement proches les uns des autres afin de limiter la latence qui risquerait de réduire les performances des applications.
Il est également important que les différents fournisseurs de cloud utilisés dans une architecture multicloud aient une relation stratégique avec des stratégies de support communes pour identifier et résoudre les problèmes qui surviennent et minimiser les coûts de sortie des données pour chaque cloud.
Le déploiement de bases de données dans un environnement multicloud peut être préférable pour les entreprises qui ont besoin d'une base de données d'entreprise (ou peut-être autonome) hautes performances et qui doivent pouvoir utiliser des applications qui ne sont pas immédiatement disponibles dans le même cloud.
De nombreuses exigences commerciales ou réglementations gouvernementales exigent que les données d'une entreprise résident dans son data center ou dans les limites géographiques du pays dans lequel elle est implantée. Pour atteindre ces objectifs, les entreprises peuvent déployer des ressources de cloud public dans leur centre de données avec le fournisseur de cloud qui gère l'infrastructure et, en fonction du service, les bases de données. Cette approche offre la valeur et les avantages du cloud, y compris un service par abonnement au cloud public qui répond aux exigences en matière de résidence et de sécurité des données. Ce modèle de cloud local par abonnement (LCaaS) offre la gestion automatisée fournie par le cloud, les performances élevées de l'infrastructure dédiée et les avantages d'efficacité de la consolidation. Les clients peuvent augmenter et réduire leur consommation à mesure que les charges de travail changent au cours de la journée ou au fil du temps. Le déploiement sur un service de cloud public dans les data centers des clients offre de nombreux avantages, notamment les suivants :
Certaines de ces solutions permettent le déploiement d'une base de données autonome sur les ressources de cloud public dans les data centers des clients, ce qui permet aux entreprises de bénéficier de la mise à l'échelle, du provisionnement, de l'application de correctifs et de la gestion des pannes automatisées fournies par ces bases de données. Ces fonctionnalités d'automatisation avancées augmentent la disponibilité et la sécurité des données en éliminant les erreurs humaines, tout en réduisant les coûts grâce à l'économie de la consommation à l'utilisation.
Le déploiement de bases de données sur des ressources de cloud public dans les data centers des clients est préférable pour les entreprises qui ont des exigences de résidence et de sécurité des données qui ne peuvent pas être satisfaites dans les régions de cloud public. Cette approche peut également convenir aux entreprises qui souhaitent bénéficier de l'automatisation du cloud et de la tarification des bases de données à l'utilisation tout en exécutant des applications sur des ressources existantes dans leurs data centers.
Historiquement, les bases de données étaient déployées sur une infrastructure partagée dans les data centers des clients. Cette infrastructure exécutait des applications, des middlewares et des bases de données sur une infrastructure conçue pour offrir de bonnes performances et une bonne disponibilité, mais qui était coûteuse et n'offrait aucune optimisation des performances propre à une base de données.
Plus récemment, cette approche partagée a cédé la place au concept de cloud de base de données privé où l'infrastructure dédiée sur site est spécifiquement réglée pour exécuter de manière optimale les bases de données. Ces clouds de base de données privés sont détenus et gérés par l'entreprise qui les utilise, ce qui présente l'avantage de permettre des niveaux extrêmement élevés de consolidation de base de données avec plusieurs versions de base de données exécutées sur la même infrastructure. Ces plates-formes bénéficient de niveaux élevés d'automatisation intégrée pour garantir que chaque base de données dispose des ressources dont elle a besoin pour respecter les contrats de niveau de service de performances, tout en donnant la priorité aux activités sensibles à la latence pour les applications stratégiques afin de garantir leur exécution avec les performances les plus élevées possibles.
L'exécution de bases de données dans un cloud privé peut constituer la meilleure approche pour les entreprises disposant de niveaux élevés de personnalisation et d'interconnexion des bases de données et des applications. Pour la plupart des applications, les clouds de base de données privés semblent impossibles à distinguer des déploiements de base de données legacy on-premise. Leur adoption peut donc constituer l'approche la plus simple pour commencer à passer au cloud.
Dans la plupart des entreprises, il ne s'agit pas d'opter pour déployer des bases de données dans le cloud ou dans leurs propres centres de données : elles font les deux et ont besoin que les deux environnements fonctionnent conjointement. Il existe de nombreux scénarios dans lesquels les clients devront effectuer un déploiement dans des environnements cloud hybrides. Par exemple, de nombreuses entreprises développent des applications à un emplacement et les déploient sur un autre. Une entreprise peut également disposer d'applications prenant en charge des opérations à distance exécutées dans le cloud public, tandis que des opérations centralisées sont exécutées dans ses data centers.
Pour minimiser les charges de travail informatiques, l'une des principales exigences pour le déploiement de bases de données dans des environnements cloud hybrides est que le logiciel de base de données et le matériel qu'il exécute fournissent les mêmes fonctionnalités, la même gestion et la même sécurité dans tous les environnements. Les environnements présentant des niveaux élevés de similitude réduisent les efforts nécessaires pour déplacer les bases de données et les applications vers différents emplacements et les gérer de manière cohérente.
Les entreprises doivent choisir un fournisseur cloud qui offre une solution complète et intégrée, avec un large éventail de fonctionnalités de base de données convergée et des niveaux élevés de similitude de l'infrastructure qui permettent un déploiement lorsque cela est nécessaire. Une telle solution permet aux entreprises de répondre aux exigences de flexibilité, d'évolutivité et de croissance tout en réduisant les coûts.