Tecnología

Contenedores: Fortalecimiento de las infraestructuras de IoT | Ventaja empresarial de TI

Existe un consenso general de que los contenedores serán el artefacto dominante utilizado para ejecutar software en plataformas de Internet de las cosas (IoT). Como siempre, el diablo está en los detalles para lograr pronto este objetivo.

Entender los contenedores

Los contenedores permiten a los desarrolladores encapsular software en un artefacto liviano que se puede ejecutar en cualquier lugar. Esto es fundamental porque los entornos de IoT se componen de una variedad de hardware que ejecuta una variedad de sistemas operativos. Tratar de empaquetar software de una manera única para cada plataforma es prohibitivo.

Sin embargo, ejecutar contenedores en una plataforma de IoT es una cosa; administrar flotas de plataformas de IoT cargadas con aplicaciones en contenedores es otra muy distinta. En su nivel más básico, los equipos de TI deben apreciar el simple hecho de que las plataformas de IoT vienen en todas las formas y tamaños, desde una plataforma de infraestructura hiperconvergente (HCI) implementada en el borde de la red hasta un dispositivo que es de un tipo específico, se requiere un contenedor diminuto. se ejecuta en una plataforma con memoria limitada.

La buena noticia es que los costos de hardware basados ​​en plataformas como las tarjetas Raspberry Pi de bajo costo que pueden ejecutar cualquier tipo de contenedor continúan disminuyendo. Esto es importante porque las aplicaciones de IoT se crean con mayor frecuencia utilizando Docker Engine o la interfaz de tiempo de ejecución de contenedor definida por Open Container Initiative (CRI-O) optimizada para clústeres de Kubernetes. Además, las plataformas de IoT más grandes requieren las funciones de orquestación de contenedores habilitadas por Kubernetes. Las dos instancias de Kubernetes con más probabilidades de implementarse en plataformas de IoT son K3 y MicroK8.

Lea también: Las plataformas APM están impulsando la transformación empresarial digital

K3s y MicroK8s

Originalmente desarrollado por Rancher Labs, que desde entonces ha sido adquirido por SUSE, K3s ahora se está desarrollando bajo la Cloud Native Computing Foundation (CNCF), que también supervisa el desarrollo del proyecto principal más grande de Kubernetes, también conocido como K8s.

MicroK8s ahora está siendo desarrollado por Canonical, que ha integrado esta distribución de Kubernetes con otras herramientas para aplicaciones de empaquetado como Snap. Lo mas versión actual de MicroK8s Los requisitos de memoria de MicroK8 se han reducido en un 32,5%. Canonical prevé que las empresas utilicen su herramienta Snap para empaquetar, implementar y actualizar archivos binarios de aplicaciones en plataformas que ejecutan MicroK8, dijo Alex Chalkias, gerente de productos de Canonical.

Por más críticos que puedan ser Docker y CRI-O en entornos de IoT, todavía habrá casos en los que el hardware de IoT esté demasiado limitado en memoria para ejecutar uno de estos tipos de contenedores. Nubix aboga por una clase de contenedores «diminutos» que son 100 veces más pequeños que un contenedor Docker.

Lea también: Red Hat quiere que BU avance en la investigación de la nube híbrida

Administrar contenedores

Independientemente del tipo de contenedor utilizado, la gestión de una combinación de plataformas de IoT basadas en hardware nativo y máquinas virtuales será un gran desafío. De hecho, todavía queda mucho por hacer cuando se trata de administrar clústeres de Kubernetes a nivel de escala distribuida, dijo Jason McGee, vicepresidente y director de tecnología de IBM Cloud. «Existen algunos desafíos reales en la gestión de Kubernetes en estos entornos», dice.

El CNCF ha lanzado un proyecto de incubación de KubeEdge para construir una plataforma que incluye la distribución de Kubernetes para respaldar la red, la entrega de aplicaciones y la sincronización de metadatos entre la nube y el entorno de computación de borde.

Mientras tanto, la Fundación Eclipse está trabajando con Red Hat y Edgeworx para impulsar el lanzamiento de ioFog, un proyecto de código abierto que proporciona software de agente y un controlador que hace que los microservicios basados ​​en contenedores sean más fáciles de implementar en cualquier plataforma informática de borde.

«Colocar contenedores en el borde es solo el punto de partida», dice Kilton Hopkins, gerente de proyectos de ioFog.

Tampoco es práctico enviar el código de la aplicación desde un repositorio central a través de una flota de plataformas IoT distribuidas al mismo tiempo. Los proveedores de todo el espectro de desarrollo de software se esfuerzan por crear marcos de automatización que permitan a las plataformas de IoT individuales que ejecutan Kubernetes extraer una imagen de un repositorio central cuando sea necesario.

«Una imagen dedicada de oro no funcionará», dijo Keith Basil, vicepresidente de infraestructura nativa de la nube en SUSE.

Por supuesto, en la prisa por innovar, vale la pena señalar que ya se ha trabajado mucho en la implementación de software en cualquier plataforma de computación perimetral, dice Alex Ellis, fundador de OpenFaaS, un marco de código abierto para computación sin servidor. En algunos casos, es mejor para los desarrolladores usar la funcionalidad en el contexto de una arquitectura impulsada por eventos para implementar software en cualquier tipo de plataforma informática de borde, dice Ellis. «Hay mucha tecnología de punta», dice.

Independientemente de cómo se aplique el software específicamente a las plataformas de IoT y las plataformas de computación perimetral en general, todavía queda mucho trabajo por hacer antes de que las tecnologías nativas de la nube, como los contenedores y los clústeres de Kubernetes, se implementen de forma rutinaria. El desafío y la oportunidad ahora es sentar las bases para administrar un entorno de aplicaciones de IoT altamente distribuido basado en software en contenedores a una escala sin precedentes.

Sigue leyendo: ¿Está la informática sin servidor lista para generalizarse?