Publicación semestral • ISSN 2683-2968 • Abril 2021 • Número de revista 3 https://doi.org/10.22201/dgtic.26832968e.2021.3
1/5
Introducción
La Computación sin Servidor o Serverless Computing es el siguiente paso en la evolución de la Computación en la nube (Cloud Computing). Este tipo de arquitectura establece la separación entre los programas de aplicaciones y la infraestructura física, misma que es requerida por éstas para su ejecución. Esto lo logra mediante el uso de plataformas tecnológicas especializadas, disponibles en centros de datos, que se encargan de gestionar todas las necesidades y las configuraciones requeridas por las aplicaciones.
Bajo esta arquitectura, el proveedor de servicios en la nube es responsable de todos los recursos involucrados en el aprovisionamiento y la administración de la infraestructura física, así como del software y el licenciamiento requeridos para la ejecución de las aplicaciones, lo que resulta en una simplificación muy atractiva para las empresas e instituciones que solo buscan productividad.
Al eliminarse la adquisición y la administración de servidores y sistemas, se genera un entorno informático altamente productivo, que reduce el tiempo y el costo con que los proyectos de informática se pueden concluir.
La computación sin servidor es la solución ideal para muchos casos de uso, como:
Para mayor información sobre casos de uso, véase el artículo en línea Serverless computing, TechTarget, sección: Casos de uso informáticos sin servidor. Referencia [3] de la bibliografía disponible al final de este artículo.
2/5
Ventajas de la computación sin servidor.
En esta era de presupuestos reducidos, sobre todo para países como el nuestro (en vías de desarrollo), la computación sin servidor resulta muy atractiva, debido a que permite a las empresas e instituciones reducir los costos de operación de sus sistemas de misión crítica, los cuales sin el uso de esta tecnología pueden llegar a consumir hasta el 70 por ciento de su presupuesto disponible para TI. Esto, según el documento en PDF Tendencias tecnológicas 2019: más allá de la frontera digital, Pág. 39, sección Sin operaciones en un mundo sin servidores, párrafo “Tradicionalmente, la responsabilidad del CIO por mantener operando los sistemas de tecnología críticos-para-el-negocio ha absorbido hasta el 70 por ciento del presupuesto de TI”. Referencia [7] de la bibliografía disponible al final de este artículo, adicionalmente les permite:
Obtener algunos beneficios fiscales, como la deducción de impuestos. En el caso de México, básicamente consiste en la deducción de impuestos, aunque esto depende del régimen fiscal de la empresa o institución.
En términos de costo, la computación sin servidor puede llegar a ser más rentable que alquilar o comprar una cantidad fija de servidores.
Pese a las ventajas descritas con anterioridad, las empresas e instituciones con frecuencia encuentran muy riesgoso comenzar a trabajar en un medio ambiente de computación sin servidor, esto debido principalmente a:
Figura 1. Piqsels, “Red de computadoras,” 2020. [Fotografía]. Disponible en: https://www.piqsels.com/es/public-domain-photo-jrddo/download [Consultado en febrero 16, 2021].
Aspectos a considerar para migrar a un ambiente de computación sin servidor
Entre los principales aspectos a considerar para tomar la decisión de migrar a un ambiente de computación sin servidor, es saber qué tipo de información de nuestra empresa o institución es posible migrar a la nube pública para su procesamiento y adicionalmente decidir cómo se replanteará la forma como percibimos los riesgos que involucra la migración, para poder tomar las ventajas de esta tecnología. Otros aspectos importantes para considerar, son:
Principales preocupaciones de los responsables de TI para incursionar en la tecnología de computación sin servidor
Éste es un tema muy importante que se debe revisar, porque con frecuencia los prestadores de servicio tratarán de canalizar la capacitación simplemente a través de la documentación disponible en sus portales web, los cuales cuentan con materiales educativos que en su mayoría pueden ser muy poco didácticos. Carecen de ejemplos suficientes, de acuerdo con los casos de uso que podemos requerir y que en la mayoría de las ocasiones ni siquiera estarán redactados en nuestro idioma.
De hecho, si no se toman las previsiones necesarias, puede llegar a ser muy tardado, difícil y costoso reprogramar las aplicaciones desarrolladas para funcionar con las librerías específicas de la plataforma tecnológica contratada con el proveedor. No obstante, para evitar esta situación, hoy en día es posible utilizar marcos de trabajo sin servidor multiplataforma de código abierto (Serverless Frameworks).
En la práctica, con la computación sin servidor no solo se logra una significativa reducción de costos por el uso de los recursos de la nube, sino que también brinda a las empresas e instituciones con pocos recursos económicos, la oportunidad de acceder y aprovechar los diversos marcos tecnológicos, Frameworks, disponibles en los centros de datos, para explotar aún más su información. Esto no solo sucede en el rubro de la inteligencia de negocios, sino también en Ciencia de Datos, Big Data e Inteligencia Artificial, campos que en la mayoría de las ocasiones, por limitaciones presupuestales, falta de infraestructura y carencia de personal especializado, es difícil la adquisición y la instrumentación en una empresa o institución.
3/5
Plataformas sin servidor
En la actualidad, aunque hay diversos proveedores de plataformas sin servidor, como Oracle, Huawei Cloud, Cloudflare Workers, Zeit, etcétera, son cinco los principales que tienen liderazgo en el mercado de nuestro país. Ofrecen un conjunto integral de servicios en la nube y sus plataformas proporcionan la mejor base para crear sistemas sin servidor completos.
A continuación, se mencionan los nombres de estos proveedores con sus respectivas plataformas sin servidor:
Azure Functions es la solución de la empresa Microsoft Azure, para procesar datos masivos, integrar sistemas, trabajar con la Internet de las cosas (IoT) y crear APIs y microservicios simples.
Azure Functions se basa en la ejecución de pequeños fragmentos de código llamados funciones, que evitan la preocupación por la infraestructura requerida por una aplicación. De esta manera, la infraestructura en la nube, de Microsoft Azure, proporciona todos los servidores actualizados que necesita su aplicación para mantenerla funcionando a gran escala. Bajo Azure Functions cada función es activada por un tipo específico de evento. Los desencadenantes compatibles incluyen responder a cambios en los datos, responder a mensajes, ejecutarse en un horario o como resultado de una solicitud HTTP.
Fuente: https://azure.microsoft.com/es-mx/solutions/serverless/
AWS Lambda es un servicio de informática sin servidor, que ejecuta código en respuesta a eventos y administra automáticamente los recursos informáticos subyacentes. Puede ejecutar código automáticamente, en respuesta a varios eventos, como solicitudes HTTP. Ejecuta el código en la infraestructura informática de alta disponibilidad de Amazon Inc., y se encarga de la administración integral de los recursos informáticos, incluido el mantenimiento del servidor y el sistema operativo; el aprovisionamiento de capacidad y el escalado automático, y la implementación de parches de seguridad y código, así como la monitorización de código y los registros. Amazon Inc. es una compañía estadounidense de comercio electrónico y servicios de computación en la nube a todos los niveles, con sede en Seattle, Washington.
Fuentes: https://es.wikipedia.org/wiki/Amazon
https://aws.amazon.com/es/lambda/getting-started/
Cloud Functions es la plataforma de procesamiento sin servidores controlada por eventos, de Google Cloud. Ejecuta el código de manera local o en la nube, sin necesidad de aprovisionar servidores. Pasa del código a la implementación, con herramientas de supervisión y entrega continua. Aumenta o reduce la escala verticalmente, para pagar solo por los recursos de procesamiento utilizados. Google Cloud permite compilar apps integrales sin servidores, con rapidez y facilidad, mediante servicios de procesamiento, almacenamiento, análisis de datos, aprendizaje automático y mensajería. Se encarga de la configuración, el aprovisionamiento, el balanceo de cargas, la fragmentación, el escalamiento y la administración de la infraestructura.
Fuente: https://cloud.google.com/serverless/
Cloud Functions es un software de código abierto, creado en torno a un ecosistema abierto de proveedores de sucesos, que permite centrarse en la escritura de código y en la creación de grandes soluciones, sin tener que configurar o mantener servidores. Solo se paga por el tiempo que se ejecute el código. Permite ejecutar código para cualquier tipo de aplicación o servicio backend, todos sin administración. El código puede ser invocado directamente, mediante una API REST o como respuesta a servicios de IBM Cloud y sucesos de terceros.
Por su parte, IBM Bluemix es el entorno de plataforma como servicio desarrollado por IBM. Soporta varios lenguajes de programación y servicios, así como la metodología de desarrollo DevOps de forma integrada, para crear, ejecutar, desplegar y gestionar aplicaciones en la nube. Soporta Java, Node.js, Go, PHP, Python, Ruby Sinatra, Ruby on Rails, GeneXus y puede ser extendido a otros lenguajes como Scala, mediante el uso de buildpacks.
Fuente: https://cloud.ibm.com/functions/
Alibaba Cloud Function Compute es el servicio de cómputo totalmente gestionado por eventos de Alibaba Cloud. Le permite concentrarse en escribir y cargar código, sin la necesidad de administrar infraestructura como servidores.
Alibaba Cloud proporciona servicios de computación en la nube a empresas en línea y al propio ecosistema de comercio electrónico de Alibaba. Los servicios están disponibles sobre la base de pago por uso, que incluyen computación elástica, almacenamiento de datos, bases de datos relacionales, procesamiento de grandes datos, protección anti-DDoS y redes de entrega de contenido. También conocida como Aliyun, es una empresa china subsidiaria de Alibaba Group.
Fuentes: https://www.alibabacloud.com/
https://en.wikipedia.org/wiki/Alibaba_Cloud
https://www.alibabacloud.com/blog/serverless-computing-with-alibaba-cloud-function-compute_593960?spm=a2c5t.10695662.1996646101.searchclickresult.470b53698NskuY
En la siguiente tabla se resumen las principales diferencias entre plataformas sin servidor mencionadas anteriormente:
Tabla 1. Principales diferencias entre plataformas sin servidor. Fuente: elaboración propia.
Marcos de desarrollo de código abierto sin servidor multiplataforma Serverless Frameworks
Si pensamos en involucrarnos en el tema de la computación sin servidor, sin duda alguna deberemos ser muy cuidadosos al elegir el Marco de desarrollo de código abierto sin servidor multiplataforma (Serverless Frameworks), más adecuado a nuestras necesidades. Los marcos de desarrollo de código abierto sin servidor multiplataforma, proveen todo el ambiente que se requiere para desarrollar, implementar, monitorear y proteger aplicaciones sin servidor en cualquier nube.
Surgieron para facilitar el desarrollo y la migración de las aplicaciones sin estado, controladas por eventos que son requeridos para trabajar con los diversos modelos tecnológicos de computación en la nube sin servidor, disponibles en el mercado. Estos marcos facilitan:
Se dispone de bibliotecas intermedias que facilitan la estandarización de los diferentes modelos tecnológicos, ofertados por los proveedores de servicios en la nube, de manera que se puedan crear aplicaciones con funciones, que se puedan ejecutar de forma transparente en cualquier plataforma tecnológica Serverless requerida.
Estos marcos facilitan la abstracción de la infraestructura requerida por la aplicación del código fuente y prometen resolver las preocupaciones en los costos de ancho de banda, latencia, disponibilidad, privacidad de datos y la calidad del servicio, requeridos por las aplicaciones.
Algunos ejemplos de estos serverless frameworks, son:
Finalmente, para decidir si debe migrar a un ambiente de computación sin servidor, considere también revisar los pronósticos más recientes de empresas como Gartner (que brindan información sobre tendencias y herramientas para líderes en TI), cuyas predicciones indican que “para 2025, el 80% de las empresas migrarán completamente fuera de los centros de datos locales con la tendencia actual de mover las cargas de trabajo a la colocación, el alojamiento y la nube, lo que los llevará a cerrar su centro de datos tradicional”.
Fuente: https://www.bits.com.mx/data-center-en-mexico-y-el-costo-de-las-empresas/
4/5
Conclusión
5/5
Bibliografía
[1] T. Nolle, “Serverless vs. Containers: What's Best for Event-Driven Apps?,” TechTarget, , julio 16, 2018. [En línea]. Disponible en: https://searchapparchitecture.techtarget.com/tip/Serverless-vs-containers-Whats-best-for-event-driven-apps?track=NL-1823&ad=932132&src=932132&asrc=EM_NLN_122959437&utm_medium=EM&utm_source=NLN&utm_campaign=20200201_Word%20of%20the%20Day:%20serverless%20computing [Consultado en septiembre 23, 2019].
[2] M. Kurt, “IT Teams Face an Uphill Battle with Serverless Migrations,” TechTarget, julio 11, 2019. [En línea]. Disponible en: https://searchcloudcomputing.techtarget.com/tip/IT-teams-face-an-uphill-battle-with-serverless-migrations?track=NL-1823&ad=932132&src=932132&asrc=EM_NLN_122959440&utm_medium=EM&utm_source=NLN&utm_campaign=20200201_Word%20of%20the%20Day:%20serverless%20computing [Consultado en octubre 18, 2019].
[3] L. Rosencrance, “Serveless Computing,” TechTarget, 2019. [En línea]. Disponible en: https://www.translatetheweb.com/?from=&to=es&ref=IE8Activity&dl=es&rr=UC&a=https%3a%2f%2fsearchitoperations.techtarget.com%2fdefinition%2fserverless-computing%3ftrack%3dNL-1823%26ad%3d932132%26src%3d932132%26asrc%3dEM_NLN_122959441%26utm_medium%3dEM%26utm_source%3dNLN%26utm_campaign%3d20200201_Word%2520of%2520the%2520Day%3a%2520serverless%2520computing# [Consultado en noviembre 14, 2019].
[4] J. Jaspers, “Top 10 Data Center Industry Trends for 2019 According to Gartner,” Hosting Journalist, diciembre 8, 2018. [En línea]. Disponible en: https://hostingjournalist.com/top-10-data-center-industry-trends-for-2019-according-to-gartner/ [Consultado en diciembre 2, 2019].
[5] S. Fulton III, “What Serverless Computing Really Means, and Everything else You Need to Know,” ZDNet, abril 9, 2019. [En línea]. Disponible en: https://www.zdnet.com/article/what-serverless-computing-really-means-and-everything-else-you-need-to-know/ [Consultado en febrero 17, 2020].
[6] G. Baron, “Cómo la computación sin servidor ahorra tiempo y dinero,” Cambio Digital, agosto 5, 2019. [En línea]. Disponible en: https://cambiodigital-ol.com/2019/08/como-la-computacion-sin-servidor-ahorra-tiempo-y-dinero/ [Consultado en marzo 9, 2020].
[7] B. Briggs y S. Buchholz, “Tendencias tecnológicas 2019: más allá de la frontera digital,” Deloitte Insights, enero, 2019. [En línea]. Disponible en: https://www2.deloitte.com/content/dam/Deloitte/co/Documents/technology/Tendencias_tecnologicas_2019%20(Reporte%20Completo).pdf [Consultado en mayo 11, 2020].
[8] R. Gancarz, “An Essential Guide to the 2019 Serverless Ecosystem,” TechBeacon, 2015-2020. [En línea]. Disponible en: https://techbeacon.com/enterprise-it/essential-guide-2019-serverless-ecosystem [Consultado en julio 6, 2020].
[9] A. Alvarado, “Serverless vs. FaaS: A Beginner’s Guide,” Liquid Web, septiembre 25, 2019. [En línea]. Disponible en: https://www.liquidweb.com/kb/serverless-vs-faas-a-beginners-guide/ [Consultado en agosto 10, 2020].
[10] K. Chandan, “8 Plataforma informática sin servidor para ejecutar el código de su aplicación,” GeekFlare, marzo 17, 2019. [En línea]. Disponible en: https://geekflare.com/es/serverless-computing-platform/ [Consultado en septiembre 4, 2020].