Este principio del pilar de optimización del rendimiento del Google Cloud Framework de Well-Architected proporciona recomendaciones para ayudarte a planificar los recursos para tus cargas de trabajo enGoogle Cloud. Se enfatiza la importancia de definir requisitos detallados antes de diseñar y desarrollar aplicaciones para la implementación o migración en la nube.
Descripción general del principio
Para satisfacer los requisitos de tu empresa, es importante que definas los requisitos de rendimiento de tus aplicaciones antes del diseño y el desarrollo. Define estos requisitos de la manera más detallada posible para la aplicación en su totalidad y para cada capa de la pila de la aplicación. Por ejemplo, en la capa de almacenamiento, debes tener en cuenta la capacidad de procesamiento y las operaciones de E/S por segundo (IOPS) que necesitan las aplicaciones.
Desde el principio, planifica los diseños de la aplicación teniendo en cuenta el rendimiento y la escalabilidad. Considera factores como la cantidad de usuarios, el volumen de datos y el crecimiento potencial con el tiempo.
Los requisitos de rendimiento para cada carga de trabajo varían y dependen del tipo de carga de trabajo. Cada carga de trabajo puede contener una combinación de sistemas y servicios de componentes que tienen conjuntos únicos de características de rendimiento. Por ejemplo, un sistema responsable del procesamiento por lotes periódico de grandes conjuntos de datos tiene diferentes exigencias de rendimiento que una solución de escritorio virtual interactiva. Tus estrategias de optimización deben abordar las necesidades específicas de cada carga de trabajo.
Selecciona los servicios y las funciones que se alineen con los objetivos de rendimiento de cada carga de trabajo. No existe una solución única para optimizar el rendimiento. Cuando optimizas cada carga de trabajo, todo el sistema puede alcanzar un rendimiento y una eficiencia óptimos.
Ten en cuenta las siguientes características de la carga de trabajo que pueden influir en tus requisitos de rendimiento:
- Arquetipo de implementación: El arquetipo de implementación que selecciones para una aplicación puede influir en tu elección de productos y funciones, lo que, a su vez, determina el rendimiento que puedes esperar de tu aplicación.
- Ubicación de recursos: Cuando selecciones una Google Cloud región para los recursos de tu aplicación, te recomendamos que priorices la baja latencia para los usuarios finales, cumplas con las reglamentaciones de localidad de los datos y garantices la disponibilidad de los Google Cloud productos y servicios requeridos.
- Conectividad de red: Elige servicios de redes que optimicen el acceso a los datos y la entrega de contenido. Aprovecha la red global, las redes troncales de alta velocidad, las ubicaciones de interconexión y los servicios de almacenamiento en caché de Google Cloud.
- Opciones de hosting de la aplicación: Cuando selecciones una plataforma de hosting, debes evaluar las ventajas y desventajas de rendimiento de cada opción. Por ejemplo, considera las plataformas de hardware físico, máquinas virtuales, contenedores y sin servidores.
- Estrategia de almacenamiento: Elige una estrategia de almacenamiento óptima que se base en tus requisitos de rendimiento.
- Configuraciones de recursos: El tipo de máquina, las IOPS y la capacidad de procesamiento pueden tener un impacto significativo en el rendimiento. Además, al principio de la fase de diseño, debes considerar las capacidades de seguridad adecuadas y su impacto en los recursos. Cuando planifiques funciones de seguridad, prepárate para aceptar las compensaciones de rendimiento necesarias para evitar efectos imprevistos.
Recomendaciones
Para garantizar una asignación óptima de recursos, considera las recomendaciones de las siguientes secciones.
Configura y administra cuotas
Asegúrate de que tu aplicación use solo los recursos necesarios, como memoria, almacenamiento y potencia de procesamiento. La asignación excesiva puede generar gastos innecesarios, mientras que la asignación insuficiente puede provocar una degradación del rendimiento.
Para adaptarse al escalamiento elástico y garantizar que haya recursos suficientes disponibles, supervisa periódicamente la capacidad de tus cuotas. Además, haz un seguimiento del uso de la cuota para identificar posibles restricciones de escalamiento o problemas de asignación excesiva y, luego, toma decisiones fundamentadas sobre la asignación de recursos.
Educa y promueve la conciencia
Informa a los usuarios sobre los requisitos de rendimiento y proporciona recursos educativos sobre técnicas eficaces de administración del rendimiento.
Para evaluar el progreso y detectar áreas de mejora, documenta periódicamente el rendimiento objetivo y el rendimiento real. Somete tu aplicación a una prueba de carga para encontrar posibles puntos de interrupción y comprender cómo puedes escalarla.
Supervisa las métricas de rendimiento
Usa Cloud Monitoring para analizar las tendencias en las métricas de rendimiento, analizar los efectos de los experimentos, definir alertas para las métricas críticas y realizar análisis retrospectivos.
Active Assist es un conjunto de herramientas que pueden proporcionar estadísticas y recomendaciones para ayudar a optimizar el uso de los recursos. Estas recomendaciones pueden ayudarte a ajustar la asignación de recursos y mejorar el rendimiento.