Pilares del Marco de arquitectura de Azure
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
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.
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.
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.
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.
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.
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.