Ir al contenido principal

Arquitectura esencial de la computación en nube


AWSHybrid cloud graphic
Microsoft Azure




               Desde hace mas de 10 años la nube ha cambiado la manera en que las organizaciones solucionan los retos a los que se enfrentan y cómo se diseñan los sistemas y las aplicaciones. El rol de un arquitecto de soluciones no solo es ofrecer valor empresarial mediante los requisitos funcionales de la aplicación, sino también asegurarse de que la solución está diseñada de manera que sea escalable, flexible, eficaz y segura. La arquitectura de la solución tiene que ver con el planeamiento, el diseño, la implementación y la mejora continuos de un sistema de tecnología. La arquitectura de un sistema debe equilibrar y alinear los requisitos del negocio con las funcionalidades técnicas necesarias para ejecutar esos requisitos. Incluye una evaluación de los riesgos, los costos y las funcionalidades en todo el sistema y sus componentes.

Ilustración que muestran los pilares de una buena arquitectura de Azure

Diseño de una arquitectura

    Aunque no hay una solución única para diseñar una arquitectura, hay algunos principios universales que se aplicarán con independencia de la arquitectura, tecnología o proveedor en la nube. Aunque no son exhaustivos, centrarse en estos conceptos le ayudará a crear una base confiable, segura y flexible para la aplicación.
Una arquitectura excelente comienza con una base sólida que se basa en cuatro pilares:
  • Seguridad
  • Rendimiento y escalabilidad
  • Disponibilidad y capacidad de recuperación
  • Eficiencia y operaciones

Seguridad

    Los datos son el componente más valioso de la huella técnica de una organización. En este pilar, podrá centrarse en proteger el acceso a la arquitectura mediante la autenticación y la protección de la aplicación y los datos frente a puntos vulnerables 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 protección contra diversas amenazas, como la intrusión de red y los ataques de DDoS, pero aun así deberá incorporar seguridad en la aplicación, los procesos y la cultura corporativa.
Ilustración que muestra los tipos de amenazas y ataques de seguridad que podrían afectar a los datos en la nube.

Rendimiento y escalabilidad

    Para que una arquitectura funcione bien y sea escalable, debe hacer corresponder adecuadamente la capacidad de los recursos con la demanda. Tradicionalmente, las arquitecturas en la nube lo lograban escalando aplicaciones basadas dinámicamente en actividades de la aplicación. La demanda de servicios cambia, por lo que es importante que la arquitectura tenga la posibilidad de ajustarse a esta demanda también. Si diseña la arquitectura teniendo en cuenta el rendimiento y la escalabilidad, proporcionará una gran experiencia a los clientes, y además le resultará rentable.
Ilustración que muestra cómo los recursos de la nube se escalan de forma dinámica a petición, lo que resulta en un uso muy eficiente. Por el contrario, cuando los recursos se implementan en un nivel fijo, el resultado es un uso ineficaz cuando hay poca demanda y escasez durante los períodos de demanda elevada.

Disponibilidad y capacidad de recuperación

    El mayor temor de un arquitecto es que la arquitectura esté fuera de servicio y no haya forma de recuperarla. Un entorno en la nube correcto está diseñado de manera que se anticipa a los errores en todos los niveles. Parte fundamental en esta anticipación a los errores es el diseño de un sistema que pueda recuperarse tras un error, en el plazo de tiempo requerido por las partes interesadas y los clientes.
Ilustración que muestra dos máquinas virtuales en una red virtual. Una de las máquinas se muestra como errónea mientras que la otra está en funcionamiento para atender las solicitudes de los clientes.

Eficiencia y operaciones

    Queremos diseñar nuestro entorno en la nube de forma que sea rentable y eficaz. Se deben identificar las ineficiencias y las pérdidas de gastos en la nube para garantizar que invierte el dinero en aquello a lo que podemos sacar el mejor partido. Debe tener una buena arquitectura de supervisión en marcha para poder detectar errores y problemas antes de que ocurran o, como mínimo, antes de que nuestros clientes los perciban. También es preciso tener visibilidad sobre cómo nuestra aplicación usa sus recursos disponibles, mediante una sólida plataforma de supervisión.
Ilustración que muestra una calidad, velocidad y eficiencia cada vez mayores al tiempo que los costos se mantienen bajos.

