Acerca de las mejores prácticas para operar despliegues en la nube de forma eficiente

La eficiencia operativa se relaciona con la identificación de los procesos y procedimientos adecuados para automatizar y optimizar el funcionamiento de todos los servicios en la nube. Es importante tener en cuenta las mejores prácticas para desplegar, operar y supervisar aplicaciones e infraestructura a fin de ofrecer el máximo valor empresarial. Con las implementaciones diarias, es necesario ver qué sucede con los recursos en la nube. El monitoreo debe estar en su lugar para saber si un entorno funciona correctamente y si se necesitan ajustes.

Realizar operaciones como código

Aprovisione, amplíe y gestione su entorno mediante la automatización y una infraestructura como metodología de código.
  • Uso del marco OCI Landing Zones

    Aprovecha los planes detallados de Oracle con orientación de diseño y plantillas IaC preconfiguradas de Terraform que son adecuadas para varias arquitecturas y casos de uso para la mayoría de los despliegues de OCI.

  • Adopte la infraestructura como código (IaC)

    Automatice el despliegue de cargas de trabajo y procedimientos operativos, limite la interacción humana y mejore la respuesta a los eventos mediante el uso de la infraestructura como código.

  • Definición de la Infraestructura de Carga de Trabajo

    Al definir la infraestructura como código, es posible aprovisionar cargas de trabajo de forma automática y repetida en una infraestructura coherente. La parametrización permite la reutilización de plantillas comunes, promoviendo la estandarización entre entornos y minimizando el reproceso entre equipos.

  • Desarrollo y despliegue de aplicaciones

    La automatización del despliegue de código en la infraestructura existente permite la consistencia de las aplicaciones en varios despliegues de infraestructura.

  • Gestión de la configuración de la infraestructura

    La coherencia es fundamental a la hora de configurar y actualizar la configuración de la infraestructura en varios recursos en la nube. Con la gestión de la configuración, es posible gestionar el despliegue de la configuración de la infraestructura durante el diseño, la implantación, las pruebas, la aplicación de parches y las nuevas versiones.

Realizar despliegues iterativos y frecuentes

Minimice el riesgo mediante el uso de la automatización y un proceso de desarrollo iterativo al probar e implementar código.

  • Automatice el proceso de despliegue de aplicaciones

    Automatice tantos procesos como sea posible. Si es posible, elimine las implementaciones manuales en producción, aunque esto podría ser aceptable en entornos más bajos para promover la velocidad y la flexibilidad.

  • Aproveche la automatización para probar su código antes del despliegue

    Las pruebas de bugs, vulnerabilidades de seguridad, funcionalidad, rendimiento e integraciones son fundamentales para minimizar los problemas que detectan los usuarios. Las pruebas fallidas deben evitar que el código se libere en producción.

  • Implantar despliegues iterativos e incrementales

    Reduzca los riesgos probando y validando despliegues con más frecuencia. Los cambios más pequeños y frecuentes pueden reducir la exposición a fallos y retrasos en la identificación de problemas.

Definir procedimientos operativos

Defina procedimientos para utilizar las herramientas disponibles y automatizar procedimientos.

  • Automatización de la aplicación de parches y del mantenimiento

    Aproveche las herramientas para actualizar y aplicar parches automáticamente a las instancias informáticas, las instancias de base de datos y los servidores que forman parte de la responsabilidad de mantenimiento del cliente.

  • Aprovechar las utilidades de gestión de configuración

    Utilice las herramientas de gestión de configuración para automatizar y reducir el riesgo al actualizar las configuraciones de recursos.

  • Supervisar las métricas de rendimiento del sistema

    Comprenda las métricas proporcionadas por los servicios de infraestructura. Configure la supervisión y las alertas para proporcionar visibilidad del estado de todas las cargas de trabajo e indicadores proactivos de fallo.

  • Documente y pruebe su plan de recuperación ante desastres

    Escriba un plan de recuperación ante desastres que refleje el impacto empresarial de los fallos de la aplicación. Comprenda las dependencias de las aplicaciones y su impacto en ellas. Automatice el proceso de recuperación tanto como sea posible y documente los pasos manuales. Pruebe regularmente su proceso de recuperación ante desastres para validar y mejorar el plan.

  • Planificación de interacciones de soporte de Oracle Cloud Infrastructure

    Antes de que surja la necesidad, establezca un proceso para ponerse en contacto con el soporte de Oracle Cloud Infrastructure.

  • Incorporar prácticas de FinOps

    Incorporar las prácticas de FinOps en los procedimientos operativos para garantizar que la gestión de costos se convierta en una parte integral de las operaciones diarias.

