Director: a Cloud Microservice Selection Framework

Director: a Cloud Microservice Selection Framework

DIRECTOR: A CLOUD MICROSERVICE SELECTION FRAMEWORK Marcelo de França Costa Tese de Doutorado apresentada ao Programa de Pós-graduação em Engenharia de Sistemas e Computação, COPPE, da Universidade Federal do Rio de Janeiro, como parte dos requisitos necessários à obtenção do título de Doutor em Engenharia de Sistemas e Computação. Orientadora: Cláudia Maria Lima Werner Rio de Janeiro Junho de 2019 DIRECTOR: A CLOUD MICROSERVICE SELECTION FRAMEWORK Marcelo de França Costa TESE SUBMETIDA AO CORPO DOCENTE DO INSTITUTO ALBERTO LUIZ COIMBRA DE PÓS-GRADUAÇÃO E PESQUISA DE ENGENHARIA (COPPE) DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE DOUTOR EM CIÊNCIAS EM ENGENHARIA DE SISTEMAS E COMPUTAÇÃO. Examinada por: _______________________________________________ Prof. Cláudia Maria Lima Werner, D.Sc. _______________________________________________ Prof. Toacy Cavalcante de Oliveira, D.Sc. _______________________________________________ Prof. Rodrigo Pereira dos Santos, D.Sc. _______________________________________________ Prof. Márcio de Oliveira Barros, D.Sc. _______________________________________________ Prof. Eduardo Santana de Almeida, D.Sc. _______________________________________________ Prof. Elisa Yumi Nakagawa, D.Sc. RIO DE JANEIRO, RJ – BRASIL JUNHO DE 2019 Costa, Marcelo de França DIRECTOR: A Cloud Microservice Selection Framework/ Marcelo de França Costa. – Rio de Janeiro: UFRJ/COPPE, 2019. XIV, 185 p.: il.; 29,7 cm. Orientadora: Cláudia Maria Lima Werner Tese (doutorado) – UFRJ/ COPPE/ Programa de Engenharia de Sistemas e Computação, 2019. Referências Bibliográficas: p. 101-116. 1. Software Ecosystems. 2. Software Architecture. 3. Cloud Computing. 4. Cognitive Computing. 5. Microservices. 6. Software Engineering. I. Werner, Cláudia Maria Lima. II. Universidade Federal do Rio de Janeiro, COPPE, Programa de Engenharia de Sistemas e Computação. III. Título. iii “I have fought the good fight, I have finished the race, I have kept the faith. Now there is in store for me the crown of righteousness, which the Lord, the righteous Judge, will award to me on that day – and not only to me, but also to all who have longed for his appearing.” (2 Timothy 4:7-8, Holy Bible, New International Version) iv Acknowledgments First, from an academic perspective, I would like to acknowledge the trust that my adviser, Professor Claudia Werner, has put in me – her first part-time PhD candidate. She has given me a lifetime opportunity to learn and to contribute to the Software Engineering community, being part of one of Brazil’s most prestigious universities. I was very fortunate to count with her assistance during these five years. Thank you, Professor. I would like also to recognize my former Master’s adviser, Professor Márcio Barros, for all the encouragement and support during these challenge years. Professor Rodrigo Santos for the immense availability of time. Professor Klaus Schmid for the free advices regarding the evolution of my thesis’ proposal. Professor Oswaldo Barcia for helping me with the evaluation analysis. My sincere thanks to you all. Then, from a professional perspective, I would like to start by thanking Matheus Americano, Renata Proença, Luciana Povoa and Bruno Martins (plus our CTO Raymundo Barros), from Grupo Globo, for all the assistance (financially and motivationally speaking) regarding my PhD course. I would like also to thank Professors Rosymere Cersosimo, João Claudio and Maura Luiza, from FAETEC, for understanding the challenges of getting a PhD while teaching. Finally, I would really like to thank Enio Moura, Argemiro Lima and Thiago Guimaraes, my colleagues from IBM, for helping me pave the way for this PhD research, since the beginning of this journey. I cannot stress enough how your support was pivotal to this conquest. For that, I am truly grateful. Lastly, from a personal perspective, I would like to thank my friends André Farzat, Natacha Pragana and Anderson Paulo for all the good moments that, somehow, have alleviated the pressure of this endeavor. Very special thanks to my dear friend Fábio Farzat, for giving me the “final push” to start this long-term project. Then, obviously, I want to thank those who helped me in a way that nobody else could. My parents Darcy Costa and Fátima França, besides my brothers and cousins, for all the love and unconditional aid. My wife, Amanda Barcia, for just about everything and for being the best part of my days. Additionally, my little precious, my daughter Rafaela França, for giving me an additional motivation for concluding this quest. I love you all from the bottom of my heart. Thank You, Lord, for the all the unique opportunities, challenges, gifts and ordeals… For allowing me to feel Your presence along the way and for my faith in You! v Resumo da Tese apresentada à COPPE/UFRJ como parte dos requisitos necessários para a obtenção do grau de Doutor em Ciências (D.Sc.) DIRECTOR: UM FRAMEWORK PARA SELEÇÃO DE MICROSSERVIÇOS NA NUVEM Marcelo de França Costa Junho/2019 Orientadora: Cláudia Maria Lima Werner Programa: Engenharia de Sistemas e Computação O campo de pesquisa de Ecossistemas de Software tem recebido cada vez mais atenção da academia e da indústria, já que organizações os tem adotado como plataforma colaborativa para alcançar inovações mais rapidamente. Mais recentemente, com o advento da Computação em Nuvem, modernos ecossistemas passaram a ser ofertados como serviço, permitindo que atores contribuam, mas também comercializem suas próprias soluções, reutilizando ativos de software disponíveis, popularmente, no formato de microsserviços, isto é, uma funcionalidade bem específica, normalmente exposta através de tecnologias Web. Com a atual proliferação de plataformas e microsserviços, um desafio relevante para os arquitetos de software é adquirir o componente mais adequado, frente a um conjunto de requisitos e prioridades. Neste contexto, propomos DIRECTOR: Um framework para seleção de microsserviços na nuvem, baseado em perspectivas complementares (técnica, social e semântica), ou seja, utilizando análise objetiva, reputação e inteligência artificial. Os resultados obtidos mediante a uma prova de conceito, e de um estudo de viabilidade conduzido com especialistas da indústria, indicam que ele pode apoiar a aquisição de software por meio da descoberta, avaliação e comparação de microsserviços, sendo capaz de recomendar o mais apto dentre centenas de candidatos em múltiplas plataformas de nuvem. vi Abstract of Thesis presented to COPPE/UFRJ as a partial fulfillment of the requirements for the degree of Doctor of Science (D.Sc.) DIRECTOR: A CLOUD MICROSERVICE SELECTION FRAMEWORK Marcelo de França Costa June/2019 Advisor: Cláudia Maria Lima Werner Department: Computer Science and System Engineering The Software Ecosystem research field has been receiving an increasing amount of attention from both academia and industry, as many organizations have been adopting them as a collaborative platform to achieve innovation faster than before. More recently, with the advent of Cloud Computing, modern ecosystems have been offered as a service, allowing actors to contribute, but also commercialize their own solutions, by reusing available software assets, popularly in the shape of microservices, i.e., very specific functionality, usually exposed through Web technologies. With the current proliferation of platforms and microservices, an open and relevant challenge for software architects is to find and acquire the most adequate component, given a set of requirements and priorities. In this context, we propose DIRECTOR: A cloud microservice selection framework, based on complementary technical, social and semantical perspectives, i.e., by relying on objective analysis, reputation and artificial intelligence, respectively. The results obtained through a proof-of-concept (PoC), and a feasibility study conducted with industry experts, indicate that it can support software acquisition via discovery, evaluation and comparison of microservices, being able to recommend the fittest among hundreds of candidates in multiple cloud platforms. vii SUMMARY LIST OF ILLUSTRATIONS ............................................................................... xi LIST OF TABLES .............................................................................................. xii ABBREVIATIONS ........................................................................................... xiii Chapter 1 – Introduction ........................................................................................ 1 1.1 Context ..................................................................................................... 1 1.2 Motivation ................................................................................................ 4 1.3 Problem .................................................................................................... 5 1.4 Objectives ................................................................................................ 6 1.5 Methodology ............................................................................................ 8 1.6 Outline ................................................................................................... 10 Chapter 2 – Modern Software Ecosystems .......................................................... 11 2.1 Software Ecosystems ............................................................................. 11 Software Ecosystems and Software Reuse .....................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    199 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us