Info

¿Qué es Cloud Native?

10 de Mayo de 2024 | min


¿Qué es Cloud Native?

Definir qué es cloud native, cloud nativo en español, no es tarea fácil ya que en la actualidad el término se está usando en contextos muy diversos. Pero, a grandes rasgos, el cloud native es un nuevo método de desarrollo de software que, junto con un conjunto de tecnologías, herramientas y procesos, transforman la forma en la que se pueden construir, implementar y gestionar las aplicaciones.

Características del Cloud Native

Entre las características básicas de las aplicaciones cloud native se incluyen las siguientes:

  1. El código se empaqueta como contenedor

  2. Diseñado como colecciones de microservicios

  3. Los desarrolladores y las operaciones de TI trabajan juntos en un entorno ágil y estrechamente integrado

  4. Implementado y gestionado en una infraestructura elástica de cloud

  5. Asignación de recursos de infraestructura automatizada y basada en políticas

RECURSOS RELACIONADOS

7 formas de simplificar la gestión del ciclo de vida de Kubernetes

Ventajas del sistema Cloud Native para empresas

Si es una de esas empresas que se están preguntando qué es cloud native y cómo empezar el viaje hacia este tipo de arquitectura, lea atentamente los siguientes puntos. 

Las empresas que se embarcan en un viaje hacia lo "nativo cloud" están adoptando contenedores y Kubernetes, junto con diferentes tecnologías comerciales y de código abierto de un amplio ecosistema cloud nativo.

Desarrollo de aplicaciones más rápido y mayor agilidad empresarial

Las organizaciones que se decantan por la arquitectura cloud native están adoptando contenedores y Kubernetes, junto con diferentes tecnologías comerciales y de código abierto de un amplio ecosistema cloud native en expansión.

Los contenedores y las tecnologías nativas cloud permiten a las empresas acelerar el desarrollo de aplicaciones, actualizar las aplicaciones sin interrupciones, escalarlas de manera eficiente y transferirlas fácilmente a diferentes entornos. Además, estas funcionalidades se traducen en una mayor agilidad de negocio y un aumento de las ventajas competitivas.

Resolución de problemas empresariales críticos con Cloud Native Containers

Los contenedores resuelven algunos problemas críticos para las empresas: libertad para la ejecución en cualquier lugar, un paquete de software sólido para desarrolladores, actualizaciones de servicios, escalabilidad, disponibilidad y eficiencia de recursos en un paquete independiente de proveedor.

Gestión eficiente de infraestructuras con Kubernetes

Kubernetes proporciona una capa de infraestructura para que el equipo de TI pueda operar a escala de forma programática y repetible. Dado que Kubernetes admite implantaciones en nubes públicas y locales, proporciona un modelo operativo común en todos los entornos. Esto convierte a Kubernetes en una plataforma ideal para empresas que operan tanto en entornos cloud native como en entornos empresariales tradicionales.

RECURSOS RELACIONADOS

Nutanix y Red Hat respaldan la ejecución de las aplicaciones de datos más importantes

Arquitectura Cloud Native

La arquitectura cloud native utiliza contenedores y Kubernetes para construir aplicaciones como conjuntos de piezas más pequeñas y combinables, que se escalan de manera eficiente, se actualizan de manera ininterrumpida y migran sin problemas a otros entornos. Es una tecnología rentable, con una mayor seguridad y una automatización más flexible.

El stack de Kubernetes on-premise

Vamos a explorar las diferentes capas del stack de Kubernetes on-premise, desde la infraestructura sobre la que se ejecuta Kubernetes hasta los servicios que se ejecutan sobre Kubernetes y que los desarrolladores pueden aprovechar para acelerar la entrega de aplicaciones. Tenga en cuenta que algunos componentes se pueden incluir en varias partes del stack. Por ejemplo, una distribución de Kubernetes puede incluir un registro de contenedores como Harbor o Quay. Como alternativa, se puede ofrecer un registro de contenedores como servicio alojado o administrado para su uso con cualquier distribución.

Plataforma de procesamiento

Kubernetes es muy flexible en cuanto a dónde se puede implementar, gracias a que la innovación está ampliando las opciones de cómo y dónde se puede operar. Por lo general, Kubernetes requiere un mínimo de 3 nodos con conectividad de red completa entre ellos y almacenamiento conectado. Hoy en día, Kubernetes se ejecuta más comúnmente sobre una infraestructura virtual como VMware. Los equipos físicos y la HCI son otras dos opciones comunes.

