DigitalOcean es un proveedor de servicios en la nube, más un proveedor de IaaS (Infraestructura como servicio) que es más adecuado para pequeñas y medianas empresas. Puede conocer más sobre DigitalOcean aquí. Lo que hace es un poco diferente a otros proveedores de la nube como AWS o Azure y aún no es muy global. Mire este video que compara DigitalOcean con AWS.
Proporcionan una plataforma informática distribuida geográficamente en forma de máquinas virtuales donde las empresas pueden implementar sus aplicaciones en la infraestructura de la nube de manera fácil, rápida y flexible. Su enfoque principal es proporcionar entornos de nube que sean altamente flexibles, fáciles de configurar y que puedan escalar para varios tipos de cargas de trabajo.
Lo que me atrajo de DigitalOcean es el servicio de "gotas". Los droplets son máquinas virtuales basadas en Linux que se pueden crear de forma independiente o pueden formar parte de una gran infraestructura en la nube con un sistema operativo con sabor a Linux elegido, como CentOS, Ubuntu, etc.
PostgreSQL en DigitalOcean
Con DigitalOcean, la creación de entornos de PostgreSQL se puede realizar de dos maneras, una forma es crear manualmente desde cero usando gotas (solo máquinas virtuales basadas en Linux) o la otra forma es usar servicios administrados.
DigitalOcean inició servicios administrados para PostgreSQL con la intención de acelerar el aprovisionamiento de servidores de bases de datos en forma de máquinas virtuales en una gran infraestructura de nube. De lo contrario, la única forma de crear entornos PostgreSQL es manualmente mediante el uso de gotas. Las capacidades admitidas con los servicios gestionados son alta disponibilidad, conmutación por error automática, registro y supervisión. La capacidad de alerta aún no existe.
Los servicios administrados son más o menos similares a AWS RDS. Solo se puede acceder a las instancias de PostgreSQL mediante la interfaz de usuario, no hay acceso al host que ejecuta la instancia de la base de datos. Administración, Monitoreo, configuración de parámetros, todo debe hacerse desde una UI.
Compatibilidad de PostgreSQL con DigitalOcean
Puede crear entornos de PostgreSQL en Digital Ocean con los droplets o buscar servicios administrados (similares a AWS RDS) que realmente pueden ahorrarle tiempo. Las únicas versiones admitidas en los servicios administrados son la 10 y la 11. Esto significa que las empresas que deseen aprovechar los servicios administrados de PostgreSQL de DigitalOcean deberán usar/actualizar a la versión 10 u 11. Además, tenga en cuenta que no hay soporte para el sistema operativo Windows.
Este blog se centrará en los servicios administrados.
Servicios PostgreSQL administrados
DigitalOcean comenzó a brindar servicios de base de datos PostgreSQL administrados desde febrero de 2019. La intención era presentar una forma más rápida de aprovisionar infraestructura con instancias de PostgreSQL que pueden ahorrar un tiempo valioso para los profesionales de bases de datos de infraestructura. Aprovisionar una instancia de PostgreSQL es bastante simple.
Esto se puede hacer iniciando sesión en la cuenta DO → vaya a una página de creación de clúster de base de datos → elija la versión de PostgreSQL → elija las especificaciones según el precio → elija la ubicación → haga clic en crear. Estás bien. Mire este video aquí para una mejor comprensión.
Alta disponibilidad
La alta disponibilidad es uno de los requisitos críticos de las bases de datos para garantizar la continuidad del negocio. Es imperativo garantizar que la alta disponibilidad cumpla con los SLA definidos para RTO y RPO. DigitalOcean brinda servicios de alta disponibilidad de una manera más rápida y confiable.
Precios
El modelo de precios en DigitalOcean no es complejo. El precio de la instancia es directamente proporcional a la capacidad y arquitectura de la instancia. A continuación se muestra un ejemplo de precios para una instancia independiente -
La capacidad y el precio que satisface el requisito se pueden elegir entre las opciones disponibles . El mínimo es de $15 por mes por 10 GB de disco y 1 vCPU. Si la alta disponibilidad es un requisito, también se puede configurar el nodo en espera. La limitación es que solo se puede agregar un nodo en espera si el tamaño de la base de datos principal es de un mínimo de 25 GB. Y solo se puede agregar un máximo de 5 nodos en espera. A continuación se muestran las opciones de espera disponibles
Si puede observar arriba, el precio en espera es bastante simple y no depende sobre la capacidad. Agregar un nodo en espera costará $20 independientemente del tamaño.
Acceso
Se puede acceder a las instancias de PostgreSQL compiladas mediante servicios administrados mediante GUI y de forma remota a través de CLI solo en modo SSL. Sin embargo, se puede acceder a las instancias de PostgreSQL instaladas manualmente en droplets a través de ssh.
Centros de datos
DigitalOcean aún no es muy global. Los centros de datos están ubicados en algunos países, como se muestra a continuación. Lo que significa que no es posible implementar/ejecutar servicios para empresas que ejecutan sus servicios en países distintos a los que se muestran a continuación.
Ventajas de los servicios administrados de PostgreSQL
Los servicios administrados para PostgreSQL son ventajosos por varias razones. En mi experiencia como DBA, a menudo surge el requisito de crear entornos para desarrolladores de la manera más rápida posible para realizar pruebas funcionales, de regresión y de rendimiento para las versiones. En general, el enfoque sería usar herramientas como chef o puppet para crear módulos de automatización para aplicaciones y entornos de bases de datos y luego usar esas plantillas para crear máquinas virtuales en la nube. Los servicios administrados de DigitalOcean pueden ser una opción excelente, eficiente y rentable para tales requisitos, ya que está destinado a ahorrar tiempo. Echemos un vistazo a las ventajas en detalle -
- Optar por servicios administrados puede ahorrar mucho tiempo a los administradores de bases de datos y desarrolladores en la creación de entornos PostgreSQL desde cero. Esto significa que no hay gastos generales de administración y mantenimiento de la base de datos.
- Los entornos de PostgreSQL se pueden equipar con alta disponibilidad con capacidad de conmutación por error automática.
- Las instancias administradas están diseñadas para soportar desastres. Las copias de seguridad diarias se pueden configurar con la capacidad PITR (recuperación puntual). Es importante destacar que las copias de seguridad son gratuitas.
- Las instancias de PostgreSQL administradas están diseñadas para ser altamente escalables. Los clientes de DigitalOcean pudieron lograr una mayor escalabilidad con las instancias de PostgreSQL y las extensiones de TimescaleDB.
- El panel se puede configurar para monitorear los archivos de registro y el rendimiento de las consultas.
- El modelo de costos de DigitalOcean es bastante simple.
- Como se trata de una infraestructura en la nube, el escalado vertical puede ser perfecto.
- Las instancias de bases de datos administradas están altamente seguras y optimizadas. Una gran parte de la recuperación de datos solo es posible a través de conexiones basadas en SSL.
- La documentación está disponible en buen detalle.
Limitaciones de ejecutar PostgreSQL en DigitalOcean
- Las versiones 10 y 11 de PostgreSQL son compatibles, no se pueden usar otras versiones.
- Los centros de datos de DigitalOcean solo están disponibles en ubicaciones geográficas limitadas.
- La cantidad de nodos en espera no puede exceder los 5.
- PITR no puede durar más de 7 días.
- No todas las extensiones para PostgreSQL son compatibles, solo se pueden usar extensiones seleccionadas.
- Solo se puede aumentar el tamaño de las instancias. No se pueden reducir.
- El acceso de superusuario no está permitido.
- Las alertas en ciertos umbrales aún no están disponibles.
- Las instancias de bases de datos administradas solo se pueden restaurar a un nuevo nodo cuando se restauran desde copias de seguridad.
Conclusión
Los servicios administrados de PostgreSQL ofrecidos por DigitalOcean son una excelente opción para las empresas que buscan soluciones de tipo devops para entornos de PostgreSQL que realmente pueden ayudar a reducir el tiempo, la planificación, la administración y los gastos generales de mantenimiento involucrados en la creación de entornos de PostgreSQL seguros y de gran escala para diversas cargas de trabajo. Su modelo de precios es muy simple y puede ser una opción rentable. Sin embargo, no se puede comparar realmente con los proveedores masivos de servicios en la nube como AWS o Azure. Sin duda, DigitalOcean puede beneficiar a las empresas con sus innovadoras soluciones en la nube.