Canary deployment em kubernetes com istio: um estudo de caso sobre implantações graduais e gerenciamento de tráfego
| Main Author: | |
|---|---|
| Publication Date: | 2025 |
| Format: | Bachelor thesis |
| Language: | por |
| Source: | Repositório Institucional do IFPE |
| Download full: | https://repositorio.ifpe.edu.br/xmlui/handle/123456789/1743 |
Summary: | 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 |