11/16 2022

加速數位轉型! 博弘帶您輕鬆在雲地混合環境建立k8s微服務

微型服務 (Microservice)」,如何將巨型應用程式架構容器化

加速數位轉型! 博弘帶您輕鬆在雲地混合環境建立k8s微服務

企業在數位轉型之路中,常會面臨是否要將所有資料與系統上雲的難題。一方面是考慮到資料敏感度,尚未完全建立對公有雲的信任度;另一方面是地端系統並無像雲端一樣具有高彈性與高可用性,隨著多方資料存取,可能會讓地端系統無法負荷。因此現階段對於正在進行數位轉型的企業來說,「雲地混合」將會是最佳途徑。企業可以將核心資料儲存在私有的機房中,同時享有公有雲的高度可用性。

近年興起的「微型服務 (Microservice)」,如何將巨型應用程式架構容器化,並拆解成多項應用程式微型服務,再藉由Kubernetes (k8s) 達到自動化部署、擴張和管理容器應用程式 ? 另外AWS Outpost 雲地混合機房又該如何部署 k8s? 本篇文章將會深入解析雲端新手或技術人員必備的「雲地混合」、「微型服務」與「k8s」的概念,讓企業享有資源部署的高度彈性,增加營運效率 !

💡 你需要知道的雲端知識:

1. 雲地混合必備 ! 如何將地端資料藉助AWS Outpost部署AWS雲端運算與儲存的服務?

2. 了解k8s這篇就夠 ! 用 Amazon EKS 輕鬆執行容器化應用程式 

3. 在AWS Outpost中部署EKS 在資料規範下享受雲端運算的便利 !

雲地混合必備服務 AWS Outpost 加速數位轉型

為了讓台灣的企業客戶在數位轉型路上能更順利,兩年前AWS Outpost 正式在台灣上市。如同一台行動機房,AWS Outpost 是全託管的服務,串接企業客戶的地端系統,將AWS所有運算、網路等服務延伸,讓地端的資料也能用AWS相關雲端服務進行分析。以目前台灣數位轉型現況來看,製造業與金融業者可採用此「雲地混合」的模式,依照相關法規將機密與敏感資料安全保留在台灣,但在搬遷與低延遲的運算上,則可串接 AWS Outpost,達到毫秒等級的資料運算,如製造業的製造執行系統 (Manufacturing Execution Systems, MES) 協助業者打造智慧工廠;金融業高頻率的撮合交易系統,都可以使用AWS Outpost享有雲地混合的優勢。(延伸閱讀: AWS Local Zone 落地台北 有感低延遲如何助企業數位轉型?)

有了AWS Outpost之後,企業可以透過AWS Direct Connect混合雲端網路連線解決方案,或是VPN,與所在地方最近的AWS區域 (Region) 連接,就可以將AWS服務延伸到地端機房使用。目前企業可選擇 Outpost Servers (1~2台機架),或有更大型用量則可選擇 Outpost Rack (最多提供96台機架),協助業者架構雲地混合環境,加速數位轉型 !

應用程式微整形 ! Amazon EKS 輕鬆執行k8s容器化服務

過往開發人員在部署應用程式時,常會將所有服務包在一起。然而這樣巨型的架構 (Monolith)會讓更新與維護變的相當複雜。為了輕鬆管理與修改應用程式中的程式碼,現在「微型服務 (Microservice)」當道,開發人員可以將每個應用程式的元件當作專屬服務的方式運作,並透過完善的API來與其他服務溝通。

容器化 (Containerize) 是一種軟體部署程序,可以將不同應用程式執行檔打包起來分別管理,並在自己的容器內執行。如上圖所示,容器化的微型服務將「使用者」、「訊息串」與「貼文」三項服務分開管理,達到易於管理與更新的效果。容器化技術為Kubernetes (k8s),自動部署、擴充和管理容器化微服務的應用程式。Amazon EKS 受託管的k8s 服務,讓開發人員無需購買數台機器部署k8s中負責決策判斷的 Master 節點 (Master Node) 與負責執行應用程式工作的 Worker 節點 (Nodes),並且直接使用Amazon EKS服務管理k8s叢集。如此一來,企業不僅可以省下維護k8s叢集的時間與人力,更可以實踐容器化微服務所帶來的敏捷性 !

AWS Outpost 上開始部署EKS 享有k8s與雲地混合的優勢!

儘管AWS Outpost 可以支援使用EKS,但過去在地端Outpost 環境僅能部署負責執行應用程式工作的Worker Nodes,而負責決策與管理判斷的Master Node (也稱作Control Plane),會放在AWS雲端中離地端最近區域(Region)的Outpost。雲地間的溝通必須靠Outpost中的連線能力,才能有效執行應用程式。然而地端Outpost機房若是擺放在訊號源較差的地方導致Master 節點與 Worker 節點溝通不良,k8s 會判定這兩個容器化的應用程式不健全,在Outpost連線能力恢復後,有可能會造成應用程式停機的情形發生。

為了秉持「良好架構」精神中「可靠性 (Reliability)」的災難備援,AWS在近期宣布將開放地端Outpost可以同時部署k8s中的Master節點與Worker 節點。這樣的新功能與在AWS雲端上部署EKS服務有同樣的效果,開發者可以享有最新的資訊安全設定更新,維持k8s叢集與容器化應用程式的安全性。如此一來,開發者就不必擔心應用程式會因災難發生而有停機狀況產生。利用AWS Outpost結合EKS的服務,享有雲地混合的優勢,同時落實「微服務」的概念,讓應用程式變得更敏捷輕盈!


📍 延伸閱讀:AWS雲端良好架構的秘訣?只要6步驟就能完成!