Esperar un fallo y aprender

Los fallos no previstos se producirán a lo largo del ciclo de vida de una aplicación. Aprenda de un fallo y mejore los procesos de respuesta y recuperación.

  • Aprender de los fallos

    Realice análisis de causas raíz y ajuste los procesos de operaciones para obtener respuestas mejores y más ágiles a los fallos en el futuro.

  • Mejora continua de la respuesta a incidentes

    Integre las lecciones aprendidas de fallos y problemas pasados con los procedimientos de respuesta a incidentes existentes para evitar problemas futuros y reducir el tiempo medio de reparación.

  • Práctica para el fracaso

    Pruebe y ensaye periódicamente los procesos de gestión y recuperación de incidentes para ajustar las respuestas futuras.

Identificación y supervisión de indicadores clave de rendimiento de carga de trabajo

Identifique el rendimiento base y los indicadores clave de rendimiento (KPI) para sus cargas de trabajo. Utilice los KPI y logs para supervisar el estado y el rendimiento de la carga de trabajo de la aplicación.

Considere utilizar lo siguiente para supervisar el rendimiento de la carga de trabajo:

  • Implantar el rastreo alrededor de llamadas de servicio

    Los datos de rendimiento base pueden ayudar a proporcionar datos de tendencias que puede utilizar para identificar de forma proactiva los problemas de rendimiento antes de que afecten a los usuarios.

  • Implantar comprobaciones del sistema

    Ejecute comprobaciones del sistema y sondeos con regularidad desde fuera de la aplicación para identificar la degradación del estado y el rendimiento de la aplicación. Las comprobaciones de estado y los sondeos deben ser más que pruebas de página estáticas, deben reflejar el estado de la aplicación holística.

  • Compruebe flujos de trabajo de larga ejecución

    La detección temprana de problemas puede minimizar la necesidad de realizar un rollback de todo el flujo de trabajo o ejecutar varias transacciones de compensación.

  • Mantenimiento de logs de sistema, aplicación y auditoría

    Utilice un servicio de registro centralizado para almacenar y analizar los logs.

  • Definición de un sistema de aviso anticipado

    Identifique los indicadores clave de rendimiento (KPI) del estado de una aplicación, como las excepciones transitorias y la latencia de llamadas remotas, y defina los valores de umbral adecuados para cada una de ellas. Envíe una alerta a las operaciones cuando se alcance el valor de umbral.

  • Entrenar a varios operadores para supervisar la aplicación y realizar pasos de recuperación manual

    Asegúrese de que siempre haya al menos un operador entrenado activo.

  • Crear políticas de escala que realicen acciones basadas en KPI

    Las políticas de escalado ayudan a proporcionar un rendimiento constante para sus usuarios finales durante los períodos de alta demanda y le ayudan a reducir sus costos durante los períodos de baja demanda.

Aproveche los servicios gestionados

Utilice servicios en la nube gestionados para garantizar que sus recursos en la nube se ejecuten de manera eficiente y rentable. Su organización de TI puede descargar el trabajo pesado táctico e indiferenciado asociado con la gestión de recursos en la nube para que puedan centrarse en sus competencias básicas.

Identifique sus responsabilidades

Los proveedores de servicios en la nube documentan de qué es responsable su plataforma y de qué es responsable el cliente. Identifique las responsabilidades de sus clientes y asegúrese de contar con procedimientos operativos para cada una de estas responsabilidades.