---
# System prepended metadata

title: Service與Istio 的簡介

---

# Service與Istio 的簡介
由於使用OpenShift平台建立許多應用服務，為了加強各種非功能性需求應用，針對如何安裝OSSM(OpenShift Service Mesh) 做相關教學與紀錄

## 什麼是Service Mesh
在網路應用服務越來越多倡導使用RestFul API進行服務串接的世代中，使用相關API服務為了可靠性，加強了許多「非功能性需求」像是：流量管理、路由控制、retry、熔斷等相關處理，會要求開發人員在API使用上加強控制，開發人員為了implement這些需求下往往會面臨許多問題，像：
 * 侵入性強：增加許多控制程式與第三方套件
 * 監控不易：許多監控項目需要整合(ex: Spring Cloud全家桶套餐)
 * 整合困難：需要掌握許多基礎知識建立相關指標
 * 升級成本高：升級Spring相關套件是惡夢

## 為什麼需要使用Istio
為了讓開發人員更專注在業務程式上，使用非直接與業務程式的整合方式來降低架構耦合度，主要特點如下：
* 流量管理: 包含router流量管理、跨cluster溝通整合、熔斷、timeout、retry、A/B testing、金絲雀部署
* 監控: 透過log整合、指標、Open tracing功能，釐清程式在網路上呈現服務行為與監控行為，大大加強了服務問題處理與維運監控上的難題
* 安全性: 可以提供認證、授權、mtls等相關服務，是implement零信任網路架構的利器[『Istio與ZTA介紹』](https://events.istio.io/istiocon-2022/sessions/zero-trust-istio/)





### 參考文獻
* [redhat說明文件](https://docs.openshift.com/container-platform/4.11/service_mesh/v2x/ossm-create-smcp.html)
* [istio說明文件](https://istio.io/latest/docs/examples/bookinfo/)
* [學會 Kubernetes 然後呢？由 Istio 進入 DevOps 偉大航路](https://ithelp.ithome.com.tw/articles/10291030)