Microsserviços aplicados no gerenciamento de dados de vistorias imobiliárias: um estudo de caso

Resumo


As arquiteturas de microsserviço são cada vez mais adotadas na indústria e setor empresarial, pois oferecem alta escalabilidade, disponibilidade e velocidade de desenvolvimento. A literatura acadêmica propôs uma variedade de abordagens para automatizar o dimensionamento e alocação de recursos, recuperação de falhas, ajuste de parâmetros e muitas outras tarefas que permitem o auto-gerenciamento de microsserviços. A avaliação dessas abordagens em um cenário realista requer aplicações com comportamentos diversificados, demandando requisitos específicos quanto a escalabilidade, desempenho e confiabilidade. Este trabalho apresenta uma solução baseada em uma arquitetura de microsserviços, que consiste de onze serviços, fornecendo uma visão real para avaliação da aplicabilidade de novas abordagens para microsserviços e sistemas de software autônomos em geral. O problema alvo desta solução é o gerenciamento de dados de vistorias imobiliárias. Este trabalho apresenta uma visão geral da arquitetura adotada, indicando os desafios e aprendizados obtidos durante a implementação e manutenção deste sistema.

Palavras-chave: microsserviços, estudo de caso, AWS, cotêineres, Docker

Referências

Adhikari, V. K., Guo, Y., Hao, F., Varvello, M., Hilt, V., Steiner, M., and Zhang, Z.-L.(2012). Unreeling netflix: Understanding and improving multi-cdn movie delivery. In2012 Proceedings IEEE INFOCOM, pages 1620-1628. IEEE.

Bernstein, P. A., Cseri, I., Dani, N., Ellis, N., Kalhan, A., Kakivaya, G., Lomet, D. B.,Manne, R., Novik, L., and Talius, T. (2011). Adapting microsoft sql server for cloudcomputing. In 2011 IEEE 27th International Conference on Data Engineering, pages1255-1263. IEEE.

Bribesois, A. (2013). Posion queues are a must! https: //alexandrebrisebois.wordpress.com/2013/08/14/poison-queues-are-a-must/.

Rosen, R. (2014). Linux containers and the future cloud. Linux J, 240(4):86-95.

Bukoski, E. Moyles, B. and McGarr, M. (2016). How webuild code at netflix. https://netflixtechblog.com/how-we-build-code-at-netflix-c5d9bd727£15.

Casalicchio, E. (2017). Autonomic orchestration of containers: Problem definition andresearch challenges. ValueTools 2016 - 10th EAI International Conference on Perfor-mance Evaluation Methodologies and Tools, pages 287-290.

Casalicchio, E. and Iannucci, S. (2020). The state-of-the-art in container technologies:Application, orchestration and security. Concurrency Computation, (March 2018):1—-17.

Confluent (2020). Schema registry tutorial. https://docs.confluent.io/current /schema-registry/schema registry tutorial.html.

Felter, W., Ferreira, A., Rajamony, R., and Rubio, J. (2015). An updated performancecomparison of virtual machines and Linux containers. ISPASS 2015 - IEEE Interna-tional Symposium on Performance Analysis of Systems and Software, 25482:171-172.

Fowler, S. J. (2017). Microsserviços prontos para a produção. novatec, São Paulo, 1edition.

Gan, Y. and Delimitrou, C. (2018). The architectural implications of cloud microservices.IEEE Computer Architecture Letters, 17(2):155-158.

Garcia-Molina, H. and Salem, K. (1987). Sagas. ACM Sigmod Record, 16(3):249-259.

Haselbôck, S., Weinreich, R., and Buchgeher, G. (2017). Decision guidance modelsfor microservices: service discovery and fault tolerance. In Proceedings of the FifthEuropean Conference on the Engineering of Computer-Based Systems, pages 1-10.

Hoque, S., de Brito, M. S., Willner, A., Keil, O., and Magedanz, T. (2017). Towardscontainer orchestration in fog computing infrastructures. In 2017 IEEE 41st AnnualComputer Software and Applications Conference (COMPSAC), volume 2, pages 294-299. IEEE.

Jonas, E., Schleier-Smith, J., Sreekanti, V., Tsai, C.-C., Khandelwal, A., Pu, Q., Shankar,V., Carreira, J., Krauth, K., Yadwadkar, N., et al. (2019). Cloud programming simpli-fied: A berkeley view on serverless computing. arXiv preprint arXiv: 1902.03383.

Karlesky, M., Williams, G., Bereza, W., and Fletcher, M. (2007). Mocking the embeddedworld: Test-driven development, continuous integration, and design patterns. In Proc.Emb. Systems Conf, CA, USA, pages 1518-1532.

Khan, A. (2017). Key Characteristics of a Container Orchestration Platform to Enable aModern Application. IEEE Cloud Computing, 4(5):42-48.

Las-Casas, P., Papakerashvili, G., Anand, V., and Mace, J. (2019). Sifter: Scalable sam-pling for distributed traces, without feature engineering. In Proceedings of the ACMSymposium on Cloud Computing, pages 312-324.

Limón, X., Guerra-Hernández, A., Sánchez-García, A. J., and Arriaga, J. C. P. (2018).Sagamas: a software framework for distributed transactions in the microservice archi-tecture. In 2018 6th International Conference in Software Engineering Research andInnovation (CONISOFT), pages 50-58. IEEE.

Liu, D. and Zhao, L. (2014). The research and implementation of cloud computing plat-form based on docker. 2014 11th International Computer Conference on Wavelet Ac-tive Media Technology and Information Processing, ICCWAMTIP 2014, pages 475-478.

Maenhaut, P. J., Volckaert, B., Ongenae, V., and De Turck, F. (2019). Resource Management in a Containerized Cloud: Status and Challenges, volume 28. Springer US.Technology, pages 677-685. Springer.

Merci, L. and Pavlik, J. (2019). The comparison of container orchestrators. In ThirdInternational Congress on Information and Communication

Peinl, R., Holzschuher, F., and Pfitzer, F. (2016). Docker cluster management for thecloud-survey results and own solution. Journal of Grid Computing, 14(2):265-282.

Polo, M., Tendero, S., and Piattini, M. (2007). Integrating techniques and tools for testingautomation. Software Testing, Verification and Reliability, 17(1):3-39.

Richardson, C. (2019). Pattern: Distributed tracing. https://microservices.io/patterns/observability/distributed-tracing.html.

Rufino, J., Alam, M., Ferreira, J., Rehman, A., and Tsang, K. F. (2017). Orchestration ofcontainerized microservices for IoT using Docker. Proceedings of the IEEE International Conference on Industrial Technology, pages 1532-1536.
Publicado
07/12/2020
MULLER, Rodrigo Herpich; MEINHARDT, Cristina; MENDIZABAL, Odorico Machado. Microsserviços aplicados no gerenciamento de dados de vistorias imobiliárias: um estudo de caso. In: WORKSHOP EM CLOUDS E APLICAÇÕES (WCGA), 18. , 2020, Rio de Janeiro. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2020 . p. 41-54. DOI: https://doi.org/10.5753/wcga.2020.12443.