Diseño con una mentalidad de rentabilidad

Completado
Gaste solo en lo que necesita para lograr la rentabilidad más alta de sus inversiones.

Cada decisión arquitectónica tiene implicaciones financieras directas e indirectas. Comprenda los costos asociados a las opciones de compilación frente a las de compra, las opciones tecnológicas, el modelo de facturación y las licencias, la formación, las operaciones, etc.

Dado un conjunto de requisitos, optimice y tome decisiones de equilibrio, en relación con los costos, que sigan abordando eficazmente las preocupaciones generales de la carga de trabajo.

Escenario de ejemplo

Contoso Manufacturing (CM) utiliza un sistema de administración de almacenamiento (WMS) hecho a medida para controlar sus cuatro almacenes en Sudamérica y han decidido que es hora de actualizar la solución y trasladarla a la nube. Están considerando una migración mediante lift-and-shift de la solución actual o una compilación desde cero con herramientas modernas en la nube. La directiva de CM quiere controlar los costos y ha preguntado a los responsables del equipo de carga de trabajo cómo abordarán la migración con el objetivo de mantener la eficiencia de los costos.

La solución WMS es una aplicación .NET que se ejecuta en IIS y usa SQL Server para sus bases de datos.

Medición del costo total del diseño de la carga de trabajo

Mida el costo total incurrido por las opciones tecnológicas y de automatización, teniendo en cuenta el impacto en el retorno de la inversión (ROI). El diseño debe funcionar dentro de los límites aceptables para todos los requisitos funcionales y no funcionales. El diseño también debe ser flexible para adaptarse a la evolución prevista. Tenga en cuenta los costos de adquisición, formación y administración del cambio.

La implementación de un enfoque equilibrado que tenga en cuenta la rentabilidad de la inversión evita el exceso de ingeniería, que podría aumentar los costos.

Desafío de Contoso

  • El equipo de ingeniería de cargas de trabajo está entusiasmado por llevar esta carga de trabajo a la nube, uniéndose a otros equipos de CM que ya han estado realizando desarrollo nativo en la nube.
  • Son conscientes de la deuda técnica de la aplicación y esperan abordarla reescribiendo una cantidad significativa del código de la aplicación y pasando a nuevas soluciones nativas de la nube para muchos componentes.
  • El equipo de ingeniería espera aprovechar esta oportunidad para rediseñar completamente el sistema en microservicios y hospedarlo en AKS, una tecnología nueva pero apasionante para el equipo.

Aplicación del enfoque y los resultados

  • Aunque el equipo de carga de trabajo tiene un claro deseo de realizar una refactorización a gran escala como parte de la migración a la nube, son conscientes de que la carga de trabajo necesita mantener su rentabilidad de la inversión. El mantenimiento de la rentabilidad de la inversión de la carga de trabajo probablemente orientará al equipo hacia el uso de soluciones que no requieran una amplia formación del nuevo equipo de ingeniería, y no podrán realizar grandes reescrituras en la carga de trabajo como parte de la migración.
  • El equipo encargado de la carga de trabajo adopta un enfoque pragmático en el diseño del sistema, asegurándose de que sigue siendo rentable y de que funciona dentro de los parámetros previstos y no está excesivamente desarrollado. Para asegurarse de que se mantiene la rentabilidad de la inversión y de que la migración se realiza de forma eficaz, decidieron que lo mejor era optar por una solución en la nube similar, como Azure App Service.
  • Durante la migración, abordarán de forma selectiva algunas deudas técnicas que les permitirán seguir evolucionando la plataforma una vez que esté en Azure, y tendrán en cuenta la rentabilidad de la inversión como parte del proceso de selección.

Mejorar el diseño

Optimice el diseño clasificando por orden de prioridad los servicios que puedan reducir el costo total, no necesiten inversiones adicionales o no tengan un impacto significativo en la funcionalidad. La clasificación por orden de prioridad debería tener en cuenta el modelo de negocio y las opciones tecnológicas que aportan una alta rentabilidad de la inversión.

Podrá explorar opciones más baratas que permitan la flexibilidad de los recursos o el escalado dinámico, o podrá justificar el uso de las inversiones existentes. Los parámetros de clasificación por orden de prioridad podrían tener en cuenta los costos necesarios para las cargas de trabajo críticas, el tiempo de ejecución y las operaciones, así como otros costos que podrían ayudar al equipo a trabajar de forma más eficaz.

Desafío de Contoso

  • La carga de trabajo existente se hospeda en un dispositivo hiperconvergido (HCI) y se cargan los costos de proceso, red y almacenamiento al centro de costos del equipo.
  • La carga de trabajo ha implementado los entornos de preproducción y producción en máquinas virtuales Windows.
  • Las Acciones de GitHub con ejecutores autohospedados se usan para ejecutar trabajos de Acciones de GitHub.

Aplicación del enfoque y los resultados

  • Tras evaluar varias opciones nativas de la nube, el equipo decide que trasladar los componentes web a Azure App Service proporcionaría compatibilidad con la aplicación Windows IIS sin cambios significativos y no requeriría una formación importante.
  • El equipo decide seguir usando las Acciones de GitHub con ejecutores autohospedados, pero migrarán a una máquina virtual establecida a escala con la capacidad de escalar a cero nodos cuando no se estén usando.

Diseñe su arquitectura para que sea compatible con los límites de costos

Implemente límites de costos a través de soluciones de plataforma, directivas, patrones de diseño de infraestructuras y aplicaciones, o automatización para ayudar a asegurar que los costos de su entorno en la nube se mantienen dentro de los presupuestos.

La aplicación a través de directivas de gobernanza o de patrones de diseño de aplicaciones incorporados puede evitar cargos accidentales o no aprobados.

Desafío de Contoso

  • El sistema existente no tiene límites de costos, pero rara vez cambia, por lo que ha habido poca motivación para desarrollarlas.
  • Los propietarios del entorno de HCI han establecido un límite de recursos que se aplica a esta carga de trabajo, impidiendo efectivamente que la carga de trabajo consuma un exceso de recursos de proceso y almacenamiento.
  • Al equipo le preocupa que el traslado a la nube suponga el riesgo de incurrir en costos inesperados y no está seguro de cómo minimizar ese riesgo.

Aplicación del enfoque y los resultados

  • El equipo se forma sobre las soluciones de Microsoft Cost Management.
  • El equipo planea configurar límites de escalado para los planes de Azure App Service.
  • El equipo planea configurar una directiva de denegación para determinadas SKU de máquina virtual con precios más altos para impedir que esas SKU se implementen.
  • El equipo planea implementar la automatización para ayudar a controlar los costos de almacenamiento. Determinados tipos de datos pasarán automáticamente del almacenamiento de datos de acceso frecuente al almacenamiento de datos de acceso esporádico o de archivo en función de criterios como la fecha del último acceso. Este tipo de automatización no es posible en el entorno de HCI.

Comprobación de conocimientos

1.

¿Cuál de estos es uno de los factores que debería tener en cuenta a la hora de medir el costo total de su carga de trabajo?

2.

Al ajustar el diseño de la carga de trabajo para el costo, ¿cuál de estos debe priorizar?

3.

Si el equipo de cargas de trabajo quiere asegurarse de que el costo de Azure de la carga de trabajo se mantiene bajo control, ¿cuál de estas cosas debería hacer?