Hacia la transformación digital: Estrategias de despliegue de funciones Serverless
Resumen
En la actualidad, la transformación digital es un gran activo para las empresas que evolucionan e impulsan su actividad hacia nuevas formas donde la tecnología es un gran aliado. En esta evolución, la computación en la nube juega un rol clave para dicha transformación. Cada empresa mide su desempeño a través de un modelo de negocio habilitado y gestionado en la nube y toma en cuenta la experiencia del cliente para diferenciar su estrategia y optar por soluciones tecnológicas que los diferencien de los competidores del mercado. Como herramienta estratégica para la transformación digital, pasar de soluciones tecnológicas desde un ambiente local a uno de computación sin servidor es el siguiente paso en la evolución del software. Esto permite a los ingenieros de software concentrarse en el código de los servicios, microservicios o funciones para cumplir con el time to market sin pensar mucho en la complejidad para implementar y mantener la infraestructura. En este trabajo, proponemos una estrategia para construir e implementar funciones utilizando un conjunto de runtimes sin servidor provistos para diferentes Cloud Service Providers (CSP). Para la validación, se realiza una experimentación guiada bajo tres escenarios teniendo en cuenta el rendimiento de la carga de trabajo en cada runtime y el tiempo promedio de ejecución de cada CSP, los cuales se monitorean a través de herramientas de análisis y visualización.
Palabras clave
Serverless runtimes, computación en la nube, computación sin servidor, funciones como servicio, plataformas en la nube sin servidor, transformación digital
Biografía del autor/a
Armando Cabrera-Silva
Roles: supervisión, investigación, escritura – borrador original.
José Carrillo-Verdún
Roles: supervision, methodology, writing – review & editing.
Patricio Martínez-Palacios
Roles: diseño experimental, validación.
Daniel-Alejandro Guamán-Coronel
Roles: escritura – borrador original, validación.
Citas
- M. Smith, P. R. Saunders, L. Lyons, A Practical Guide to Microservices and containers, 2018.
- W. Gottesheim, “Challenges, benefits and best practices of performance focused DevOps,” in Proceedings of the 4th International Workshop on Large-Scale Testing, 2015, p. 3. https://doi.org/10.1145/2693182.2693187 DOI: https://doi.org/10.1145/2693182.2693187
- T. Kohlborn, A. Korthaus, T. Chan, M. Rosemann, “Identification and analysis of business and software services-a consolidated approach,” IEEE Transactions on Services Computing, vol. 2, no. 1, pp. 50–64, 2009. https://doi.org/10.1109/TSC.2009.6 DOI: https://doi.org/10.1109/TSC.2009.6
- L. Bass, P. Clements, R. Kazman, Software Architecture in Practice, vol. 2nd. 2012.
- H. Lee, K. Satyam, G. Fox, “Evaluation of production serverless computing environments,” in IEEE 11th International Conference on Cloud Computing (CLOUD), 2018, pp. 442–450. https://doi.org/10.1109/CLOUD.2018.00062 DOI: https://doi.org/10.1109/CLOUD.2018.00062
- J. Lewis, M. Fowler, “Microservices: a definition of this new architectural term,” 2014. https://martinfowler.com/articles/microservices.html
- T. Back, V. Andrikopoulos, “Using a microbenchmark to compare function as a service solutions,” in Lecture Notes in Computer Science, Springer, 2018. https://doi.org/10.1007/978-3-319-99819-0_11 DOI: https://doi.org/10.1007/978-3-319-99819-0_11
- I. Baldini, P. Castro, K. Chang, P. Cheng, S. Fink, V. Ishakian, N. Mitchell, V. Muthusamy, R. Rabbah, A. Slominski, P. Suter, “Serverless computing: Current trends and open problems,” Research Advances in Cloud Computing, Springer, 2017, pp. 1–20. https://doi.org/10.1007/978-981-10-5026-8_1 DOI: https://doi.org/10.1007/978-981-10-5026-8_1
- D. Poccia, AWS Lambda in Action: Event-driven serverless applications. Manning Publications Co., 2016.
- V. Ishakian, V. Muthusamy, A. Slominski, “Serving Deep Learning Models in a Serverless Platform,” in IEEE International Conference on Cloud Engineering (IC2E), 2018, pp. 257–262. DOI: https://doi.org/10.1109/IC2E.2018.00052
- T. Chen, M. Li, Y. Li, M. Lin, N. Wang, M. Wang, T. Xiao, B. Xu, C. Zhang, Z. Zhang, “Mxnet: A flexible and efficient machine learning library for heterogeneous distributed systems,” in Workshop on Machine Learning Systems, 2016. https://arxiv.org/abs/1512.01274
- B. Wu, F. Iandola, P. H. Jin, K. Keutzer, “Squeezedet: Unified, small, low power fully convolutional neural networks for real-time object detection for autonomous driving,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops, 2017, pp. 129–137. https://doi.org/10.1109/CVPRW.2017.60 DOI: https://doi.org/10.1109/CVPRW.2017.60
- H. Lin, S. Jegelka, “Resnet with one-neuron hidden layers is a universal approximator,” in Advances in neural information processing systems, 2018, pp. 6169–6178. https://doi.org/10.5555/3327345.3327515
- L. Wen, X. Li, L. Gao, “A transfer convolutional neural network for fault diagnosis based on ResNet-50,” Neural Computing and Applications, vol. 32, pp. 6111–6124, 2020. https://doi.org/10.1007/s00521-019-04097-w DOI: https://doi.org/10.1007/s00521-019-04097-w
- K. Figiela, A. Gajek, A. Zima, B. Obrok, M. Malawski, “Performance evaluation of heterogeneous cloud functions,” Concurrency and Computation: Practice and Experience, vol. 30, no. 23, e4792. https://doi.org/10.1002/cpe.4792 DOI: https://doi.org/10.1002/cpe.4792
- J. Manner, M. Endreß, T. Heckel, G. Wirtz, “Cold start influencing factors in function as a service,” in IEEE/ACM International Conference on Utility and Cloud Computing Companion (UCC Companion), 2018, pp. 181–188. DOI: https://doi.org/10.1109/UCC-Companion.2018.00054