DigitalOcean est un fournisseur de services cloud, plutôt un fournisseur IaaS (Infrastructure-as-a-Service) qui convient mieux aux petites et moyennes entreprises. Vous pouvez en savoir plus sur DigitalOcean ici. Ce qu'il fait est un peu différent des autres fournisseurs de cloud comme AWS ou Azure et n'est pas encore très mondial, jetez un œil à cette vidéo qui compare DigitalOcean à AWS.
Ils fournissent une plate-forme informatique distribuée géographiquement sous la forme de machines virtuelles où les entreprises peuvent déployer leurs applications sur une infrastructure cloud de manière simple, rapide et flexible. Leur objectif principal est de fournir des environnements cloud hautement flexibles, faciles à configurer et pouvant évoluer pour différents types de charges de travail.
Ce qui m'a attiré chez DigitalOcean, c'est le service "gouttelettes". Les droplets sont des machines virtuelles basées sur Linux qui peuvent être créées de manière autonome ou faire partie d'une grande infrastructure cloud avec un système d'exploitation Linux choisi comme CentOS, Ubuntu, etc.
PostgreSQL sur DigitalOcean
Avec DigitalOcean, la création d'environnements PostgreSQL peut se faire de deux manières, l'une consiste à créer manuellement à partir de zéro à l'aide de droplets (uniquement des machines virtuelles basées sur Linux) ou l'autre consiste à utiliser des services gérés.
DigitalOcean a lancé des services gérés pour PostgreSQL dans le but d'accélérer le provisionnement des serveurs de base de données sous la forme de machines virtuelles sur une grande infrastructure cloud. Sinon, le seul moyen de créer des environnements PostgreSQL est manuellement en utilisant des droplets. Les fonctionnalités prises en charge avec les services gérés sont la haute disponibilité, le basculement automatique, la journalisation et la surveillance. La capacité d'alerte n'existe pas encore.
Les services gérés sont plus ou moins similaires à AWS RDS. Les instances PostgreSQL ne sont accessibles qu'à l'aide de l'interface utilisateur, il n'y a pas d'accès à l'hôte exécutant l'instance de base de données. Gestion, Monitoring, paramétrage, tout doit se faire depuis une UI.
Compatibilité PostgreSQL avec DigitalOcean
Vous pouvez créer des environnements PostgreSQL sur Digital Ocean avec les droplets ou opter pour des services gérés (similaires à AWS RDS) qui peuvent vraiment vous faire gagner du temps. Les seules versions prises en charge sur les services gérés sont 10 et 11. Cela signifie que les entreprises souhaitant tirer parti des services gérés PostgreSQL de DigitalOcean devront utiliser/mettre à niveau vers la version 10 ou 11. Notez également qu'il n'y a pas de prise en charge du système d'exploitation Windows.
Ce blog se concentrera sur les services gérés.
Services PostgreSQL gérés
DigitalOcean a commencé à fournir des services de base de données PostgreSQL gérés depuis février 2019. L'intention était d'introduire un moyen plus rapide de provisionner l'infrastructure avec des instances PostgreSQL, ce qui peut faire gagner un temps précieux aux professionnels des bases de données d'infrastructure. Le provisionnement d'une instance PostgreSQL est assez simple.
Cela peut être fait en vous connectant au compte DO → accédez à une page de création de cluster de base de données → choisissez la version de PostgreSQL → choisissez les spécifications en fonction du prix → choisissez l'emplacement → cliquez sur créer. Vous êtes tous bons. Regardez cette vidéo ici pour une meilleure compréhension.
Haute disponibilité
La haute disponibilité est l'une des exigences essentielles des bases de données pour assurer la continuité des activités. Il est impératif de s'assurer que la haute disponibilité respecte les SLA définis pour le RTO et le RPO. DigitalOcean fournit des services à haute disponibilité de manière plus rapide et fiable.
Prix
Le modèle de tarification de DigitalOcean n'est pas complexe. Le prix de l'instance est directement proportionnel à la capacité et à l'architecture de l'instance. Vous trouverez ci-dessous un exemple de tarification pour une instance autonome -
La capacité et la tarification qui correspondent aux besoins peuvent être choisies parmi les options disponibles . Le minimum est de 15 $ par mois pour 10 Go de disque et 1 vCPU. Si la haute disponibilité est une exigence, le nœud de secours peut également être configuré. La limitation est qu'un nœud de secours ne peut être ajouté que si la taille de la base de données principale est d'au moins 25 Go. Et, seuls un maximum de 5 nœuds de secours peuvent être ajoutés. Vous trouverez ci-dessous les options de veille disponibles
Si vous pouvez observer ci-dessus, la tarification en veille est assez simple et ne dépend pas sur la capacité. L'ajout d'un nœud de secours coûtera 20 $, quelle que soit sa taille.
Accès
Les instances PostgreSQL créées à l'aide de services gérés sont accessibles à l'aide d'interfaces graphiques et à distance via CLI en mode SSL uniquement. Cependant, les instances PostgreSQL installées manuellement sur les droplets sont accessibles via ssh.
Centres de données
DigitalOcean n'est pas encore très mondial. Les centres de données sont situés dans quelques pays, comme indiqué ci-dessous. Cela signifie qu'il n'est pas possible de déployer/d'exécuter des services pour les entreprises exécutant leurs services dans des pays autres que ceux indiqués ci-dessous.
Avantages des services gérés PostgreSQL
Les services gérés pour PostgreSQL sont avantageux pour diverses raisons. D'après mon expérience en tant que DBA, il est souvent nécessaire de créer des environnements pour les développeurs de la manière la plus rapide possible afin d'effectuer des tests fonctionnels, de régression et de performances pour les versions. En règle générale, l'approche consiste à utiliser des outils tels que chef ou puppet pour créer des modules d'automatisation pour les applications et les environnements de base de données, puis à utiliser ces modèles pour créer des machines virtuelles cloud. Les services gérés de DigitalOcean peuvent être une excellente option, efficace et rentable pour de telles exigences, car ils vous feront gagner du temps. Jetons un coup d'œil à l'avantage en détail -
- Opter pour des services gérés peut faire gagner beaucoup de temps aux DBA et aux développeurs dans la création d'environnements PostgreSQL à partir de zéro. Cela signifie qu'il n'y a pas de frais généraux d'administration et de maintenance de la base de données.
- Les environnements PostgreSQL peuvent être équipés d'une haute disponibilité avec capacité de basculement automatique.
- Les instances gérées sont conçues pour faire face aux catastrophes. Les sauvegardes quotidiennes peuvent être configurées avec la capacité PITR (point-in-time-recovery). Surtout, les sauvegardes sont gratuites.
- Les instances PostgreSQL gérées sont conçues pour être hautement évolutives. Les clients de DigitalOcean ont pu atteindre une plus grande évolutivité avec les instances PostgreSQL et les extensions TimescaleDB.
- Le tableau de bord peut être configuré pour surveiller les fichiers journaux et les performances des requêtes.
- Le modèle de coût de DigitalOcean est assez simple.
- Comme il s'agit d'une infrastructure cloud, la mise à l'échelle verticale peut être transparente.
- Les instances de base de données gérées sont hautement sécurisées et optimisées. Une grande partie de la récupération des données n'est possible que via des connexions SSL.
- La documentation est disponible en détail.
Limites de l'exécution de PostgreSQL sur DigitalOcean
- Les versions 10 et 11 de PostgreSQL sont prises en charge, aucune autre version ne peut être utilisée.
- Les centres de données de DigitalOcean ne sont disponibles que dans des emplacements géographiques limités.
- Le nombre de nœuds de secours ne peut pas dépasser 5.
- Le PITR ne peut pas dépasser 7 jours.
- Toutes les extensions pour PostgreSQL ne sont pas prises en charge, seules les extensions sélectionnées peuvent être utilisées.
- Les instances peuvent uniquement être agrandies. Ils ne peuvent pas être réduits.
- L'accès superutilisateur n'est pas autorisé.
- L'alerte sur certains seuils n'est pas encore disponible.
- Les instances de base de données gérées ne peuvent être restaurées que sur un nouveau nœud lors de la restauration à partir de sauvegardes.
Conclusion
Les services PostgreSQL gérés offerts par DigitalOcean sont une excellente option pour les entreprises à la recherche de solutions de type devops pour les environnements PostgreSQL qui peuvent vraiment aider à réduire le temps, la planification, l'administration et les frais de maintenance impliqués dans la création d'environnements PostgreSQL à grande échelle et sécurisés pour diverses charges de travail. Leur modèle de tarification est très simple et peut être une option rentable. Cependant, il ne peut pas vraiment être comparé aux énormes fournisseurs de services cloud comme AWS ou Azure. DigitalOcean peut certainement profiter aux entreprises avec ses solutions cloud innovantes.