Desarrollo e implementación de modelos de aprendizaje profundo en contenedor mediante la plataforma Kubernetes basada en Google Cloud Computing (GPC) (2022)
La tecnología en la nube, se ha convertido en uno de los enfoques más atractivos para empresas y desarrolladores de software a fin de diseñar, construir y desplegar aplicaciones o servicios en la nube. El principal objetivo de los servicios en la nube es proveer a los usuarios herramientas en ambientes virtuales que logren el desarrollo y la depuración de aplicaciones o software sin tener la necesidad de poseer hardware de alta gama, obteniendo ventajas en la optimización y reducción de costos de ensamblaje y mantenimiento. Este trabajo explora el uso de recursos de Google Cloud Computing (GCP) como servicio de desarrollo computacional en la nube para el desarrollo y despliegue de aplicaciones en contenedor usando Kubernetes. Para ello se ha utilizado un modelo de aprendizaje profundo con librerías del framework Tensor Flow. La aplicación utilizada en este trabajo se ejecutó mediante la plataforma Docker y se desplegó en la nube mediante el servicio de Kubernetes. Docker es una plataforma de desarrollo que basa sus servicios en entornos virtuales. Los contenedores funcionan como ambientes virtuales, que proporcionan a la aplicación librerías y dependencias para su correcto funcionamiento. Los contenedores se virtualizan a nivel de sistema operativo y no a nivel de hardware como las máquinas virtuales. Kubernetes es la plataforma que se encarga de orquestar contenedores y mantenerlos en línea, funciona mediante la nube como otro medio de virtualización que permite a los usuarios desplegar aplicaciones sin necesidad de comprar servidores o de mantener el computador host que despliega la aplicación encendida las 24 horas del día. Además, a diferencia de una máquina host, funciona mediante la nube y su principal labor es priorizar el funcionamiento y el despliegue de los contenedores. Una máquina host se puede alquilar cerca del mismo precio, Sin embargo, no va a priorizar el orquestamiento de contenedores. La validación de este trabajo se hizo mediante mediciones de tiempo de procesamiento en el contenedor y en máquinas locales demostrando la eficiencia del desarrollo de software en la nube y la facilidad del despliegue en la web. Se espera que en futuras investigaciones se usen APIs de GCP tales como máquinas virtuales, Buckets para almacenamiento y Vertex AI para el desarrollo y construcción de modelos de aprendizaje óptimos.