Migração de Aplicações Monolíticas para Microsserviços com Uso de Inteligência Artificial
Resumo
A arquitetura de microsserviços vem sendo adotada cada vez mais com o objetivo de prover um sistema de software escalável, versátil e com integração contínua. Porém, ainda há uma enorme quantidade de sistemas legados com a arquitetura monolítica. Para um aproveitamento das vantagens da arquitetura de microsserviços, é necessária uma migração. A migração de sistemas monolíticos para arquitetura de microsserviços possui dificuldades, tais como carência de desenvolvedores especialistas em microsserviços e tempo despendido para a migração. Esta pesquisa visa propor uma alternativa para uma migração mais eficiente, com maior nível de automatização, auxiliando programadores independente de sua experiência em microsserviços.
Referências
Baresi, L., Garriga, M., e De Renzis, A. Microservices identification through interface analysis. In: Proceedings of the European Conference on Service-Oriented and Cloud Computing (ESOCC). Oslo, Norway, pp. 19–33, 2017. Springer.
Cardarelli, M., Iovino, L., Di Francesco, P., Di Salle, A., Malavolta, I., e Lago, P. An extensible data-driven approach for evaluating the quality of microservice architectures. In: Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing. New York, United States, pp. 1225–1234, 2019.
Chang, J., Gerrish, S., Wang, C., Boyd-Graber, J. L., e Blei, D. M. Reading tea leaves: How humans interpret topic models. In: Proceedings of Advances in neural information processing systems. Vancouver, BC, Canada, pp. 288–296, 2009.
Di Francesco, P., Lago, P., e Malavolta, I. Architecting with microservices: A systematic mapping study. Journal of Systems and Software (JSS), 150:77–97, 2019.
Eski, S. e Buzluca, F. An automatic extraction approach: transition to microservices In: Proceedings of the 19th International architecture from monolithic application. Conference on Agile Software Development: Companion. Porto, Portugal, pp. 1–6, 2018.
Fritzsch, J., Bogner, J., Zimmermann, A., e Wagner, S. From monolith to microservices: A classification of refactoring approaches. In: Proceedings of the International Workshop on Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment. Villebrumier, France, pp. 128–141, 2018.
Harman, M. The role of artificial intelligence in software engineering. In: Proceedings of 2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE). Zurich, Switzerland, pp. 1–6, 2012.
Hofmeister, C., Nord, R., e Soni, D. Applied software architecture. Addison-Wesley Professional, Boston, MA, USA, 5ª edição, 2000.
Kazanavicius, J. e Mazeika, D. Migrating legacy software to microservices architecture. In: Proceedings of the 2019 Open Conference of Electrical, Electronic and Information Sciences (eStream 2019). Vilnius, Lithuania, pp. 1–5, 2019.
Khatoun, R. e Zeadally, S. Smart cities: concepts, architectures, research opportunities. Communications of the ACM, 59(8):46–57, 2016.
Kitchenham, B. e Charters, S. Guidelines for performing systematic literature reviews in software engineering. Technical Report EBSE-2007-01, Inglaterra, 2007.
Mazlami, G., Cito, J., e Leitner, P. Extraction of microservices from monolithic software In: Proceedings of the 2017 IEEE International Conference on Web architectures. Services (ICWS). Honolulu, USA, pp. 524–531, 2017.
Pahl, C., Brogi, A., Soldani, J., e Jamshidi, P. Cloud container technologies: a state-ofthe-art review. IEEE Transactions on Cloud Computing, 7(3):677–692, 2017.
Ponce, F., Márquez, G., e Astudillo, H. Migrating from monolithic architecture to microservices: A rapid review. In: Proceedings of the 2019 38th International Conference of the Chilean Computer Science Society (SCCC). Concepcion, Chile, pp. 1–7, 2019.
Röder, M., Both, A., e Hinneburg, A. Exploring the space of topic coherence measures. In: Proceedings of the Eighth ACM International Conference on Web Search and Data Mining. WSDM ’15, New York, NY, USA, page 399–408, 2015.
Russell, S. e Norvig, P. Artificial intelligence: a modern approach. Pearson, New York, NY, USA, 3ª edição, 2009.
Schnabel, T., Labutov, I., Mimno, D., e Joachims, T. Evaluation methods for unsupervised word embeddings. In: Proceedings of the 2015 Conference on Empirical Methods in Natural Llanguage Processing. pp. 298–307, 2015.
Shadija, D., Rezai, M., e Hill, R. Microservices: Granularity vs. performance. In: Companion Proceedings of the 10th International Conference on Utility and Cloud Computing (UCC ’17). New York, USA, pp. 215–220, 2017.
Taibi, D., Lenarduzzi, V., e Pahl, C. Processes, motivations, and issues for migrating to microservices architectures: An empirical investigation. IEEE Cloud Computing, 4(5):22–32, 2017.
Van Solingen, R., Basili, V., Caldiera, G., e Rombach, H. D. Goal question metric (GQM) approach. Encyclopedia of software engineering, 2002.
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., e Wesslén, A. Experimentation in software engineering. Springer Science & Business Media, New York, NY, USA, 2012.