Canary deployment em kubernetes com istio: um estudo de caso sobre implantações graduais e gerenciamento de tráfego

Detalhes bibliográficos
Autor(a) principal: Silva, José Weverton Barros da
Data de Publicação: 2025
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional do IFPE
Texto Completo: https://repositorio.ifpe.edu.br/xmlui/handle/123456789/1743
Resumo: Este trabalho apresenta a implementação e análise de uma estratégia de Canary Deploy- ment utilizando o Istio em um cluster Kubernetes. O Canary Deployment é uma técnica de implantação gradual que permite a liberação de novas versões de software de forma controlada, direcionando inicialmente uma pequena parcela do tráfego para a nova versão enquanto a maior parte permanece na versão estável. Essa abordagem reduz riscos asso- ciados a falhas e permite a validação da nova versão em produção antes de sua adoção completa (NEWMAN, 2015; RICHARDSON, 2018). O estudo foi conduzido com base na configuração de recursos do Istio, como Desti- nation Rules, Virtual Services e Gateways, para gerenciar o roteamento de tráfego entre duas versões de uma aplicação (v1 e v2). Foram explorados diferentes cenários de distri- buição de tráfego, iniciando com 90% para a versão estável (v1) e 10% para a nova versão (v2), evoluindo para uma divisão equilibrada de 50% para cada versão e, finalmente, di- recionando 100% do tráfego para a v2 após sua validação. Em caso de problemas, foi implementado um mecanismo de rollback rápido, redirecionando o tráfego de volta para a versão estável. Para monitorar e avaliar o desempenho das versões, foram utilizadas as ferramentas Prometheus e Kiali. O Prometheus forneceu métricas detalhadas sobre taxa de erro, latên- cia e throughput, enquanto o Kiali ofereceu uma visão gráfica da topologia da aplicação e do fluxo de tráfego entre os serviços. Essas ferramentas permitiram a detecção precoce de problemas e a tomada de decisões baseadas em dados, garantindo a estabilidade do sistema. Os resultados demonstraram que a estratégia de Canary Deployment, aliada ao uso do Istio, é eficaz para a implantação segura e gradual de novas versões em ambientes de mi- crosserviços. A capacidade de ajustar dinamicamente o tráfego e realizar rollbacks rápidos mostrou-se fundamental para minimizar impactos negativos e garantir a confiabilidade do sistema. Além disso, a integração com ferramentas de monitoramento proporcionou visi- bilidade e controle sobre o comportamento da aplicação em tempo real. Por fim, o trabalho sugere direções futuras para aprimorar a implementação, como a automação do processo de Canary Deployment, a integração com ferramentas de análise de logs, a realização de testes de carga mais abrangentes e a expansão para ambientes multi- cluster. Essas melhorias têm o potencial de aumentar ainda mais a eficiência, resiliência e escalabilidade do sistema, consolidando o Canary Deployment como uma prática essencial para a gestão de microsserviços em produção.
id IFPE_39f9efbeb1bf1440de00bc9145ef9e2c
oai_identifier_str oai:repositorio.ifpe.edu.br:123456789/1743
network_acronym_str IFPE
network_name_str Repositório Institucional do IFPE
repository_id_str
spelling 2025-07-02T21:12:39Z2025-07-02T21:12:39Z2025-02-26https://repositorio.ifpe.edu.br/xmlui/handle/123456789/1743Este trabalho apresenta a implementação e análise de uma estratégia de Canary Deploy- ment utilizando o Istio em um cluster Kubernetes. O Canary Deployment é uma técnica de implantação gradual que permite a liberação de novas versões de software de forma controlada, direcionando inicialmente uma pequena parcela do tráfego para a nova versão enquanto a maior parte permanece na versão estável. Essa abordagem reduz riscos asso- ciados a falhas e permite a validação da nova versão em produção antes de sua adoção completa (NEWMAN, 2015; RICHARDSON, 2018). O estudo foi conduzido com base na configuração de recursos do Istio, como Desti- nation Rules, Virtual Services e Gateways, para gerenciar o roteamento de tráfego entre duas versões de uma aplicação (v1 e v2). Foram explorados diferentes cenários de distri- buição de tráfego, iniciando com 90% para a versão estável (v1) e 10% para a nova versão (v2), evoluindo para uma divisão equilibrada de 50% para cada versão e, finalmente, di- recionando 100% do tráfego para a v2 após sua validação. Em caso de problemas, foi implementado um mecanismo de rollback rápido, redirecionando o tráfego de volta para a versão estável. Para monitorar e avaliar o desempenho das versões, foram utilizadas as ferramentas Prometheus e Kiali. O Prometheus forneceu métricas detalhadas sobre taxa de erro, latên- cia e throughput, enquanto o Kiali ofereceu uma visão gráfica da topologia da aplicação e do fluxo de tráfego entre os serviços. Essas ferramentas permitiram a detecção precoce de problemas e a tomada de decisões baseadas em dados, garantindo a estabilidade do sistema. Os resultados demonstraram que a estratégia de Canary Deployment, aliada ao uso do Istio, é eficaz para a implantação segura e gradual de novas versões em ambientes de mi- crosserviços. A capacidade de ajustar dinamicamente o tráfego e realizar rollbacks rápidos mostrou-se fundamental para minimizar impactos negativos e garantir a confiabilidade do sistema. Além disso, a integração com ferramentas de monitoramento proporcionou visi- bilidade e controle sobre o comportamento da aplicação em tempo real. Por fim, o trabalho sugere direções futuras para aprimorar a implementação, como a automação do processo de Canary Deployment, a integração com ferramentas de análise de logs, a realização de testes de carga mais abrangentes e a expansão para ambientes multi- cluster. Essas melhorias têm o potencial de aumentar ainda mais a eficiência, resiliência e escalabilidade do sistema, consolidando o Canary Deployment como uma prática essencial para a gestão de microsserviços em produção.This paper presents the implementation and analysis of a Canary Deployment strategy using Istio in a Kubernetes cluster. Canary Deployment is a gradual release technique that allows the controlled rollout of new software versions by initially directing a small portion of the traffic to the new version while the majority remains on the stable version. This approach reduces the risks associated with failures and enables the validation of the new version in production before full adoption (NEWMAN, 2015; RICHARDSON, 2018). The study was conducted based on Istio resource configuration, such as Destination Rules, Virtual Services, and Gateways, to manage traffic routing between two versions of an application (v1 and v2). Different traffic distribution scenarios were explored, starting with 90. To monitor and assess the performance of the versions, Prometheus and Kiali tools were used. Prometheus provided detailed metrics on error rates, latency, and throughput, while Kiali offered a graphical view of the application’s topology and traffic flow between services. These tools enabled early problem detection and data-driven decision-making, ensuring system stability.The results demonstrated that the Canary Deployment strategy, combined with Istio, is effective for the safe and gradual deployment of new versions in microservices envi- ronments. The ability to dynamically adjust traffic and perform rapid rollbacks proved crucial in minimizing negative impacts and ensuring system reliability. Additionally, the integration with monitoring tools provided visibility and control over the application’s behavior in real-time.Finally, the paper suggests future directions for improving the implementation, such as automating the Canary Deployment process, integrating with log analysis tools, con- ducting more extensive load testing, and expanding to multi-cluster environments. These improvements have the potential to further increase the efficiency, resilience, and scalabi- lity of the system, solidifying Canary Deployment as an essential practice for managing microservices in production.59p.AMAZON. Blue/Green Deployments. s.d. Disponível em: https://aws.amazon.com/blogs/devops/blue-green-deployments-with-aws/. Acessado em: 15/10/2024. AMAZON. What is Continuous Delivery?. 2021. Disponível em: https://aws.amaz on.com/devops/continuous-delivery/. Acessado em: 03/11/2024. ATLASSIAN. Continuous Deployment. 2020. Disponível em: https://www.atlassia n.com/continuous-delivery/continuous-deployment. Acessado em: 20/12/2024. AWS. Deployment Strategies. 2022. Disponível em: https://aws.amazon.com/devop s/deployment-strategies/. Acessado em: 05/01/2025. AWS. What is DevOps?. 2021. Disponível em: https://aws.amazon.com/devops/wh at- is-devops/. Acessado em: 10/02/2025. BASS, L. et al. DevOps: A Software Architect’s Perspective. Addison-Wesley Professional, 2015. CHATTERJEE, S. DevOps: A Comprehensive Guide. 2021. DOCKER INC. What is a Container?. 2020. Disponível em: https://www.docker.c om/resources/what-container. Acessado em: 12/10/2024. EBERT, C. et al. DevOps. IEEE Software, v. 33, n. 3, p. 94-100, 2016. ELASTIC. DevSecOps: Integrating Security into DevOps. 2023. Disponível em: https://www.elastic.co/what-is/devsecops. Acessado em: 18/11/2024. FARADAY. Continuous Deployment: a practical guide. 2019. Disponível em: https://www.faraday.io/blog/continuous-deployment-practical-guide. Acessado em: 30/12/2024. FOWLER, M. BlueGreenDeployment. 2010. Disponível em: https://martinfowler.com/bliki/BlueGreenDeployment.html. Acessado em: 22/01/2025. FOWLER, M. Canary Release. 2023. Disponível em: https://martinfowler.com/bliki/CanaryRelease.html. Acessado em: 14/02/2025. GHAHRAMANI, M.; ZHOU, M.; HON, C. Cloud Computing and Its Applications. In: Proceedings of the 2017 International Conference on Cloud Computing and Big Data Analysis, 2017. GOOGLE CLOUD. Kubernetes Overview. s.d. Disponível em: https://cloud.google.com/kubernetes-engine/docs/concepts/kubernetes-engine-overview. Acessado em: 08/10/2024. GOOGLE CLOUD. What is PaaS?. s.d. Disponível em: https://cloud.google.com/lea rn/what-is-paas. Acessado em: 17/11/2024. HOLBROOK, J. What is a Virtual Machine. In: VMware Virtualization Fundamen- tals, 2022. IBM. Kubernetes: Challenges and Benefits. s.d. Disponível em: https://www.ibm. com/cloud/learn/kubernetes. Acessado em: 29/12/2024. IBM CLOUD TEAM. Containers vs Virtual Machines. 2021. Disponível em: https://www.ibm.com/cloud/blog/containers-vs-vms. Acessado em: 11/01/2025. ISTIO. Istio Documentation. 2023. Disponível em: https://istio.io/latest/docs/. Acessado em: 19/02/2025. KNORR, E.; GRUMAN, G. What Cloud Computing Really Means. InfoWorld, 2008. Disponível em: https://www.infoworld.com/article/2683784/what-cloud-com puting- really-means.html. Acessado em: 07/10/2024. MARTIN, R. C. Continuous Deployment. 2011. Disponível em: https://blog.clean coder.com/uncle-bob/2011/04/25/ContinuousDeployment.html. Acessado em: 16/11/2024. NEWMAN, S. Building Microservices. 1. ed. [S.l.]: O’Reilly Media, 2015. RAVICHANDRAN, T. et al. DevOps: principles and Practices. In: Proceedings of the 2016 ACM SIGMIS Conference on Computers and People Research, 2016. RED HAT. Deployment Strategies. 2022. Disponível em: https://www.redhat.com/e n/topics/devops/deployment-strategies. Acessado em: 04/01/2025. RED HAT. Kubernetes e Canary Deployments. 2023. Disponível em: https://ww w.redhat.com/en/blog/simple-canary-deployments-using-kubernetes-statefulsets-o n- openshift. Acessado em: 13/02/2025. RED HAT. Types of Cloud Computing. 2023. Disponível em: https://www.redhat .com/en/topics/cloud-computing/public-cloud-vs-private-cloud-and-hybrid-cloud. Acessado em: 21/09/2024. RED HAT. What is a Container?. 2022. Disponível em: https://www.redhat.com/e n/topics/containers/what-is-a-container. Acessado em: 06/11/2024. RED HAT. What is Continuous Deployment?. 2020. Disponível em: https://www.redhat.com/en/topics/devops/what-is-continuous-deployment. Acessado em: 24/12/2024. RED HAT. What is Continuous Integration?. 2020. Disponível em: https://ww w.redhat.com/en/topics/devops/what-is-continuous-integration. Acessado em: 09/01/2025. RED HAT. What is DevSecOps?. 2023. Disponível em: https://www.redhat.com/e n/topics/devops/what-is-devsecops. Acessado em: 18/02/2025. RED HAT. What is Istio?. 2022. Disponível em: https://www.redhat.com/en/topics/microservices/what-is-istio. Acessado em: 02/10/2024. RICHARDSON, C. Microservices Patterns. 1. ed. [S.l.]: Manning Publications, 2018. RITTINGHOUSE, J. W.; RANSOME, J. F. Cloud Computing:implementation, Management, and Security. CRC Press, 2017. SENAPATHI, M.; BUCHAN, J. DevOps Capabilities, Practices, and Challenges. In: Proceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering, 2018. SHAHIN, M.; ALI BABAR, M.; ZHU, L. Continuous Integration, Delivery and Deployment: a Systematic Review. In: Proceedings of the 2017 International Conference on Software and System Process, 2017. TOTVS. What is SaaS?. s.d. Disponível em: https://www.totvs.com/blog/saas/o-q ue- e-saas/. Acessado em: 26/09/2024. WIEDEMANN, A. et al. DevOps: A Systematic Literature Review. In: Proce- edings of the 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, 2019. YOUNG, J. Canary Deployments: A Practical Guide. 2020. Disponível em: https://www.youngtech.com/blog/canary-deployments-practical-guide. Acessado em: 22/02/2025.An error occurred on the license name.An error occurred getting the license - uri.info:eu-repo/semantics/openAccessENGENHARIASCanary DeploymentIstioKubernetesRoteamento de TráfegoMicrosserviçosPrometheusKialiMonitoramentoMecanismo de RollbackEstabilidade do SistemaCanary deployment em kubernetes com istio: um estudo de caso sobre implantações graduais e gerenciamento de tráfegoinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisTorres, Elton Bezerrahttp://lattes.cnpq.br/0943345989607946Torres, Elton BezerraSilva, Guilherme Cavalcanti daViana, Daniel Leitehttp://lattes.cnpq.br/0943345989607946http://lattes.cnpq.br/7880134393452607http://lattes.cnpq.br/4375422374094000Silva, José Weverton Barros daBrasilBelo Jardimporreponame:Repositório Institucional do IFPEinstname:Instituto Federal de Educação, Ciência e Tecnologia de Pernambuco (IFPE)instacron:IFPEORIGINALTCC_José_Weverton_Barros_da_Silva.pdfTCC_José_Weverton_Barros_da_Silva.pdfTCCapplication/pdf2099826https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/1743/1/TCC_Jos%c3%a9_Weverton_Barros_da_Silva.pdf584e1d52917f996e87626122f5b37974MD51open accessCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-80https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/1743/2/license_rdfd41d8cd98f00b204e9800998ecf8427eMD52open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/1743/3/license.txt8a4605be74aa9ea9d79846c1fba20a33MD53open accessTEXTTCC_José_Weverton_Barros_da_Silva.pdf.txtTCC_José_Weverton_Barros_da_Silva.pdf.txtExtracted texttext/plain92180https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/1743/4/TCC_Jos%c3%a9_Weverton_Barros_da_Silva.pdf.txt5c2e12b723637b58a8b05c30e667f2ffMD54open accessTHUMBNAILTCC_José_Weverton_Barros_da_Silva.pdf.jpgTCC_José_Weverton_Barros_da_Silva.pdf.jpgIM Thumbnailimage/jpeg4854https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/1743/5/TCC_Jos%c3%a9_Weverton_Barros_da_Silva.pdf.jpgb5931a7df6b8a8a778fadb7829b928caMD55open access123456789/17432025-07-03 03:00:31.978open accessoai:repositorio.ifpe.edu.br:123456789/1743Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ifpe.edu.br/oai/requestrepositorioifpe@reitoria.ifpe.edu.bropendoar:2025-07-03T06:00:31Repositório Institucional do IFPE - Instituto Federal de Educação, Ciência e Tecnologia de Pernambuco (IFPE)false
dc.title.pt_BR.fl_str_mv Canary deployment em kubernetes com istio: um estudo de caso sobre implantações graduais e gerenciamento de tráfego
title Canary deployment em kubernetes com istio: um estudo de caso sobre implantações graduais e gerenciamento de tráfego
spellingShingle Canary deployment em kubernetes com istio: um estudo de caso sobre implantações graduais e gerenciamento de tráfego
Silva, José Weverton Barros da
ENGENHARIAS
Canary Deployment
Istio
Kubernetes
Roteamento de Tráfego
Microsserviços
Prometheus
Kiali
Monitoramento
Mecanismo de Rollback
Estabilidade do Sistema
title_short Canary deployment em kubernetes com istio: um estudo de caso sobre implantações graduais e gerenciamento de tráfego
title_full Canary deployment em kubernetes com istio: um estudo de caso sobre implantações graduais e gerenciamento de tráfego
title_fullStr Canary deployment em kubernetes com istio: um estudo de caso sobre implantações graduais e gerenciamento de tráfego
title_full_unstemmed Canary deployment em kubernetes com istio: um estudo de caso sobre implantações graduais e gerenciamento de tráfego
title_sort Canary deployment em kubernetes com istio: um estudo de caso sobre implantações graduais e gerenciamento de tráfego
author Silva, José Weverton Barros da
author_facet Silva, José Weverton Barros da
author_role author
dc.contributor.advisor1.fl_str_mv Torres, Elton Bezerra
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/0943345989607946
dc.contributor.referee1.fl_str_mv Torres, Elton Bezerra
dc.contributor.referee2.fl_str_mv Silva, Guilherme Cavalcanti da
dc.contributor.referee3.fl_str_mv Viana, Daniel Leite
dc.contributor.referee1Lattes.fl_str_mv http://lattes.cnpq.br/0943345989607946
dc.contributor.referee3Lattes.fl_str_mv http://lattes.cnpq.br/7880134393452607
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/4375422374094000
dc.contributor.author.fl_str_mv Silva, José Weverton Barros da
contributor_str_mv Torres, Elton Bezerra
Torres, Elton Bezerra
Silva, Guilherme Cavalcanti da
Viana, Daniel Leite
dc.subject.cnpq.fl_str_mv ENGENHARIAS
topic ENGENHARIAS
Canary Deployment
Istio
Kubernetes
Roteamento de Tráfego
Microsserviços
Prometheus
Kiali
Monitoramento
Mecanismo de Rollback
Estabilidade do Sistema
dc.subject.por.fl_str_mv Canary Deployment
Istio
Kubernetes
Roteamento de Tráfego
Microsserviços
Prometheus
Kiali
Monitoramento
Mecanismo de Rollback
Estabilidade do Sistema
description Este trabalho apresenta a implementação e análise de uma estratégia de Canary Deploy- ment utilizando o Istio em um cluster Kubernetes. O Canary Deployment é uma técnica de implantação gradual que permite a liberação de novas versões de software de forma controlada, direcionando inicialmente uma pequena parcela do tráfego para a nova versão enquanto a maior parte permanece na versão estável. Essa abordagem reduz riscos asso- ciados a falhas e permite a validação da nova versão em produção antes de sua adoção completa (NEWMAN, 2015; RICHARDSON, 2018). O estudo foi conduzido com base na configuração de recursos do Istio, como Desti- nation Rules, Virtual Services e Gateways, para gerenciar o roteamento de tráfego entre duas versões de uma aplicação (v1 e v2). Foram explorados diferentes cenários de distri- buição de tráfego, iniciando com 90% para a versão estável (v1) e 10% para a nova versão (v2), evoluindo para uma divisão equilibrada de 50% para cada versão e, finalmente, di- recionando 100% do tráfego para a v2 após sua validação. Em caso de problemas, foi implementado um mecanismo de rollback rápido, redirecionando o tráfego de volta para a versão estável. Para monitorar e avaliar o desempenho das versões, foram utilizadas as ferramentas Prometheus e Kiali. O Prometheus forneceu métricas detalhadas sobre taxa de erro, latên- cia e throughput, enquanto o Kiali ofereceu uma visão gráfica da topologia da aplicação e do fluxo de tráfego entre os serviços. Essas ferramentas permitiram a detecção precoce de problemas e a tomada de decisões baseadas em dados, garantindo a estabilidade do sistema. Os resultados demonstraram que a estratégia de Canary Deployment, aliada ao uso do Istio, é eficaz para a implantação segura e gradual de novas versões em ambientes de mi- crosserviços. A capacidade de ajustar dinamicamente o tráfego e realizar rollbacks rápidos mostrou-se fundamental para minimizar impactos negativos e garantir a confiabilidade do sistema. Além disso, a integração com ferramentas de monitoramento proporcionou visi- bilidade e controle sobre o comportamento da aplicação em tempo real. Por fim, o trabalho sugere direções futuras para aprimorar a implementação, como a automação do processo de Canary Deployment, a integração com ferramentas de análise de logs, a realização de testes de carga mais abrangentes e a expansão para ambientes multi- cluster. Essas melhorias têm o potencial de aumentar ainda mais a eficiência, resiliência e escalabilidade do sistema, consolidando o Canary Deployment como uma prática essencial para a gestão de microsserviços em produção.
publishDate 2025
dc.date.accessioned.fl_str_mv 2025-07-02T21:12:39Z
dc.date.available.fl_str_mv 2025-07-02T21:12:39Z
dc.date.issued.fl_str_mv 2025-02-26
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://repositorio.ifpe.edu.br/xmlui/handle/123456789/1743
url https://repositorio.ifpe.edu.br/xmlui/handle/123456789/1743
dc.language.iso.fl_str_mv por
language por
dc.relation.pt_BR.fl_str_mv AMAZON. Blue/Green Deployments. s.d. Disponível em: https://aws.amazon.com/blogs/devops/blue-green-deployments-with-aws/. Acessado em: 15/10/2024. AMAZON. What is Continuous Delivery?. 2021. Disponível em: https://aws.amaz on.com/devops/continuous-delivery/. Acessado em: 03/11/2024. ATLASSIAN. Continuous Deployment. 2020. Disponível em: https://www.atlassia n.com/continuous-delivery/continuous-deployment. Acessado em: 20/12/2024. AWS. Deployment Strategies. 2022. Disponível em: https://aws.amazon.com/devop s/deployment-strategies/. Acessado em: 05/01/2025. AWS. What is DevOps?. 2021. Disponível em: https://aws.amazon.com/devops/wh at- is-devops/. Acessado em: 10/02/2025. BASS, L. et al. DevOps: A Software Architect’s Perspective. Addison-Wesley Professional, 2015. CHATTERJEE, S. DevOps: A Comprehensive Guide. 2021. DOCKER INC. What is a Container?. 2020. Disponível em: https://www.docker.c om/resources/what-container. Acessado em: 12/10/2024. EBERT, C. et al. DevOps. IEEE Software, v. 33, n. 3, p. 94-100, 2016. ELASTIC. DevSecOps: Integrating Security into DevOps. 2023. Disponível em: https://www.elastic.co/what-is/devsecops. Acessado em: 18/11/2024. FARADAY. Continuous Deployment: a practical guide. 2019. Disponível em: https://www.faraday.io/blog/continuous-deployment-practical-guide. Acessado em: 30/12/2024. FOWLER, M. BlueGreenDeployment. 2010. Disponível em: https://martinfowler.com/bliki/BlueGreenDeployment.html. Acessado em: 22/01/2025. FOWLER, M. Canary Release. 2023. Disponível em: https://martinfowler.com/bliki/CanaryRelease.html. Acessado em: 14/02/2025. GHAHRAMANI, M.; ZHOU, M.; HON, C. Cloud Computing and Its Applications. In: Proceedings of the 2017 International Conference on Cloud Computing and Big Data Analysis, 2017. GOOGLE CLOUD. Kubernetes Overview. s.d. Disponível em: https://cloud.google.com/kubernetes-engine/docs/concepts/kubernetes-engine-overview. Acessado em: 08/10/2024. GOOGLE CLOUD. What is PaaS?. s.d. Disponível em: https://cloud.google.com/lea rn/what-is-paas. Acessado em: 17/11/2024. HOLBROOK, J. What is a Virtual Machine. In: VMware Virtualization Fundamen- tals, 2022. IBM. Kubernetes: Challenges and Benefits. s.d. Disponível em: https://www.ibm. com/cloud/learn/kubernetes. Acessado em: 29/12/2024. IBM CLOUD TEAM. Containers vs Virtual Machines. 2021. Disponível em: https://www.ibm.com/cloud/blog/containers-vs-vms. Acessado em: 11/01/2025. ISTIO. Istio Documentation. 2023. Disponível em: https://istio.io/latest/docs/. Acessado em: 19/02/2025. KNORR, E.; GRUMAN, G. What Cloud Computing Really Means. InfoWorld, 2008. Disponível em: https://www.infoworld.com/article/2683784/what-cloud-com puting- really-means.html. Acessado em: 07/10/2024. MARTIN, R. C. Continuous Deployment. 2011. Disponível em: https://blog.clean coder.com/uncle-bob/2011/04/25/ContinuousDeployment.html. Acessado em: 16/11/2024. NEWMAN, S. Building Microservices. 1. ed. [S.l.]: O’Reilly Media, 2015. RAVICHANDRAN, T. et al. DevOps: principles and Practices. In: Proceedings of the 2016 ACM SIGMIS Conference on Computers and People Research, 2016. RED HAT. Deployment Strategies. 2022. Disponível em: https://www.redhat.com/e n/topics/devops/deployment-strategies. Acessado em: 04/01/2025. RED HAT. Kubernetes e Canary Deployments. 2023. Disponível em: https://ww w.redhat.com/en/blog/simple-canary-deployments-using-kubernetes-statefulsets-o n- openshift. Acessado em: 13/02/2025. RED HAT. Types of Cloud Computing. 2023. Disponível em: https://www.redhat .com/en/topics/cloud-computing/public-cloud-vs-private-cloud-and-hybrid-cloud. Acessado em: 21/09/2024. RED HAT. What is a Container?. 2022. Disponível em: https://www.redhat.com/e n/topics/containers/what-is-a-container. Acessado em: 06/11/2024. RED HAT. What is Continuous Deployment?. 2020. Disponível em: https://www.redhat.com/en/topics/devops/what-is-continuous-deployment. Acessado em: 24/12/2024. RED HAT. What is Continuous Integration?. 2020. Disponível em: https://ww w.redhat.com/en/topics/devops/what-is-continuous-integration. Acessado em: 09/01/2025. RED HAT. What is DevSecOps?. 2023. Disponível em: https://www.redhat.com/e n/topics/devops/what-is-devsecops. Acessado em: 18/02/2025. RED HAT. What is Istio?. 2022. Disponível em: https://www.redhat.com/en/topics/microservices/what-is-istio. Acessado em: 02/10/2024. RICHARDSON, C. Microservices Patterns. 1. ed. [S.l.]: Manning Publications, 2018. RITTINGHOUSE, J. W.; RANSOME, J. F. Cloud Computing:implementation, Management, and Security. CRC Press, 2017. SENAPATHI, M.; BUCHAN, J. DevOps Capabilities, Practices, and Challenges. In: Proceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering, 2018. SHAHIN, M.; ALI BABAR, M.; ZHU, L. Continuous Integration, Delivery and Deployment: a Systematic Review. In: Proceedings of the 2017 International Conference on Software and System Process, 2017. TOTVS. What is SaaS?. s.d. Disponível em: https://www.totvs.com/blog/saas/o-q ue- e-saas/. Acessado em: 26/09/2024. WIEDEMANN, A. et al. DevOps: A Systematic Literature Review. In: Proce- edings of the 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, 2019. YOUNG, J. Canary Deployments: A Practical Guide. 2020. Disponível em: https://www.youngtech.com/blog/canary-deployments-practical-guide. Acessado em: 22/02/2025.
dc.rights.driver.fl_str_mv An error occurred on the license name.
An error occurred getting the license - uri.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv An error occurred on the license name.
An error occurred getting the license - uri.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 59p.
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Belo Jardim
dc.source.none.fl_str_mv reponame:Repositório Institucional do IFPE
instname:Instituto Federal de Educação, Ciência e Tecnologia de Pernambuco (IFPE)
instacron:IFPE
instname_str Instituto Federal de Educação, Ciência e Tecnologia de Pernambuco (IFPE)
instacron_str IFPE
institution IFPE
reponame_str Repositório Institucional do IFPE
collection Repositório Institucional do IFPE
bitstream.url.fl_str_mv https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/1743/1/TCC_Jos%c3%a9_Weverton_Barros_da_Silva.pdf
https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/1743/2/license_rdf
https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/1743/3/license.txt
https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/1743/4/TCC_Jos%c3%a9_Weverton_Barros_da_Silva.pdf.txt
https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/1743/5/TCC_Jos%c3%a9_Weverton_Barros_da_Silva.pdf.jpg
bitstream.checksum.fl_str_mv 584e1d52917f996e87626122f5b37974
d41d8cd98f00b204e9800998ecf8427e
8a4605be74aa9ea9d79846c1fba20a33
5c2e12b723637b58a8b05c30e667f2ff
b5931a7df6b8a8a778fadb7829b928ca
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional do IFPE - Instituto Federal de Educação, Ciência e Tecnologia de Pernambuco (IFPE)
repository.mail.fl_str_mv repositorioifpe@reitoria.ifpe.edu.br
_version_ 1844170723764994048