Uma Análise Prática dos Frameworks Serverless AWS SAM, Pulumi e Serverless Framework
Resumo
A Computação Serverless facilita o desenvolvimento de aplicações em nuvem ao abstrair a infraestrutura. Este trabalho apresenta um estudo de caso que compara AWS SAM, Serverless Framework e Pulumi na implementação de uma API RESTful na AWS. Avaliamos a eficiência, flexibilidade e integração com serviços de nuvem com base em observações de uma disciplina acadêmica com dez participantes, dos quais sete concluíram a avaliação. Foram analisados aspectos como configuração, documentação e simplicidade do código. O Pulumi destacou-se pela flexibilidade, AWS SAM pela integração nativa e o Serverless Framework pela extensibilidade. O estudo apresenta orientações práticas para a escolha de frameworks serverless.
Palavras-chave:
Computação Serverless, AWS SAM, Serverless Framework, Pulumi, API RESTful
Referências
Adamson, C. (2024). Serverless Architectures with AWS SAM (Serverless Application Model). Medium. Acesso em: 22 de agosto de 2024.
Adzic, G. and Chatley, R. (2017). Serverless Computing: Economic and Architectural Impact. arXiv preprint arXiv:1706.05336.
Amazon (2024). AWS Serverless Application Model (AWS SAM). Amazon Web Services.
Baldini, I., Castro, P., Chang, K., Cheng, P., Fink, S., and Ishakian, V. (2017). Serverless Computing: Current Trends and Open Problems. Research Advances in Cloud Computing.
Bille, S. (2023a). Serverless Framework vs SAM vs AWS CDK. DEV Community. Acesso em: 22 de agosto de 2024.
Bille, S. (2023b). Serverless Frameworks for 2023. Elva Group Blog. Acesso em: 22 de agosto de 2024.
Cavalheiro, A. P. and Schepke, C. (2023). Exploring the Serverless First Strategy in Cloud Application Development. In 2023 International Symposium on Computer Architecture and High Performance Computing Workshops (SBAC-PADW), pages 89–94.
Cloud, F. (2024). Serverless Computing: O que é? Corp., P. (2024). Pulumi Documentation. Pulumi Corp.
Eismann, S., Scheuner, J., Van Eyk, E., Schwinger, M., et al. (2020). Serverless applications: Why, when, and how? IEEE Software, 38(1):32–39.
FastAPI (2024). Fastapi documentation. Acesso em: 14 de outubro de 2024.
Hassan, H. B., Barakat, S. A., and Sarhan, Q. I. (2021). Survey on Serverless Computing. Journal of Cloud Computing, 10:1–29.
Hellerstein, J. M., Faleiro, J. M., Gonzalez, J. E., et al. (2018). Serverless Computing: One Step Forward, Two Steps Back. arXiv preprint arXiv:1812.03651.
Inc., S. (2024). Serverless Framework Documentation. [link].
Jonas, E., Schleier-Smith, J., Sreekanti, V., et al. (2019). Cloud programming simplified: A berkeley view on serverless computing. arXiv preprint arXiv:1902.03383.
Latreille, L. (2022). My Journey with Pulumi and the Serverless Framework. Level Up Coding. Acesso em: 22 de agosto de 2024.
Outsource, T. (2023). The Best Serverless Frameworks for Developers. TMS Outsource Blog. Acesso em: 22 de agosto de 2024.
Projects, P. (2024). Flask documentation. Acesso em: 14 de outubro de 2024.
RightScale (2020). Rightscale 2020 state of the cloud report. Acesso em: 14 de outubro de 2024.
Roberts, M. (2016). Serverless Architectures. Mike Roberts Blog.
Roberts, M. (2018). Serverless Architectures.
Schleier-Smith, J., Sreekanti, V., Khandelwal, A., et al. (2021). What serverless computing is and should become: The next phase of cloud computing. Communications of the ACM, 64(5):76–84.
TatvaSoft (2022). Top Serverless Frameworks for Creating Serverless Apps. TatvaSoft Blog. Acesso em: 22 de agosto de 2024.
Villamizar, M., Garcés, O., Ochoa, L., et al. (2016). Infrastructure Cost Comparison of Running Web Applications in the Cloud Using AWS Lambda and Monolithic and Microservice Architectures. In Proceedings of the 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), pages 179–182. IEEE.
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., Wesslén, A., et al. (2012). Experimentation in software engineering, volume 236. Springer.
Adzic, G. and Chatley, R. (2017). Serverless Computing: Economic and Architectural Impact. arXiv preprint arXiv:1706.05336.
Amazon (2024). AWS Serverless Application Model (AWS SAM). Amazon Web Services.
Baldini, I., Castro, P., Chang, K., Cheng, P., Fink, S., and Ishakian, V. (2017). Serverless Computing: Current Trends and Open Problems. Research Advances in Cloud Computing.
Bille, S. (2023a). Serverless Framework vs SAM vs AWS CDK. DEV Community. Acesso em: 22 de agosto de 2024.
Bille, S. (2023b). Serverless Frameworks for 2023. Elva Group Blog. Acesso em: 22 de agosto de 2024.
Cavalheiro, A. P. and Schepke, C. (2023). Exploring the Serverless First Strategy in Cloud Application Development. In 2023 International Symposium on Computer Architecture and High Performance Computing Workshops (SBAC-PADW), pages 89–94.
Cloud, F. (2024). Serverless Computing: O que é? Corp., P. (2024). Pulumi Documentation. Pulumi Corp.
Eismann, S., Scheuner, J., Van Eyk, E., Schwinger, M., et al. (2020). Serverless applications: Why, when, and how? IEEE Software, 38(1):32–39.
FastAPI (2024). Fastapi documentation. Acesso em: 14 de outubro de 2024.
Hassan, H. B., Barakat, S. A., and Sarhan, Q. I. (2021). Survey on Serverless Computing. Journal of Cloud Computing, 10:1–29.
Hellerstein, J. M., Faleiro, J. M., Gonzalez, J. E., et al. (2018). Serverless Computing: One Step Forward, Two Steps Back. arXiv preprint arXiv:1812.03651.
Inc., S. (2024). Serverless Framework Documentation. [link].
Jonas, E., Schleier-Smith, J., Sreekanti, V., et al. (2019). Cloud programming simplified: A berkeley view on serverless computing. arXiv preprint arXiv:1902.03383.
Latreille, L. (2022). My Journey with Pulumi and the Serverless Framework. Level Up Coding. Acesso em: 22 de agosto de 2024.
Outsource, T. (2023). The Best Serverless Frameworks for Developers. TMS Outsource Blog. Acesso em: 22 de agosto de 2024.
Projects, P. (2024). Flask documentation. Acesso em: 14 de outubro de 2024.
RightScale (2020). Rightscale 2020 state of the cloud report. Acesso em: 14 de outubro de 2024.
Roberts, M. (2016). Serverless Architectures. Mike Roberts Blog.
Roberts, M. (2018). Serverless Architectures.
Schleier-Smith, J., Sreekanti, V., Khandelwal, A., et al. (2021). What serverless computing is and should become: The next phase of cloud computing. Communications of the ACM, 64(5):76–84.
TatvaSoft (2022). Top Serverless Frameworks for Creating Serverless Apps. TatvaSoft Blog. Acesso em: 22 de agosto de 2024.
Villamizar, M., Garcés, O., Ochoa, L., et al. (2016). Infrastructure Cost Comparison of Running Web Applications in the Cloud Using AWS Lambda and Monolithic and Microservice Architectures. In Proceedings of the 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), pages 179–182. IEEE.
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., Wesslén, A., et al. (2012). Experimentation in software engineering, volume 236. Springer.
Publicado
11/11/2024
Como Citar
CAVALHEIRO, Adriano Prado; LOPES, Brenda Medeiros; SCHEPKE, Claudio.
Uma Análise Prática dos Frameworks Serverless AWS SAM, Pulumi e Serverless Framework. In: ESCOLA REGIONAL DE ENGENHARIA DE SOFTWARE (ERES), 8. , 2024, Santiago/RS.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2024
.
p. 198-207.
DOI: https://doi.org/10.5753/eres.2024.4243.