Revisión de Azure Well-Architected Framework: Azure Database for PostgreSQL
En este artículo se proporcionan procedimientos recomendados de arquitectura para Azure Database for PostgreSQL.
La guía se basa en los cinco pilares de excelencia arquitectónica:
- Confiabilidad
- Seguridad
- Optimización de costos
- Excelencia operativa
- Eficiencia del rendimiento
Requisitos previos
Comprender los pilares de Well-Architected Framework puede ayudar a generar una arquitectura en la nube de alta calidad, estable y eficaz. Se recomienda revisar la carga de trabajo mediante la evaluación de revisión de Azure Well-Architected Framework .
Azure Database for PostgreSQL es un servicio de base de datos relacional en Azure basado en la base de datos relacional de código abierto de PostgreSQL. Es una base de datos como servicio totalmente administrada que puede manejar cargas de trabajo críticas con rendimiento predecible, gran seguridad, alta disponibilidad y escalabilidad dinámica. Azure Database for PostgreSQL se basa en la edición community del motor de base de datos postgreSQL. Es compatible con la edición de la comunidad del servidor postgreSQL y admite características de extensión de PostgreSQL, como PostGIS y TimescaleDB.
Nota
Para explorar una idea de solución ligera que usa Azure Database for PostgreSQL para almacenar los resultados analíticos de Cognitive Services API, consulte Aplicaciones inteligentes con Azure Database for PostgreSQL.
Confiabilidad
Azure Database for PostgreSQL: servidor flexible ofrece compatibilidad con la alta disponibilidad mediante el aprovisionamiento de réplicas principales y en espera físicamente independientes dentro de la misma zona de disponibilidad (zonal) o entre zonas de disponibilidad (con redundancia de zona). Este modelo de alta disponibilidad garantiza que los datos confirmados nunca se pierdan si se produce un error. El modelo también está diseñado para que la base de datos no se convierta en un único punto de error en la arquitectura de software. Azure Database for PostgreSQL: servidor flexible proporciona características que protegen los datos y mitigan el tiempo de inactividad de las bases de datos críticas durante los eventos de tiempo de inactividad planeados y no planeados. Basado en la infraestructura de Azure que ofrece una sólida resistencia y disponibilidad, el servidor flexible tiene características de continuidad empresarial que proporcionan protección contra errores, abordan los requisitos de tiempo de recuperación y reducen la exposición a la pérdida de datos.
Lista de comprobación de diseño de confiabilidad
Debe revisar los principios de diseño para optimizar el costo de la arquitectura.
- Destinos definidos para RPO (objetivo de punto de recuperación) y RTO (objetivo de tiempo de recuperación) para cargas de trabajo.
- Seleccione la configuración de alta disponibilidad adecuada.
- Configure la copia de seguridad de redundancia geográfica.
- Pruebe el plan de recuperación ante desastres para garantizar una restauración rápida de datos en caso de error.
- Pruebe la conmutación por error a petición para el servidor habilitado para alta disponibilidad para asegurarse de que nuestra aplicación se comporta según lo previsto.
- Supervise el servidor para asegurarse de que es correcto y funciona según lo previsto.
Recomendaciones sobre la confiabilidad
Recomendación | Prestación |
---|---|
Destinos definidos para RPO (objetivo de punto de recuperación) y RTO (objetivo de tiempo de recuperación) para cargas de trabajo. | Derive estos valores realizando una evaluación de riesgos y asegurándose de comprender el costo y el riesgo de tiempo de inactividad y pérdida de datos. Estos son requisitos no funcionales de un sistema y deben dictarlos las necesidades empresariales. |
Seleccione la configuración de alta disponibilidad adecuada. | Azure Database for PostgreSQL Server ofrece configuraciones de alta disponibilidad, lo que garantiza que el servicio permanece disponible si hay una interrupción de zona y no se pierden datos. Cuando se configura la alta disponibilidad, el servidor de Azure Database for PostgreSQL aprovisiona y administra automáticamente una réplica en espera. |
Configure la copia de seguridad de redundancia geográfica. | Las réplicas de lectura entre regiones se pueden implementar para proteger las bases de datos frente a errores de nivel de región. Las copias de seguridad con redundancia geográfica están habilitadas en regiones seleccionadas y ayudan con la recuperación ante desastres si la región del servidor principal está inactiva. |
Pruebe el plan de recuperación ante desastres para garantizar una restauración rápida de los datos si se produce un error. | Las réplicas de lectura se pueden implementar en una región diferente y promoverse a un servidor de lectura y escritura si se necesita recuperación ante desastres. |
Supervise el servidor para asegurarse de que es correcto y funciona según lo previsto. | Disponemos de un sistema de supervisión de bases de datos para vigilar y alertar de errores en estas. |
Sugerencia
Para más información sobre la guía de confiabilidad para Azure Database for PostgreSQL, consulte Confiabilidad con Azure Database for PostgreSQL.
Definiciones de directivas de Azure
Azure Policy definiciones le ayudan a aplicar reglas y configuraciones específicas para los recursos de su entorno de Azure. Para garantizar la confiabilidad de Azure Database for PostgreSQL, puede crear definiciones de Azure Policy personalizadas para implementar configuraciones y procedimientos recomendados específicos. Este es un ejemplo de algunas definiciones de Azure Policy personalizadas que puede crear para la confiabilidad:
Seguridad
Piense en la seguridad a lo largo de todo el ciclo de vida de una aplicación, desde el diseño y la implementación a la aplicación y las operaciones. La plataforma Azure protege contra diversas amenazas, como intrusiones de red y ataques DDoS. Todavía tiene que crear seguridad en la aplicación y los procesos de DevOps.
Lista de comprobación de diseño de seguridad
Debe revisar los principios de diseño para optimizar el costo de la arquitectura.
- SSL y aplicar el cifrado para proteger los datos en tránsito.
- Implemente grupos de seguridad de red y firewalls para controlar el acceso a la base de datos.
- Use Azure Active Directory para la autenticación y autorización para mejorar la administración de identidades.
- Configure la seguridad de nivel de fila.
Recomendaciones de seguridad
Recomendación | Prestación |
---|---|
SSL y aplicar el cifrado para proteger los datos en tránsito. | Implemente el certificado raíz global de DigiCert desde un certificado de entidad de certificación (CA) de confianza necesario para comunicarse a través de SSL con aplicaciones cliente. |
Implemente grupos de seguridad de red y firewalls para controlar el acceso a la base de datos. | Como parte del modelo de Confianza cero para la seguridad, se recomienda la segmentación de red donde las rutas de comunicación entre los componentes (en este caso, la aplicación y el servidor de bases de datos) están restringidas solo a lo que se necesita. Esto se puede implementar mediante el grupo de seguridad de red y los grupos de seguridad de aplicaciones. |
Use Azure Active Directory para la autenticación y autorización para mejorar la administración de identidades. | La autenticación de Microsoft Azure Active Directory (Azure AD) es un mecanismo de conexión a Azure Database for PostgreSQL mediante identidades definidas en Azure AD. |
Configure la seguridad de nivel de fila. | La seguridad de nivel de fila (RLS) es una característica de seguridad de PostgreSQL que permite a los administradores de bases de datos definir directivas para controlar cómo se muestran y funcionan las filas de datos específicas para uno o varios roles. La seguridad de nivel de fila es un filtro adicional que se puede aplicar a una tabla de base de datos postgreSQL. |
Optimización de costos
La optimización de costos consiste en comprender las opciones de configuración y los procedimientos recomendados para reducir los gastos innecesarios y mejorar las eficiencias operativas. Debe revisar la carga de trabajo para identificar oportunidades para reducir los costos.
Lista de comprobación de diseño de costos
Debe revisar los principios de diseño para optimizar el costo de la arquitectura.
- Elija el nivel correcto y la SKU.
- Descripción del modo de alta disponibilidad.
- Escale los niveles de proceso y almacenamiento.
- Considere las instancias reservadas.
- Use el almacenamiento aprovisionado.
- Comprender los costos de redundancia geográfica.
- Evaluar las decisiones de escalado vertical del almacenamiento.
- Implemente en la misma región que una aplicación.
- Descripción del costo orientado a alta disponibilidad.
- Consolidar bases de datos y servidores.
Recomendaciones de costo
Recomendaciones | Ventajas |
---|---|
Elija el nivel correcto y la SKU. | Elija el plan de tarifa y las SKU de proceso que admitan las necesidades específicas de la carga de trabajo. Azure Advisor proporciona recomendaciones para optimizar y reducir el gasto general de Azure. Entre las recomendaciones se incluyen el ajuste de tamaño del servidor que debe seguir. |
Descripción del modo de alta disponibilidad. | La alta disponibilidad hace que un servidor en espera esté siempre disponible en la misma zona o región. Habilitar la alta disponibilidad duplica el costo. |
Ajuste los niveles de proceso y almacenamiento. | Debe ajustar manualmente los niveles de proceso y almacenamiento para cumplir los requisitos de la aplicación a lo largo del tiempo. |
Use la característica Inicio y detención. | El servidor flexible tiene una característica Start/Stop que puede usar para impedir que el servidor se ejecute cuando no lo necesite. |
Considere las instancias reservadas. | Considere una reserva de uno o tres años para recibir descuentos significativos en la informática. Use estas reservas para cargas de trabajo con un uso de proceso coherente durante un año o más. |
Use el almacenamiento aprovisionado. | No hay ningún cargo adicional por el almacenamiento de copia de seguridad hasta el 100 % del almacenamiento total del servidor aprovisionado. |
Comprender los costos de redundancia. | El almacenamiento con redundancia geográfica (GRS) cuesta el doble de almacenamiento con redundancia local (LRS). GRS requiere doble la capacidad de almacenamiento de LRS. |
Evaluar las decisiones de escalado vertical del almacenamiento. | Debe evaluar las necesidades de almacenamiento actuales y futuras antes de escalar verticalmente el almacenamiento. Después de escalar verticalmente el almacenamiento, no se puede reducir verticalmente. |
Implemente en la misma región que la aplicación. | Implemente en la misma región que las aplicaciones para minimizar los costos de transferencia. Cuando se usa la integración de red virtual, las aplicaciones de otra red virtual no tienen acceso directo a servidores flexibles. Para concederles acceso, debe configurar el emparejamiento de redes virtuales. El emparejamiento de red virtual tiene costos nominales de transferencia de datos entrantes y salientes. |
Descripción del costo orientado a alta disponibilidad. | Es un inconveniente de la alta disponibilidad y los costos. La alta disponibilidad es el doble del costo de la configuración que no es de alta disponibilidad, pero es necesario. |
Consolidar bases de datos y servidores. | Puede consolidar varias bases de datos y servidores en un único servidor para reducir los costos. |
Definiciones de directivas de Azure
Azure Policy definiciones le ayudan a aplicar reglas y configuraciones específicas para los recursos de su entorno de Azure. Para garantizar la optimización de costos para Azure Database for PostgreSQL, puede crear definiciones de Azure Policy personalizadas para aplicar configuraciones y procedimientos recomendados específicos. Este es un ejemplo de algunas definiciones de Azure Policy personalizadas que puede crear para la optimización de costos:
Excelencia operativa
Los principios de la excelencia operativa constituyen una serie de consideraciones que pueden ayudar a lograr prácticas operativas superiores.
Para lograr una mayor competencia en las operaciones, considere y mejore cómo se desarrolla, implementa, opera y mantiene el software.
Lista de comprobación de diseño de excelencia operativa
Debe revisar los principios de diseño para optimizar el costo de la arquitectura.
- Configure copias de seguridad automatizadas y directivas de retención para mantener la disponibilidad de los datos y cumplir los requisitos de cumplimiento.
- Implemente la aplicación de revisiones y actualizaciones automatizadas para mantener la instancia de PostgreSQL segura y actualizada.
- Supervise el estado y el rendimiento de la base de datos mediante Azure Monitor y configure alertas para métricas críticas.
Recomendaciones para la excelencia operativa
Recomendación | Ventajas |
---|---|
Configure copias de seguridad automatizadas y directivas de retención para mantener la disponibilidad de los datos y cumplir los requisitos de cumplimiento. | Azure Database for PostgreSQL proporciona copias de seguridad automatizadas y restauración a un momento dado para la base de datos. Puede configurar el período de retención para las copias de seguridad de hasta 35 días. |
Implemente la aplicación de revisiones y actualizaciones automatizadas para mantener la instancia de PostgreSQL segura y actualizada. | Azure Database for PostgreSQL proporciona revisiones y actualizaciones automatizadas para la base de datos. Puede configurar la ventana de mantenimiento del servidor para minimizar el impacto en la carga de trabajo. |
Supervise el estado y el rendimiento de la base de datos mediante Azure Monitor y configure alertas para métricas críticas. | Azure Database for PostgreSQL proporciona funcionalidades integradas de supervisión y alertas. Puede supervisar el estado y el rendimiento de la base de datos mediante Azure Monitor. También puede configurar alertas de métricas críticas para recibir notificaciones cuando la base de datos no funciona según lo previsto. |
Definiciones de directivas de excelencia operativa
Azure Policy definiciones le ayudan a aplicar reglas y configuraciones específicas para los recursos de su entorno de Azure. Para garantizar la excelencia operativa para Azure Database for PostgreSQL, puede crear definiciones de Azure Policy personalizadas para aplicar configuraciones y procedimientos recomendados específicos. Este es un ejemplo de algunas definiciones de Azure Policy personalizadas que puede crear para la excelencia operativa:
Eficiencia del rendimiento
La eficiencia del rendimiento es la capacidad de escalado que tiene la carga de trabajo con el fin de satisfacer de manera eficiente las demandas que hayan realizado los usuarios. Se recomienda revisar los principios de eficiencia del rendimiento.
En la lista de comprobación de diseño y la lista de recomendaciones siguientes, las llamadas indican si cada opción se aplica a la arquitectura del clúster, a la arquitectura de carga de trabajo o a ambas.
Lista de comprobación de diseño de eficiencia del rendimiento
Debe revisar los principios de diseño para optimizar el costo de la arquitectura.
- Diseñe el esquema y las consultas para mejorar la eficiencia para minimizar el consumo de recursos.
- Implemente réplicas de lectura para descargar el tráfico de lectura y mejorar el rendimiento general.
Recomendaciones de eficiencia del rendimiento
Recomendación | Ventajas |
---|---|
Diseñe el esquema y las consultas para mejorar la eficiencia para minimizar el consumo de recursos. | Debe diseñar el esquema y las consultas para mejorar la eficacia para minimizar el consumo de recursos. |
Implemente réplicas de lectura para descargar el tráfico de lectura y mejorar el rendimiento general. | Puede usar réplicas de lectura para descargar el tráfico de lectura y mejorar el rendimiento. |
Definiciones de directivas de eficiencia del rendimiento
Azure Policy definiciones le ayudan a aplicar reglas y configuraciones específicas para los recursos de su entorno de Azure. Para garantizar la eficiencia del rendimiento para Azure Database for PostgreSQL, puede crear definiciones de Azure Policy personalizadas para aplicar configuraciones y procedimientos recomendados específicos. Este es un ejemplo de algunas definiciones de Azure Policy personalizadas que puede crear para la eficiencia del rendimiento:
Recursos adicionales
Considere más recursos relacionados con Azure Database for PostgreSQL.
Guía del Centro de arquitectura de Azure
- Multiinquilino y Azure Database for PostgreSQL
- procedimientos recomendados
- Optimización del rendimiento
- Ajuste