Responsabilidad compartida
    El paso a la nube presenta un modelo de responsabilidad compartida. En este modelo, el proveedor de la nube administrará ciertos aspectos de la aplicación y deja al usuario la responsabilidad restante. En un entorno local, usted es el responsable de todo. A medida que pase a la infraestructura como servicio (IaaS), a continuación a la plataforma como servicio (PaaS) y al software como servicio (SaaS), el proveedor de la nube se enfrentará más a esta responsabilidad. Esta responsabilidad compartida desempeñará un papel en la decisiones de arquitectura, ya que pueden tener implicaciones en los costos, las funcionalidades operacionales, la seguridad y las funcionalidades técnicas de la aplicación. Al trasladar estas responsabilidades al proveedor, puede centrarse en aportar valor a su empresa y alejarse de las actividades que no sean una función empresarial esencial.
Ilustración que muestra el nivel de las responsabilidades compartidas en cada tipo de modelo de servicios en la nube

Opciones de diseño
    En una arquitectura ideal, se crearía el entorno más seguro, de mayor rendimiento, de alta disponibilidad y el más eficaz posible. Sin embargo, 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 venir en forma de dinero real, de tiempo necesario para entregar o de agilidad operativa. Cada organización tiene diferentes prioridades, lo cual afectará a las opciones de diseño que adopten para cada uno de estos aspectos. Al diseñar la arquitectura, deberá determinar qué ventajas y desventajas son aceptables y cuáles no.
    Desea que su arquitectura sea segura, escalable, disponible y recuperable. Para hacer que eso sea posible, tendrá que tomar decisiones basadas en el costo, en las prioridades de organización y en el riesgo.

Comentarios

Entradas populares de este blog

Descubra tus Fortalezas como Informático.

Escrito por Ing. César Miguel Perdomo Matheus Siempre soñamos que al egresar como profesional, ya sea en la Ingeniería en Informática, de Sistema  o carreras afines en el ramo de la Informática,  decimos ilusoriamente “ Ya termine la carrera,  no más exámenes largos y  tediosos.  Ahora voy a vivir la vida ”.   Pero al llegar a la realidad, en el momento de obtener su respectiva titularidad como profesional, le llega una pregunta ¿Cómo puedo mejorar mi calidad de vida?, según la Real Academia de la Lengua Española, calidad de vida es “Conjunto de condiciones que contribuyen a hacer agradable y valiosa la vida.” Para obtener este “ Bienestar  Subjetivo “, el profesional egresado puede estar activo en el Mercado Laboral o puede estar buscando oportunidades de empleos o emprendiendo su propio negocio como desarrollador o consultor Independiente en algún ramo de las TIC’s.  Este puede estar en alguna de estas situaciones, e...

Debilidades y Fortalezas del Ingeniero en Informática

Escrito por Ing. César Miguel Perdomo Matheus   En la vida de un ser humano, este   nace con talentos innatos, algunos de estos mismos, se desarrollan más que otros, en sus distintas etapas de vida, debido a las circunstancias que lo rodean   que ser diferencia de otro, en todos los aspectos.  Existen dones que pueden ser desarrollados, u otros que son ubicuos, donde podemos nombrar las fortalezas y talentos.          Siempre se aprende que para lograr una verdadera calidad de vida, es preciso,   realizar una  actividad constantemente para que la misma se convierta en una fortaleza, esto es por repetición, otro aspecto es que para sobresalir  no es necesario tener fortaleza  en todos los aspectos del rol que desempeña, sino que la misma practica nos hará expertos y  sobresalir es posible cuando se optimizan las fortalezas, no cuando se afianzan las debilidades, siendo lo verdaderamente importante el estar...

Uso de REST API en Postman en Dynamics 365 Customer Engagement

     A veces al crear sistemas Web/Mobiles frecuentemente se tienen que integrar con un sistema matriz , en el cual se conectan con Servicios para consumir , crear y editar datos desde de sistemas usando aplicaciones en cual usan REST API.     Primero definamos ¿Que es R EST API?, es un a interf az de program aci ón de a pl ic acion es ( API ) que util iza los protocol os HTTP para ob t ener dat os y real iz ar oper acion es en los rec urs os de Dynamics 365 Customer Eng agement . Est a API se p ued e us ar para cre ar , le er , actual iz ar y elim inar rec urs os , com o contact os , cu ent as , cas os , etc .     Siempre necesitamos una herramienta de Desarrollo lo ideal es el uso de Post man, es un a her ram ient a de des ar roll o de API que se p ued e us ar para prob ar y document ar la API de Dynamics 365 Customer Eng agement . Est a her ram ient a perm ite a los ...