Las capacidades adicionales pueden facilitar el aprovisionamiento y el funcionamiento de un clúster Kubernetes. Las infraestructuras controladas mediante API (por ejemplo, Cluster API, Terraform, etc.) facilitan el aprovisionamiento y la conexión de nuevos nodos. Los hipervisores personalizados pueden ofrecer aislamiento de la carga de trabajo para conectar los agujeros de seguridad en los contenedores. Un equilibrador de carga fuera del clúster de Kubernetes es útil para hacer que las cargas de trabajo estén disponibles y reubicarlas y escalarlas dinámicamente. Algunas cargas de trabajo pueden beneficiarse de hardware personalizado, como GPUs o TPUs.

Distribuciones de Kubernetes

Desde el crecimiento explosivo de Kubernetes tras su lanzamiento en 2015, existen más de 100 distribuciones de Kubernetes y plataformas alojadas de gigantes tecnológicos y startups por igual. Estas empresas toman el código central de Kubernetes y lo combinan con otros proyectos como un stack de redes, herramientas de gestión de clústeres, registro, supervisión, etc., para generar una distribución.

Servicios de contenedores

Un entorno útil de Kubernetes requiere servicios de infraestructura adicionales más allá de Kubernetes. A veces se incluyen en las distribuciones o se añaden como servicios independientes, e incluyen algunos elementos básicos como un registro de contenedores, Ingress, equilibrador de carga, almacenes secretos o gestor de certificados, por nombrar algunos.

Según las muchas empresas que construyen e implementan aplicaciones en Kubernetes, hay muchos servicios centrales de los que dependen que también se ejecutan normalmente en Kubernetes. Algunos ejemplos son las bases de datos (por ejemplo, Redis, Postgres), Pub Sub (Kafka), indexación (ElasticSearch), servicios de CI/CD (Gitlab, Jenkins) y almacenamiento (Portworx, MayaData, Minio, Red Hat).

Muchas empresas han desarrollado productos que gestionarán o darán soporte a estas aplicaciones cloud native que se ejecutan en la distribución de Kubernetes elegida por el cliente. Lo más notable es probablemente Azure Arc Data Services de Microsoft, que proporciona Postgres y MS SQL como servicios gestionados en entornos de clientes, pero hay muchos otros, como Confluent for Kafka, Crunchy Data for Postgres, Redis Enterprise for Redis, Percona, Elasticsearch, Minio, Mayadata, etc.

Contenedores

Los contenedores son la unidad atómica del software nativo cloud. Un contenedor comprende un fragmento de código empaquetado con todas sus dependencias (binarios, bibliotecas, etc.) y se ejecuta como proceso aislado. Esto se traduce en un nuevo nivel de abstracción. Al igual que una máquina virtual (VM) abstrae los recursos de procesamiento del hardware subyacente, un contenedor abstrae una aplicación del sistema operativo subyacente.

Los contenedores se diferencian de las máquinas virtuales en varios aspectos importantes. Son significativamente más pequeños en cuanto a recursos, más rápidos de poner en marcha y mucho más fáciles de transportar entre entornos cloud. A diferencia de las máquinas virtuales, son de naturaleza efímera.

Los contenedores allanan el camino para la arquitectura de software de microservicios. Aunque las aplicaciones tradicionales son de naturaleza monolítica, las aplicaciones basadas en microservicios se construyen como conjuntos de piezas (servicios) más pequeñas combinables que pueden escalarse independientemente y permitir actualizaciones sin interrupciones. Un servicio comprende uno o más contenedores que realizan una función común.

Las aplicaciones basadas en contenedores/microservicios permiten prácticas de desarrollo de software optimizadas y aceleradas que requieren una integración y coordinación más estrictas entre los desarrolladores y las operaciones de TI, conocidas como DevOps.

Kubernetes

Debido a que las aplicaciones contenerizadas se prestan a entornos distribuidos y utilizan recursos de procesamiento, de almacenamiento y de red de manera diferente a las aplicaciones tradicionales, requieren una capa de infraestructura dedicada a orquestar cargas de trabajo contenerizadas.

Kubernetes se ha erigido como el organizador de contenedores dominante, y a menudo se lo considera el sistema operativo de la cloud. Es una plataforma portátil, extensible y de código abierto para la gestión de cargas de trabajo y servicios en contenedores, que facilita tanto la configuración declarativa como la automatización.

