Laporkan Masalah

Analisis Kinerja Microservice Deployment Dengan Strategi Blue-Green Dan Canary Pada Kubernetes Dengan Service Mesh Berbasis Istio

A MU'AMMAR AFINAS, Alif Subardono, S.T., M.Eng.

2022 | Tugas Akhir | D4 TEKNOLOGI REKAYASA INTERNET

Kebutuhan Era sekarang perkembangan teknologi sangat cepat dan dinamis, tidak terkecuali dalam bidang deployment dan updating aplikasi. Saat ini ada banyak sekali tools yang digunakan oleh para pelaku bidang Developer Operation (DevOps) untuk melakukan deploying, updating dan maintenance aplikasi microservice. Pada saat melakukan initial test versi baru atau perubahan versi baru dari sebuah aplikasi microservice diperlukan adanya zero-downtime. Hal ini dapat diatasi dengan melakukan deployment aplikasi melalui metode canary deployment untuk melakukan initial test versi baru dan blue-green deployment untuk melakukan perubahan versi baru. Kedua deployments tersebut dapat dilakukan dengan memanfaatkan service mesh. Pada penilitan ini service mesh yang digunakan adalah Istio yang ditambahkan dengan Kiali dashboard untuk mempermudah dalam manajemen traffic. Pada pengujian dilakukan pengujian fungsionalitas services, pengujian initial test dengan canary deployment, pengujian perubahan versi dengan blue-green deployment, serta analisis perbandingan performance antara canary dan blue-green. Hasil penilitian ini sistem mampu mendeteksi traffic yang masuk dan mendistribusikan ke service-service. Pengamatan dilakakuan dengan menggunakan Grafana dashboard, Kubernetes dashboard dan Kiali dashboard. Hasil perbandingan antara canary dan blue-green didapatkan canary lebih banyak menggunakan resource dari CPU, sedangkan blue-green lebih banyak menggunakan resource dari memory.

Needs the current era of technological development is very fast and dynamic, not least in the field of application deployment and updating. Currently, there are a lot of tools used by developers in the field of Operation Operations (DevOps) to deploy, update and maintain microservice applications. When performing an initial test of a new version or changing a new version of a microservice application, zero-downtime is required. This can be overcome by deploying the application through the canary deployment method to initial test the new version and blue-green deployment to make changes to the new version. Both deployments can be done by utilizing the service mesh. In this research, the service mesh used is Istio which is added with the Kiali dashboard to make traffic management easier. In the testing, the service functionality testing, initial testing with canary deployment, version change testing with blue-green deployment, as well as performance comparison analysis between canary and blue-green were carried out. The results of this research are the system is able to detect incoming traffic and distribute it to services. Observations were made using the Grafana dashboard, Kubernetes dashboard and Kiali dashboard. The comparison between canary and blue-green shows that canaries use more resources from the CPU, while blue-greens use more resources from memory.

Kata Kunci : Microservice, DevOps, Kubernetes, Service Mesh, Istio

  1. D4-2022-410647-abstract.pdf  
  2. D4-2022-410647-bibliography.pdf  
  3. D4-2022-410647-tableofcontent.pdf  
  4. D4-2022-410647-title.pdf