Leo Yeh's Blog

GCP 雲端移轉 (2)

教學目標

初步了解 Google Cloud Platform 混合雲策略之基本概念。

重點概念

首先目前已經有越來越多的企業開始導入雲端平台的服務,此時必須決定使用哪種雲端平台和哪些雲端技術,以利進行部署應用程序、操作維運和管理資源,更重要在於如何無縫的跨混合雲端環境進行部署,並且有效管理和擴展軟體功能,以利滿足客戶的需求。此時 Kubernetes 將有機會解決混合雲環境進行部署的戰略,以及其如何提供整體的解決方案,更進一步簡化部署,管理和營運的問題。至於什麼是 Kubernetes 呢?所謂 Kubernetes 主要是代管環境,專門提供部署容器化應用程式,隨時可用於實際工作。這項服務匯集了我們在開發人員生產力、資源效率、自動化作業和開放原始碼靈活性等方面的最新技術,可以縮短應用程式正式上線的時程,像是目前我們日常生活中最常使用的 Gmail 和 YouTube 等服務皆是以容器的方式進行營運,並且根據豐富的營運經驗 Google 在 2015 年推出了 Kubernetes Engine 雲端服務,將能夠讓我們立即啟動並執行 Kubernetes 叢集進行管理和操作,此外 Kubernetes Engine 主要是經過認證的 Kubernetes,所以能夠確保可在雲端和內部部署環境之間順利進行移轉,當然我們更能夠視需求將應用程式移轉任何支援 Kubernetes 的環境,執行相同的工作負載作業,並且透過 Kubernetes 生態系統中的第三方解決方案來整合營運作業,像是監控、記錄、持續整合/持續和推送軟體更新。

接著在過去雖然企業試圖維護部署在資料中心的應用程式的標準,但是仍然是新的技術持續導入,需要越來越多的獨特設定,並且隨著時間管理所有獨特設定之間的差異,將會越來越具有挑戰性,並且需要有豐富詳細的文件檔,以利了解如何管理和保持資料中心的持續營運。此時 Kubernetes 提供了一致性部署方式的叢集平台,以利我們在部署應用程式之後,必須使其保持執行,並且確保其能夠根據不同客戶的需求進行擴展,在 Kubernetes 平台中透過底層基礎架構提供了自動擴展應用程式的能力,但是部署應用程式僅是第一步,關鍵重點在於應用程式執行之後,第二天維運操作對於持續營運非常重要,像是新的軟體版本發佈之後,我們能夠自動升級軟體,並且避免停機,這種方法提供了一個更好的客戶體驗。

再來 Kubernetes 更是一個開放原始碼專案,源自於 Google 用於管理大規模型基礎架構的 Borg 的技術,目前三大主流雲端平台皆有提供 Kubernetes 容器管理平台,至於在 Google Cloud Platform (GCP) 雲端平台上主要提供了 Google Kubernetes Engine (GKE) 雲端服務,同時提供世界一流的企業級具安全、合規和稽核的可靠環境,以及作業系統零停機升級 Kubernetes 最新版本,以及 Google Cloud Platform (GCP) 雲端平台還有提供 Stackdriver 產品主要提供監控和管理容器,應用程式和基礎架構,透過 Stackdriver 將能夠幫助我們更了解正在執行的應用程式和容器,同時還會提供很好的洞查資訊和見解分析。此外 Google 更提供了 GKE On-Prem 服務能夠讓我們在資料中心內發揮 Kubernetes 和雲端技術的優勢,並且透過 Google Cloud Console 單一的主控台,以利我們同時管理混合雲環境中的 Kubernetes 叢集。

最後我們要如何達到持續整合和持續交付的自動化部署呢?此時網站可靠性工程 (Google Site Reliability Engineering,SRE) 就是基本原則之一,所謂網站可靠性工程主要是 Google 為運行其正式環境的系統,而建立的最佳實務,其主要是為了達到自動化應用程式的建立,測試和部署,而在過去許多企業皆是以相同的原理方式進行持續整合和持續交付 (CI/CD),然而隨著企業持續擴展到資料中心之外的雲端平台時,自動化部署將會變得越來越重要,我們需要建立一個可重複的過程來降低手動過程導致錯誤的可能性,像是我們能夠在 Kubernetes Engine 上使用 Jenkins 開放原始碼的自動化伺服器更佳靈活的自動化調度管理建構、測試和部署管線,以利達到應用程式和容器的持續整合和持續交付。

相關資源

⬅️ Go back