Principios de diseño de cargas de trabajo de SaaS en Azure
Como proveedor de software independiente (ISV) que ofrece una solución SaaS, es responsable de la excelencia arquitectónica de la solución y comparte la responsabilidad con el cliente. Se basan en su solución y los problemas pueden en cascada para ellos. Si su organización está madura y tiene una base de clientes establecida, la confiabilidad y la seguridad probablemente son sus mayores preocupaciones. Los tiempos de inactividad y las infracciones de seguridad pueden tener consecuencias negativas para los ingresos y la reputación de su empresa.
Pero muchos ISV, especialmente los ISV de inicio, funcionan con recursos limitados para minimizar los costos. Si su organización está en la fase de inicio, es posible que tenga que hacer inconvenientes agresivos para avanzar a la siguiente fase de crecimiento. Es posible que no tenga equipos dedicados para la gobernanza, la seguridad o la automatización de la implementación, pero recuerde planear el crecimiento futuro. Si tiene que tomar riesgos, tome decisiones calculadas.
El diseño de una solución que funciona a un bajo volumen de escala difiere de una solución a gran escala. Para admitir un crecimiento rápido, debe diseñar una arquitectura de carga de trabajo de SaaS con flexibilidad y capacidad de adaptación. En este artículo se presentan los principios subyacentes teniendo en cuenta esa evolución del crecimiento. Tenga en cuenta los cinco pilares del marco bien diseñados juntos, incluidas las ventajas. Hay un estándar mínimo en todos los pilares, así que tenga en cuenta cada uno. Si no aplica estos principios, podría introducir pérdidas financieras y reducir la confianza del cliente.
Fiabilidad
Principio de diseño | Consideraciones |
---|---|
Priorizar la disponibilidad. | Su solución es su negocio. Mantenga la alta disponibilidad tanto como sea práctico. Si la solución experimenta una interrupción, el impacto puede afectar no solo a los clientes, sino también a sus clientes. |
Sea explícito sobre los acuerdos de nivel de servicio (SLA) que ofrece a sus clientes. | Al crear acuerdos de nivel de servicio respaldados financieramente para sus clientes, asegúrese de que puede cumplirlos y de que los componentes de los que depende sean compatibles con ellos. Revise los Acuerdos de Nivel de Servicio compuestos para los servicios subyacentes de Azure como parte del proceso de diseño del Acuerdo de Nivel de Servicio. No hagas suposiciones. Refleje el modelo de responsabilidad compartida en los Acuerdos de Nivel de Servicio. |
Compensación: confiabilidad y costo. Para lograr una alta confiabilidad, a menudo es necesario implementar recursos adicionales. Por ejemplo, puede distribuir recursos entre varias zonas de disponibilidad o regiones. Algunos servicios de Azure ofrecen replicación geográfica integrada o replicación entre zonas, pero estas características suelen tener costos elevados.
Tome decisiones informadas sobre el nivel de resistencia que permite su presupuesto. Si la confiabilidad de algunos componentes o flujos de la carga de trabajo no tiene implicaciones financieras, considere las oportunidades de bajo costo para mejorar la resistencia. Por ejemplo, puede usar zonas de disponibilidad de servicios de plataforma, realizar copias de seguridad periódicas de datos en otra ubicación física y usar la infraestructura como código (IaC) para volver a implementar rápidamente los recursos durante los procesos de recuperación.
Seguridad
Principio de diseño | Consideraciones |
---|---|
Establezca la gobernanza como base para la seguridad. | Establezca buenas prácticas de gobernanza desde el principio en lugar de abordar problemas más adelante. Muchos factores afectan a la seguridad, como la forma de administrar roles, organizar los recursos e implementar directivas. Sin una gobernanza sólida, los controles de seguridad no protegen el sistema. |
Siga una línea de base de seguridad en la nube desde el primer día. | Espere auditorías de seguridad de los clientes. Incorpore los seguimientos de auditoría al principio del diseño. |
Aísle a los clientes y aísle los segmentos. | Use el modelo de arrendamiento como estrategia para el aislamiento de datos. Segmente las implementaciones y los entornos. |
Comience con Confianza cero y proporcione el menor acceso posible. | El valor predeterminado es una posición sin acceso. Introduzca el acceso mínimo solo cuando sea necesario. Use esta estrategia para la administración de identidades y el tráfico de red. Revise periódicamente los flujos a través del sistema y tome medidas sobre anomalías. |
Evite las credenciales siempre que sea posible. Si debe usar credenciales, protéjalas. | Trate las credenciales como responsabilidad. Use proveedores de identidades de confianza y técnicas que minimicen el almacenamiento de credenciales. Cuando sea inevitable, proteja las credenciales con enfoques nativos de nube seguros. Controle las credenciales y los secretos de los clientes con el máximo cuidado. |
Adopte la seguridad como un proceso en curso. | Vuelva a evaluar continuamente la posición de seguridad. Tenga en cuenta el panorama de amenazas en evolución, las nuevas funcionalidades y protocolos, y los requisitos normativos o de cumplimiento actualizados. |
Compensación: optimización de seguridad y costos. El diseño y el funcionamiento de soluciones seguras son costosos. Sin embargo, puede lograr pasos significativos para la seguridad, como una buena gobernanza y la adhesión a una base de referencia de seguridad, con un gasto mínimo a ningún gasto. Determine el equilibrio entre la eficiencia de los costos y su posición de seguridad ideal.
Optimización de costos
Principio de diseño | Consideraciones |
---|---|
Paga solo por lo que necesitas. | Aproveche las características de Microsoft Cost Management para comprender el gasto total. Dé prioridad a las categorías de recursos más costosas para su posterior revisión. Identifique las áreas en las que podría sobrespendar. |
Usa lo que pagas. | Maximice el valor de los recursos que paga, pero que podría infrautilizar. |
Modele los costos. | Realice un seguimiento del costo de las mercancías vendidas. Comprenda el costo de entregar la solución a los clientes. Este proceso es similar a la fabricación de un producto físico. Para informar a la toma de decisiones, supervise el costo de cada cliente en relación con los ingresos que generan. Para comprender y agregar rápidamente el gasto de Azure, implemente procesos de gobernanza, como una buena organización de recursos y etiquetado. |
Comprenda cómo están relacionados los costos y los ingresos. | Evite situaciones en las que los costos aumenten sin un aumento correspondiente en los ingresos. Por ejemplo, los costos pueden aumentar si agrega una nueva característica que ofrece almacenamiento gratuito ilimitado. Del mismo modo, si cobra a los clientes en función del número de usuarios, asegúrese de vincular la funcionalidad a los usuarios. |
Compensación: optimización de costos y confiabilidad. Para crear soluciones confiables, a menudo necesita implementar componentes adicionales, transferir más datos y usar SKU de componente clave más resistentes, lo que aumenta los costos. La confiabilidad agregada suele merecer la pena el gasto, pero debe tomar decisiones fundamentadas. Para compensar estos aumentos de costos, asegúrese de usar otros componentes de forma eficaz y maximizar su valor.
Excelencia operativa
Principio de diseño | Consideraciones |
---|---|
Comprenda el modelo de responsabilidad compartida. | Defina claramente las responsabilidades de su proveedor de nube, sus clientes y su organización. Asegúrese de que todos sepan quién es responsable de las tareas. |
Prepárese para operar una solución en nombre de sus clientes. | Configure su organización, equipo, procesos y herramientas para admitir SaaS operativo a escala. |
Adoptar procesos coherentes. | Use stamps de implementación. Impulsar la coherencia entre la configuración y la arquitectura de la marca. Automatizar o estandarizar procesos. |
Formalice excepciones o diferencias. | Defina diferentes SKU para satisfacer las distintas necesidades. Use este método para evitar implementaciones, configuraciones o código personalizados para distintos clientes. |
Implementar cambios de forma segura. | Implemente un proceso de implementación seguro que puede usar para la exposición progresiva, la supervisión constante y la reversión si surgen problemas. Use un proceso coherente para los cambios de código, infraestructura y configuración. Controlar el número de versiones de solución que se implementan en un momento dado. |
Compensación: excelencia operativa y el costo de la complejidad. Las operaciones de administración automatizadas pueden aumentar la complejidad de la solución y tardar tiempo en crearse. Inicialmente, el costo de la automatización puede superar las ventajas, especialmente con una base de clientes pequeña. Pero a medida que crece el número de clientes, el costo de la automatización se paga y aumentan las ventajas.
Eficiencia del rendimiento
Principio de diseño | Consideraciones |
---|---|
Implemente la escala global para habilitar el rendimiento global. | Proporcionar una buena experiencia para los clientes globales a través de implementaciones multiregión o enrutamiento acelerado del tráfico. |
Cuantifique la escala esperada. | Modele los mejores escenarios de crecimiento, promedio y peor caso. Analice las tendencias y consulte al equipo de ventas para ver proyecciones realistas. Planee estrategias de escalado flexibles para adaptarse a diversas posibilidades de crecimiento. |
Comprender los puntos de escala. | Identifique dónde es probable que necesite flexibilidad. Los desencadenadores comunes incluyen el número de clientes o inquilinos, usuarios y transacciones por usuario. Comprenda cómo cambian estos factores a medida que crece su negocio y cómo afectan a la arquitectura. |
Diseño para el escalado horizontal. | El escalado vertical tiene límites, pero el escalado horizontal permite una mayor expansión. No todo se escala horizontalmente, por lo que considere la posibilidad de usar stamps de implementación para escalar la solución como una unidad para evitar las limitaciones del escalado vertical de los recursos. |
Compensación: eficiencia y confiabilidad del rendimiento. Los sistemas confiables suelen requerir la replicación de datos en áreas geográficas extensas. En función del diseño de la replicación, esta configuración puede provocar una mayor latencia y un menor rendimiento. Por ejemplo, si replica datos importantes de forma sincrónica entre dos regiones de Azure separadas por varios cientos de kilómetros, puede agregar cientos de milisegundos a los tiempos de respuesta debido a la replicación en tiempo real.
Paso siguiente
Comience su recorrido de aprendizaje optimizando la facturación del cliente y su estrategia de administración de costos.