Específicamente, Kubernetes:

  • asigna contenedores a equipos (programación)

  • arranca los contenedores especificados a través del tiempo de ejecución del contenedor

  • se ocupa de las actualizaciones, las reversiones y la naturaleza constantemente cambiante del sistema

  • responde a fallos (caídas del contenedor, etc.)

  • crea recursos de clúster como descubrimiento de servicios, redes inter-VM, entrada/salida de clústeres, etc.

Kubernetes está diseñado para ofrecer escalabilidad, disponibilidad, seguridad y portabilidad. Optimiza el coste de la infraestructura, distribuyendo las cargas de trabajo entre los recursos disponibles. Todos los componentes de un clúster Kubernetes también pueden configurarse para una alta disponibilidad.

La funcionalidad de Kubernetes evoluciona rápidamente como resultado de contribuciones continuas de su activa comunidad global, permitiendo ahora la existencia de una amplia variedad de distribuciones de Kubernetes disponibles para los usuarios. Al tiempo que los usuarios están mejor servidos por las distribuciones certificadas por CNCF (la conformidad permite la interoperabilidad), la automatización inteligente en torno a las características de gestión del ciclo de vida de Kubernetes, junto con la fácil integración de las capacidades de almacenamiento, redes, seguridad y supervisión, son fundamentales para los entornos nativos cloud de nivel de producción.

Desafíos de las tecnologías y aplicaciones Cloud Native

Las tecnologías nativas cloud son la nueva moneda de cambio para la agilidad y la innovación empresarial, pero su configuración, despliegue y gestión suponen un desafío en cualquier tipo de empresa. En primer lugar, Kubernetes y su ecosistema de tecnologías nativas cloud se encuentran en la base y evolucionan rápidamente. Además, la infraestructura tradicional no está diseñada para la forma en que Kubernetes y los contenedores utilizan los recursos de TI. Este supone un impedimento importante para los desarrolladores de software, que a menudo requieren recursos bajo demanda, además de servicios fáciles de usar para sus aplicaciones nativas cloud. Por último, todas las empresas terminan empleando una mezcla de entornos Kubernetes locales y públicos basados en la cloud, pero beneficiarse de la flexibilidad de la multicloud depende de poder gestionar y supervisar eficazmente todas las implementaciones.

Buenas prácticas de un sistema Cloud Native

Ahora que conoce qué es Cloud Native, es importante tener en cuenta que construir un stack de Kubernetes empresarial en el centro de datos es una tarea importante para los equipos de operaciones de TI. Es esencial ejecutar Kubernetes y las aplicaciones contenerizadas en una infraestructura resiliente y capaz de escalar con capacidad de respuesta para permitir un sistema dinámico y distribuido.

La infraestructura hiperconvergente (HCI) de Nutanix es la base de infraestructura ideal para las cargas de trabajo nativas cloud que se ejecutan en Kubernetes a escala. Nutanix ofrece una mejor resiliencia tanto para los componentes de la plataforma Kubernetes como para los datos de las aplicaciones, así como una escalabilidad superior a la infraestructura física. Nutanix también es capaz de simplificar la gestión del ciclo de vida de la infraestructura y de optimizar el almacenamiento persistente para los contenedores con estado, eliminando algunos de los mayores desafíos a los que se enfrentan las empresas a la hora de desplegar y gestionar la infraestructura cloud native.

Explore nuestros principales recursos

Pruebe Nutanix

Pruebe el motor Nutanix Kubernetes

Nutanix and Red Hat critical data applications

Nutanix y Red Hat respaldan la ejecución de las aplicaciones de datos más importantes

7 formas de simplificar la gestión del ciclo de vida de Kubernetes

Soluciones y productos relacionados

Motor de Kubernetes de Nutanix

Acelere su camino hacia una Kubernetes lista para producción y haga más sencilla la gestión del ciclo de vida.

HCI para Kubernetes

Nutanix HCI es la base de infraestructura ideal para Kubernetes y aplicaciones nativas de la nube.

Kubernetes de cloud híbrida

Mediante colaboraciones con Red Hat, Google Cloud y Microsoft Azure, Nutanix ofrece una ruta rápida y fiable hacia la cloud híbrida Kubernetes.

Almacenamiento persistente para aplicaciones nativas cloud

Los servicios de datos de Nutanix y CSI amplían su sencillez a la configuración y gestión del almacenamiento persistente en Kubernetes.

Introdúzcase en la infraestructura hiperconvergente (HCI)

Comience hoy mismo con Nutanix