Guía para la arquitectura de computación en la nube
En comparación con una configuración clásica basada en hardware, una arquitectura de computación en la nube brinda mucha más flexibilidad, opciones de diseño y oportunidades de ahorro de costos. Sin embargo, estos beneficios tienen un precio, ya que una plataforma en la nube suele ser más compleja de entender y tiene más partes móviles que una infraestructura física local promedio.
Este artículo es una introducción a la arquitectura de computación en la nube y los componentes que operan dentro de un entorno de nube. Siga leyendo para saber cómo funcionan los diferentes sistemas en conjunto para crear una nube funcional y proporcionar a los usuarios finales recursos de TI a pedido (servidores, aplicaciones, bases de datos, redes, etc.).
Explicación de la arquitectura de computación en la nube
La arquitectura de computación en la nube se refiere a la combinación de sistemas y tecnologías que, cuando se integran, crean una infraestructura de TI que extrae, agrupa y comparte recursos bajo demanda a través de una red. Cada arquitectura de nube tiene dos componentes principales:
- Front-end (elementos visibles para el usuario final, como aplicaciones web y navegadores, dispositivos móviles, interfaz de usuario, etc.).
- Back-end (la sección "nube" del sistema con almacenamiento de datos, servidores dedicados, sistemas operativos, medidas de seguridad, etc.).
Una arquitectura de computación en la nube también requiere una red a través de la cual se comunican los extremos delantero y trasero. Los dos componentes suelen compartir datos a través de Internet, a menos que un arquitecto prefiera utilizar una red privada (la opción preferida en la arquitectura de nube híbrida y privada).
Independientemente del tipo de red, la capa de comunicación entre el front-end y el back-end debe tener:
- Gran ancho de banda.
- Sin latencia.
- Alta disponibilidad
- Máxima seguridad de red.
En su núcleo de diseño, la arquitectura de computación en la nube es una combinación de:
- Arquitectura basada en eventos (EDA): Un diseño de software en el que los servicios desacoplados producen, detectan y reaccionan a los eventos del sistema.
- Arquitectura orientada a servicios (SOA): Un sistema en el que un conjunto de componentes proporciona servicios a otros elementos a través de un protocolo de comunicación.
Una empresa tiene muchas razones para implementar una arquitectura de computación en la nube a pesar de que estos sistemas son más complejos que una configuración local. Algunas de las razones principales son:
- Tiempo de comercialización más rápido.
- Aprovisionamiento más rápido de recursos.
- Escalabilidad en tiempo real (hacia arriba y hacia abajo).
- La capacidad de usar soluciones nativas de la nube (como Kubernetes).
- Cumplimiento más confiable debido a una mejor visibilidad de los datos.
- Ahorro de costos (sin necesidad de hardware local y control estricto sobre el uso de recursos).
Front End de la arquitectura de computación en la nube
El front-end actúa como cliente en la arquitectura y puede comunicarse con el back-end a través de Internet o una red privada. El componente frontal es visible para el usuario final y permite el acceso a la plataforma en la nube.
Los dos elementos principales de la parte delantera son:
- La aplicación o el software (normalmente, un navegador web o una aplicación nativa) que el cliente utiliza para acceder e interactuar con la plataforma en la nube. La aplicación o el navegador tiene una interfaz de usuario dedicada, que algunos arquitectos de la nube consideran un componente frontal independiente.
- El dispositivo del lado del cliente a través del cual el usuario se conecta e interactúa con el navegador o la aplicación (teléfono móvil, tableta, PC, computadora portátil, etc.).
Los elementos de la interfaz son responsables de:
- Permitir que el usuario interactúe con la nube.
- Enviar consultas al back-end a través del middleware.
- Solicitud de servicios desde el back-end.
- Presentación de toda la información relacionada con la nube (utilización de recursos, preocupaciones de seguridad, alertas de monitoreo, patrones de uso, etc.).
La nube maneja más procesamiento que el dispositivo del lado del cliente, que es otro beneficio notable de la computación en la nube que es especialmente útil para equipos remotos y empresas con una política BYOD.
Back End de la arquitectura de computación en la nube
En una arquitectura de computación en la nube, el back-end se refiere a la propia nube. Este componente contiene varios sistemas, servidores y unidades de almacenamiento que tienen varias funciones clave:
- Ejecute programas y aplicaciones relacionados con la nube.
- Otorgue funcionalidad al front-end y responda cualquier consulta que envíe el usuario.
- Implementar y escalar recursos.
- Supervisar todas las operaciones y actividades.
- Mantenga seguros los datos y los procesos en la nube.
- Conecte todos los servicios y aplicaciones.
- Ejecutar mecanismos de control de tráfico.
- Gobierne los protocolos de la nube.
El proveedor de la nube es quien administra el componente de back-end. Sin embargo, algunas empresas optan por desarrollar y mantener su nube, en cuyo caso el equipo interno se vuelve responsable de las operaciones de back-end. Una empresa también puede dividir las tareas de back-end entre el equipo interno y el del proveedor (una opción común en empresas altamente reguladas que deben cumplir con HIPAA o PCI).
Mientras que el front-end es solo una interfaz de usuario con una conexión, el back-end es lo que le da a la nube sus principios principales:
- Recursos a pedido que un usuario puede configurar sin la ayuda de un proveedor de servicios.
- La capacidad de que un cliente se conecte independientemente de su ubicación.
- Agrupación de recursos que permite al proveedor agrupar recursos y servir a múltiples usuarios en un entorno dinámico de múltiples inquilinos.
- Rápida elasticidad para respuestas rápidas a la demanda del consumidor.
- Servicio medido que permite al usuario final monitorear el uso de la nube en detalle.
La parte trasera tiene más componentes y es significativamente más grande que su contraparte delantera. A continuación se muestra una mirada más detallada a cada componente de back-end que puede existir en una arquitectura de computación en la nube.
Capa de aplicación
Cuando un usuario final interactúa con el front-end, la capa de aplicaciones del back-end recibe la consulta y maneja las solicitudes del cliente. Esta capa tiene varias funciones vitales:
- Proporcionar a los usuarios acceso a servicios en la nube.
- Conecte los extremos trasero y delantero.
- Responda a las consultas de front-end.
- Coordine las necesidades del consumidor con recursos en el back-end.
Capa de servicio
La capa de servicio agrega utilidad al back-end de la arquitectura de computación en la nube. Este componente maneja cada tarea y solicitud a través de servicios de almacenamiento de datos, entornos de desarrollo de aplicaciones, servicios web, etc.
Los servicios pueden realizar una variedad de tareas y funciones en un tiempo de ejecución en la nube. El tipo de servicios que un cliente puede usar depende del modelo de entrega. Hay tres métodos principales de entrega basados en la nube:
- Infraestructura como servicio (IaaS): IaaS brinda acceso y control sobre los recursos de la arquitectura de computación en la nube (almacenamiento de datos, servidores, infraestructura de red, máquinas virtuales, etc.).
- Software como servicio (SaaS): SaaS permite que un cliente aloje software de aplicación en la nube. En un modelo SaaS, el proveedor maneja todas las actualizaciones y el desarrollo, y el proveedor mantiene la infraestructura subyacente.
- Plataforma como servicio (PaaS): El modelo PaaS proporciona a los usuarios una plataforma bajo demanda para el desarrollo de software. Los proveedores alojan la pila de tecnología y el conjunto de herramientas completos, pero el usuario maneja el desarrollo de software, la administración de aplicaciones y las actualizaciones.
Los modelos de entrega no son modelos de implementación en la nube (como híbridos, comunitarios o multinube). Mientras que el modelo de entrega determina el tipo de servicios a los que tienen acceso los usuarios, el modelo de implementación define el tipo de nube en cuestión.
Middleware
El middleware se refiere a los componentes de software que permiten que los dispositivos y aplicaciones en red se comuniquen. Este componente es responsable de las conexiones entre:
- Aplicaciones.
- Servicios.
- Nubes de tiempo de ejecución.
- Unidades de almacenamiento.
- Dispositivos de infraestructura.
- Soluciones de seguridad.
- La parte delantera.
Al igual que en un centro de datos tradicional, el middleware se basa en bases de datos y aplicaciones de comunicación para establecer la coordinación entre diferentes sistemas.
Almacenamiento en la nube
El almacenamiento es la sección del back-end que guarda todos los datos de la nube. El tipo y la capacidad de almacenamiento en la nube varían según el proveedor de la nube y los requisitos del cliente. Este servicio de computación en la nube permite al usuario almacenar datos en la nube en lugar de almacenarlos en el sitio, lo cual es una opción más segura y conveniente.
Infraestructura en la nube
Aunque el usuario final nunca ve ni interactúa con la infraestructura de la nube, las nubes también requieren hardware. La infraestructura de la nube incluye todas las funciones de una sala de servidores estándar en un centro de datos, que incluyen:
- Servidores.
- Unidades centrales de procesamiento (CPU).
- Unidades de procesamiento de gráficos (GPU).
- Placas base.
- Unidades de almacenamiento (discos duros y SSD).
- Equipo de red con enrutadores y conmutadores.
- Tarjetas de red y aceleradoras.
- Infraestructura de refrigeración y energía.
La capa de infraestructura también incluye el software necesario para ejecutar y administrar todo el hardware.
Hipervisor
Un hipervisor es una pieza de software que crea y ejecuta máquinas virtuales. Un hipervisor asigna recursos de un solo dispositivo (CPU, memoria, almacenamiento, etc.) y permite que varias máquinas virtuales con sistemas operativos separados se ejecuten en el mismo dispositivo.
La virtualización proporcionada por un hipervisor aumenta la eficiencia de los servidores, el almacenamiento y las redes en una nube de múltiples inquilinos. Sin embargo, este componente puede afectar el rendimiento general si el dispositivo host tiene demasiadas máquinas virtuales.
Software de Gestión
El software de gestión de una arquitectura de computación en la nube garantiza que todas las operaciones y programas se ejecuten sin problemas y de manera eficiente. Algunas de las tareas que realizan estos sistemas son:
- Auditoría de seguridad y cumplimiento.
- Supervisión del rendimiento y la capacidad.
- Seguimiento de uso.
- Despliegue de nuevas aplicaciones.
- Integración de datos.
- Gestión de recuperación ante desastres.
El software de gestión también incluye programas y herramientas para la automatización. La automatización es un valor central de la nube y uno de los principales puntos de venta de la tecnología. En una arquitectura de computación en la nube, las herramientas de automatización tienen tres tareas vitales:
- Escale hacia arriba o hacia abajo para satisfacer las necesidades de uso o tráfico.
- Asegure la gobernanza en todo el entorno de la nube.
- Reaccione a los eventos siguiendo las instrucciones de un umbral predefinido o una política de nube.
Capa de seguridad
La capa de seguridad es un aspecto vital de la arquitectura de la nube. Dado que la mayoría de las nubes a nivel de proveedor son un entorno multiinquilino de alto riesgo, los proveedores suelen confiar en varias técnicas para garantizar la seguridad informática en la nube, como:
- Copias de seguridad de datos regulares e inmutables.
- Cifrado de datos (en reposo, en movimiento y en uso)
- Herramientas de depuración de gama alta.
- Cortafuegos virtuales (tanto para la configuración completa como para inquilinos intermedios).
- Principios de seguridad de confianza cero.
- Autenticación multifactor y contraseñas seguras.
- Sistemas de detección de intrusos (IDS).
- Software antivirus y antimalware.
- Prevención de ransomware.
Prácticas recomendadas de arquitectura de computación en la nube
No existe una forma única de construir una arquitectura de computación en la nube eficiente, pero se aplican algunas pautas a cada diseño. Estas son las mejores prácticas que debe considerar al diseñar una arquitectura nueva o adaptar una existente:
- Primero la seguridad: Al crear una arquitectura, su equipo de seguridad o SecOps debe integrar la protección en el diseño desde el principio. Cuanto más sólido sea el sistema de seguridad al principio, menos riesgos tendrá de fugas e infracciones de datos a medida que crece el entorno.
- Plan para picos de uso: Intente pronosticar y comprender cómo se comportará la configuración durante las cargas de trabajo regulares y máximas. Asegúrese de que la arquitectura funcione bien en cualquier escenario y prepare mecanismos óptimos para escalar.
- No se arriesgue con la ciberseguridad: Además de planificar la seguridad desde el principio, también debe proteger su arquitectura con todas las medidas de ciberseguridad disponibles. Encuentre un proveedor que ofrezca cifrado de datos, administración regular de parches, protección de terminales, recuperación ante desastres en la nube y políticas sólidas.
- Configurar monitoreo continuo: Supervisar continuamente el entorno con una herramienta como Nagios para detectar problemas de rendimiento y uso crea patrones perspicaces que ayudan a optimizar la configuración.
- Optimizar y reducir costes: Aproveche los procesos automatizados y el seguimiento de la utilización para eliminar gastos innecesarios y asegurarse de no gastar demasiado en recursos.
¿Listo para alejarse del hardware local?
El concepto de arquitectura de computación en la nube sigue siendo vago para muchos gerentes y equipos. Proporcionar este artículo a los miembros del personal que no son técnicos ayudará a desmitificar la nube y llevará a su empresa un paso más cerca de la migración a la nube.
Computación en la nube
- Comprobación de la realidad de la computación en la nube
- Una guía para la computación en la nube en Linux
- Por qué es importante la formación en computación en la nube
- Las cinco principales certificaciones de informática en la nube
- Tendencias de computación en la nube de 2019 en adelante
- Consejos y trucos de Cloud Computing
- Computación en la nube:todo lo que necesita saber
- Cómo convertirse en un experto en computación en la nube
- Aprenda la computación en la nube desde cero
- Los 5 mejores trabajos de nubes de 2020
- Infraestructura de computación en la nube; Comprensión de los conceptos básicos