Pilares del Marco de arquitectura de Azure

Completado

La nube ha cambiado la manera en que las organizaciones solucionan sus retos empresariales y en que se diseñan los sistemas y las aplicaciones. El papel de un arquitecto de soluciones no es solo ofrecer valor empresarial por medio de los requisitos funcionales de la aplicación. También consiste en garantizar que la solución se diseñe de maneras escalables, resistentes, eficientes y seguras.

La arquitectura de la solución tiene que ver con el planeamiento, el diseño, la implementación y la mejora continua de un sistema tecnológico. La arquitectura de un sistema debe equilibrar y alinear los requisitos empresariales con las capacidades técnicas necesarias para ejecutar esos requisitos. La arquitectura final es un equilibrio de riesgo, costo y capacidad en todo el sistema y sus componentes.

Marco de arquitectura de Azure

El Marco de arquitectura de Azure es un conjunto de doctrinas que orientan a la hora de compilar soluciones de alta calidad en Azure. Aunque no hay un enfoque genérico para diseñar una arquitectura, hay algunos conceptos universales que se aplican con independencia de la arquitectura, la tecnología o el proveedor de nube.

Aunque no son exhaustivos, centrarse en estos conceptos puede ayudar a establecer una base confiable, segura y flexible para la aplicación.

El Marco de arquitectura de Azure consta de cinco pilares:

  • Optimización de costos
  • Excelencia operativa
  • Eficiencia del rendimiento
  • Confiabilidad
  • Seguridad

Ilustración en la que se muestran los pilares del Marco de arquitectura de Azure.

Optimización de costos

Quiere diseñar el entorno de nube de forma que sea rentable para las operaciones y el desarrollo. Identifique la ineficacia y el desperdicio en el gasto en la nube para garantizar que el dinero se invierta en aquello a lo que se puede sacar más partido.

Ilustración en la que se muestran una calidad, velocidad y eficacia cada vez mayores al tiempo que los costos se mantienen bajos.

Excelencia operativa

Si se aprovechan los procedimientos de desarrollo modernos, como DevOps, se pueden habilitar ciclos de desarrollo e implementación más rápidos. Debe disponer de una buena arquitectura de supervisión para poder detectar errores y problemas antes de que se produzcan o, como mínimo, antes de que los clientes los detecten. La automatización es un aspecto clave de este pilar para eliminar la varianza y el error a la vez que se aumenta la agilidad operativa.

Eficacia del rendimiento

Para que una arquitectura funcione bien y sea escalable, debe ajustar adecuadamente la capacidad de los recursos a la demanda. Tradicionalmente, las arquitecturas en la nube logran este equilibrio mediante el escalado dinámico de aplicaciones en función de la actividad de la aplicación. La demanda de servicios cambia, por lo que es importante que la arquitectura pueda ajustarse a ella. Si diseña la arquitectura teniendo en cuenta el rendimiento y la escalabilidad, los clientes tendrán una excelente experiencia y a la vez obtendrá rentabilidad.

Ilustración en la que se muestra cómo los recursos de la nube se escalan de forma dinámica en función de la demanda, lo que da lugar a un uso muy eficaz. Cuando los recursos se implementan en un nivel fijo, se produce un uso ineficaz durante la baja demanda y la escasez durante la demanda alta.

Confiabilidad

El mayor temor de un arquitecto es que la arquitectura quede fuera de servicio y no haya forma de recuperarla. Un entorno en la nube satisfactorio está diseñado de manera que se anticipa a los errores en todos los niveles. Parte de la anticipación a los errores consiste en diseñar un sistema que se pueda recuperar tras un error en el plazo de tiempo requerido por las partes interesadas y los clientes.

Ilustración en la que se muestran dos máquinas virtuales en una red virtual. Una de las máquinas aparece como errónea, mientras que la otra trabaja para atender las solicitudes de los clientes.

Seguridad

Los datos son el elemento más valioso de la superficie técnica de la organización. En este pilar, la prioridad es proteger el acceso a la arquitectura mediante la autenticación y proteger la aplicación y los datos frente a vulnerabilidades de la red. La integridad de los datos también debe protegerse con herramientas como el cifrado.

Debe pensar en la seguridad a lo largo de todo el ciclo de vida de una aplicación, desde el diseño y la implementación al despliegue y las operaciones. La nube proporciona medidas de protección frente a diversas amenazas, como la intrusión de red y los ataques DDoS. Pero sigue siendo necesario integrar la seguridad en la aplicación, los procesos y la cultura de la organización.

Ilustración en la que se muestran los tipos de amenazas y ataques de seguridad que podrían afectar a los datos en la nube.

Principios generales de diseño

Además de cada uno de estos pilares, hay algunos principios de diseño sistemáticos que se deben tener en cuenta en la arquitectura.

  • Permitir la evolución de la arquitectura: ninguna arquitectura es estática. Permita la evolución de la arquitectura mediante el aprovechamiento de los nuevos servicios, herramientas y tecnologías a medida que estén disponibles.

  • Usar los datos para tomar decisiones: recopile datos, analícelos y úselos para tomar decisiones sobre la arquitectura. Desde los datos de costos hasta el rendimiento, pasando por la carga de usuarios, el uso de datos puede guiarle para tomar las decisiones correctas en su entorno.

  • Formar y habilitar: la tecnología en la nube evoluciona rápidamente. Forme a los equipos de desarrollo, operaciones y negocios para ayudarlos a tomar las decisiones adecuadas y compile soluciones para solucionar problemas empresariales. Documente y comparta la configuración, las decisiones y los procedimientos recomendados dentro de la organización.

  • Automatizar: la automatización de actividades manuales reduce los costos operativos, minimiza los errores cometidos en los pasos manuales y proporciona coherencia entre entornos.

Responsabilidad compartida

El paso a la nube presenta un modelo de responsabilidad compartida. En este modelo, el proveedor de nube administra determinados aspectos de la aplicación y deja al usuario la responsabilidad restante.

En un entorno local, el usuario es responsable de todo. A medida que pasa a una infraestructura como servicio (IaaS), luego a plataforma como servicio (PaaS) y a software como servicio (SaaS), el proveedor de nube asume más parte de esta responsabilidad.

Esta responsabilidad compartida juega un papel en las decisiones de arquitectura, ya que estas pueden tener implicaciones en los costos, la seguridad y las capacidades técnicas y operativas de la aplicación. Al trasladar estas responsabilidades al proveedor, puede centrarse en aportar valor a la empresa y desentenderse de las actividades que no sean una función empresarial esencial.

Ilustración en la que se muestra el nivel de responsabilidades compartidas en cada tipo de modelo de servicio en la nube.

Opciones de diseño

En una arquitectura ideal, se compilaría el entorno más seguro y con el mayor rendimiento, disponibilidad y eficacia posibles. Pero al igual que con todo, hay ventajas e inconvenientes.

Crear un entorno con el nivel más alto en todos estos aspectos tiene un costo. Ese costo puede ser en forma de dinero, tiempo necesario para entregar o agilidad operativa. Cada organización tiene diferentes prioridades que repercuten en las opciones de diseño que se adoptan en cada pilar. Al diseñar la arquitectura, es necesario determinar qué ventajas y desventajas son aceptables y cuáles no.

Al compilar una arquitectura de Azure, hay que tener en cuenta muchas consideraciones. Se recomienda que la arquitectura sea segura, escalable, disponible y recuperable. Para hacerlo posible, tiene que tomar decisiones basadas en el costo, las prioridades de la organización y el riesgo.