¡¡¡PAREN LAS MÁQUINAS!!! Aplicaciones Serverless con Serverless
Vídeo completo de la ponencia de Rubén García Plaza
Esta semana entrevistamos a Rubén García Plaza, Ingeniero de datos en Instituto de Ingeniería del Conocimiento (IIC), ponente de OpenExpo Virtual Experience. Hablamos con él sobre IIC, su trayectoria profesional, su ponencia en el evento, tendencias, sobre Serverless…
¿Conoces el Instituto de Ingeniería del Conocimiento?
¿Qué es IIC? Es decir, ¿a qué os dedicáis en IIC?
El Instituto de Ingeniería del Conocimiento (IIC) es un centro de I+D+i pionero en Inteligencia Artificial y experto desde hace más de 30 años en tecnologías Big Data. El núcleo, experiencia y trayectoria del IIC en estos años ha girado en torno a la parte de análisis de datos. Nuestra apuesta de valor es el desarrollo de algoritmos y técnicas de análisis a medida, haciendo uso de las tecnologías de almacenamiento y procesamiento existentes, de modo que conformen soluciones de Big Data altamente adaptadas a las necesidades de cada cliente.
¿Cuáles son tus funciones en IIC?
Dentro del Instituto de Ingeniería del Conocimiento (IIC) trabajo como Ingeniero de Datos en el área de Ingeniería Algorítmica que es el departamento de investigación del IIC, mi trabajo está repartido entre investigar innovaciones tecnológicas y herramientas que nos pueden ser de utilidad, y trabajar en proyectos para clientes aportando soluciones de arquitectura y diseño de aplicaciones para encajar las diferentes piezas de los proyectos.
Aunque el punto fuerte del IIC sea la Inteligencia Artificial, nuestros clientes nos demandan cada vez más la integración de las soluciones, ya sea en sus servidores locales como en plataformas Cloud y en este ámbito se desarrolla mi labor.
También elaboro material sobre las investigaciones que realizo con el propósito de compartirlo a través de ponencias en meetups o congresos tecnológicos.
¿Qué tipos de proyectos realizáis en IIC?
Principalmente desarrollamos proyectos de Inteligencia Artificial (Machine Learning, Deep Learning, Procesamiento de Lenguaje Natural, Visión Artificial) y Optimización, en los que el cliente aporta los datos y un problema a resolver y nosotros aportamos ideas innovadoras para resolver el problema aplicando nuestra experiencia y aquellos resultados de nuestra investigación que sean útiles.
Disponemos, adicionalmente, de productos de software que hemos creado y mantenemos como detección de fraude bancario, predicción de generación de energía eólica, test adaptativos de evaluación de candidatos y asistencia a procesos de selección en RR.HH., entre otros, que ofrecemos a nuestros clientes con el objetivo de solucionar los problemas que nos presentan.
También realizamos formaciones sobre Machine Learning, Deep Learning y PLN para nuestros clientes cuando lo han requerido, y estamos presentes en la Universidad a través de varias cátedras de investigación.
¿Para qué tipo de clientes desarrolláis soluciones?
Participamos en proyectos de diversos sectores como la Banca, Legal, Retail, Seguros, Energía, Salud, Movilidad, entre otros muchos.
Cualquier empresa actualmente dispone de datos (en diferentes volúmenes) y surgen necesidades u oportunidades en las que el uso adecuado de esos datos puede suponer una ventaja competitiva o simplemente un ahorro en costes.
En este aspecto, nos contactan desde grandes empresas solicitando colaboración para abordar un tratamiento y análisis masivo de datos, (lo que se conoce como Big Data), a pequeñas empresas que han tenido una idea que implique analítica de datos, que, aunque sea con un volumen más pequeño de datos, puede tener una complejidad elevada.
Sobre Serverless…
El título de tu charla en OpenExpo Virtual Experience fue “¡¡¡PAREN LAS MÁQUINAS!!! Aplicaciones Serverless con Serverless”, en un par de líneas, ¿cuál es la definición de Serverless?
Serverless es una forma de ejecutar aplicaciones en infraestructuras Cloud en la que el proveedor de la nube se encarga de gestionar y administrar los recursos de hardware necesarios para esa ejecución, así el «cliente» paga por la cantidad de recursos consumidos durante la ejecución.
Puede ser el código de una función que se facture por uso de memoria y CPU, uso de disco que se facture por Gb o una tabla en una Base de Datos que se facture por operaciones de lectura / escritura.
¿Cuáles son las características que diferencian Serverless de otro tipo de arquitecturas?
La ventaja principal que ofrecen estas arquitecturas es que permiten una rápida transición desde la idea hastaque se despliega y está lista para su uso en producción, al no tener que preocuparte por administrar el hardware ni hacer una inversión inicial en capacidad de computación.
La clave es que la aplicación está «lista para su uso en producción», ya que de forma nativa los servicios Serverless son escalables y se pueden monitorizar con las herramientas que ofrece el proveedor Cloud.
Al desplegarse en Cloud permiten construir varios entornos idénticos para realizar pruebas o implantar diferentes versiones de forma simultánea sin que tenga que suponer un coste adicional elevado ya que solamente se paga por lo que consumes durante la ejecución o uso.
Existen además herramientas Open Source como Serverless Framework, sobre la que trata mi charla, que facilitan el desarrollo y despliegue de estas arquitecturas de una forma bastante intuitiva.
Por poner un ejemplo, la aplicación web presentada en la demo de mi charla está lista para un uso intensivo, se despliega con un solo comando y, mientras no se utilice, solo tiene el coste del tamaño de la web, es inferior a 0,01$ por mes, mientras que la misma aplicación alojada en un servidor reservado utilizando uno de los más baratos del Cloud de AWS puede ser 0,008$ cada hora y además para un uso intensivo habría que configurar su escalabilidad.
Uso de Serverless
¿Qué tipo de empresas están utilizando más esta infraestructura?
Este tipo de infraestructuras resultan muy útiles cuando las soluciones se encuentran en estado de «prueba de concepto», por tanto suponen una oportunidad para Startups y pequeñas empresas precisamente porque no se requiere inversión inicial en servidores, y poner en marcha aplicaciones con este tipo de servicios es muy rápido.
Conocemos también grandes empresas que tienen alguna de sus aplicaciones desplegadas en Serverless, por su flexibilidad y escalabilidad.
¿Como ves su uso de aquí a 5 años?
Dada la evolución y el desarrollo que los servicios Serverless están teniendo por parte de los proveedores Cloud, en los próximos 5 años posiblemente se generalice su uso y se conviertan en la primera opción de muchas empresas para desplegar sus aplicaciones, sobre todo los «proyectos piloto».
Sin duda su uso va a posibilitar que se lleven a cabo proyectos que actualmente se paran por la necesidad de hacer una inversión inicial en hardware y por la incertidumbre sobre los beneficios que pueden generar.
En cuanto a seguridad, ¿cuáles son los retos a los que se enfrenta?
El principal problema de seguridad de este tipo de servicios es que los propios usuarios (desarrolladores e ingenieros) estemos formados adecuadamente, las vulnerabilidades en aplicaciones Serverless son las mismas que cuando administras tú el hardware, estén o no abiertas a internet , la diferencia es que para detectar y mitigar los ataques que se produzcan contra tu aplicación se requiere conocer los servicios que el proveedor Cloud proporciona para ello y su configuración.
Respecto a la vulnerabilidad de la propia nube, los proveedores Cloud disponen de una «casi-interminable» lista de entidades independientes que aseguran el cumplimiento en materia de seguridad de la infraestructura, más allá de eso deben seguir proporcionando confianza a los clientes y que la información que den al respecto sea clara, transparente y esté accesible en todo momento.
Sobre OpenExpo Virtual Experience…
Para terminar, ¿cómo ha sido tu experiencia en OpenExpo Virtual Experience?
Me ha gustado mucho la experiencia de poder participar en esta modalidad online, la plataforma elegida es sencilla de utilizar y se ha comportado de una forma bastante fluida, durante todo el tiempo que estuve conectado no tuve problemas de visualización salvo algún pequeño lag, aunque se me hace raro hablar a mi ordenador y no ver las caras de los asistentes.
La organización me ha parecido muy buena, reservando 2 días diferentes para que los ponentes pudiéramos probar el acceso y el uso de la herramienta, y con los presentadores pendientes de localizar a los ponentes unos minutos antes de la charla para probar que todo está correcto.
También la planificación de agenda con los 15 minutos en el «hall» entre ponencias me ha parecido un acierto, para poder hacer networking, charlar con alguien conocido que también haya asistido o simplemente revisar la agenda para decidir la siguiente ponencia que ver.
Por último, me gustaría comentar que la extensión del evento durante 4 días puede haber dificultado la asistencia a alguna de las charlas, aunque esto no supone un problema ya que las charlas del evento serán publicadas.