成功案例

MetaAge 邁達特 AWS MSP 成功案例 —— 凌聚整合 K8s 遷移上雲及導入 CI/CD 解決方案

AWS 雲端運算服務
2022/09/14

文/MetaAge 邁達特 技術六處三部 架構師 | Champ

 

為什麼讀這篇文章?

此篇文章為邁達特 AWS MSP 團隊協助 凌聚整合 (以下稱為凌聚) 在 AWS 中構建 K8s 與 CI/CD 解決方案,透過 AWS 託管的 K8s 的容器服務平台 Amazon EKS,邁達特協助客戶將地端上的服務遷移上雲,並加以現代化。

邁達特具備技術深厚的架構師團隊與維運團隊,客戶無論想要部署 AWS 服務,進一步代管維運、應用軟體開發、 API 整合、雲地整合等加值服務,邁達特 AWS MSP 具備完整專業能力,皆能一站式滿足多構面需求。

前言

在遷移到 AWS 之前,凌聚在地端的機房使用K8s架構進行服務的建置與管理,但因機房的硬體限制使凌聚的系統穩定性不佳,於是有了想要上雲的想法。在享受 AWS 的安全性及穩定性同時,還想要使用 AWS 構建 K8s 的 CI/CD 解決方案,最終凌聚找到了邁達特的AWS技術團隊尋求協助。

 

客戶介紹

凌聚整合為系統整合商 (System Integrator),主要提供服務有:網路規劃及整合、虛擬化應用、資料保護與備援、資料儲存、資訊安全、視訊系統、高速運算系統凌聚內部用戶使用的 CRM 系統為公司提供業務商機、原廠資訊、客戶與商機關聯相關資訊,方便公司業務以及產品經理能夠快速查詢客戶的相關資訊。

所遇上的挑戰

近年來,許多企業都嘗試將公司內 Data Center 進行更新,用以提升系統的效能,也盡力避免資安威脅

也有許多企業隨著員工擴增,業務扶搖直上,導致公司內部的系統遇到吃緊的狀況,而本文的客戶凌聚就是其中之一,在將工作負載遷移到AWS之前,凌聚最擔心的事情無非就是使用人數增加時,公司的CRM系統既有的K8s架構無法及時負載,進而導致系統資訊無法即時呈現,凌聚考慮將自有Data Center的設備進行汰換,並另外評估了上雲的可行性,於是找上了邁達特AWS團隊

在數個月的努力之下,邁達特的AWS團隊協助凌聚完成在AWS上建立解決方案,並在多個層面優化客戶的使用體驗,其中包括:

另外邁達特數位AWS MSP團隊也協助凌聚導入了次世代監控及工單系統,提供客戶完全託管和完整監控的MSP整合服務。

解決方案(一)透過平台更新(Re-platform) 將K8s遷移上雲

AWS MSP

( 圖片取自 AWS 使用者指南 : https://docs.aws.amazon.com/zh_tw/eks/latest/userguide/what-is-eks.html © Amazon Web Service )

使用的服務: Amazon EKS

借助 Amazon EKS 中由AWS託管的Control Plane,構建的高可用性架構(HA),在此專案採用由Amazon EKS全託管的Node Group,為了將K8s機制高度融合進AWS上的服務。

另外我們為凌聚整合佈建了相關的套件如:

在跨主機通信時無需對Pod流量進行網路封裝和解封裝,提升網路效率,在EKS佈建的Service會為每個Pod分配一個節點彈性網路介面(ENI)的輔助IP位址,讓來自VPC的流量可以直接路由到Pod,省去了中間再一層的轉發,並透過VPC Flow Logs收集的Pod的IP流量,進而監控相關流量。

透過安裝ALB Ingress Controller將K8s Ingress與由AWS託管的 Application Load Balancer整合,輕鬆達到K8s上服務的負載平衡,並且可以整合進AWS WAF (由AWS託管的Web 應用程式防火牆) 保護網站免於受常見Web入侵程式的危害,及AWS Certificate Manager頒發網站的憑證,進而保護網站的安全。

我們協助凌聚使用AWS託管的Node Group可以與 AWS Auto Scaling Group 直接整合,並且運用與AWS EKS整合的Cluster Autoscaler套件,可以直接透過HPA增減Pod數量進而觸發Node Group上EC2的擴增及縮減,解決了原本地端因硬體資源吃緊,導致HPA 擴展之後Pods 狀態卡在Pending的情況。

 

解決方案(二)雲地整合

使用的服務: AWS Site-to-Site VPN

AWS Site-to-Site VPN是由AWS全託管的VPN服務,在提供一致性的連線性能之外,還提供兩條Tunnels的冗餘(Redundancy)及高可用性(HA),能保障凌聚的服務持續性的連線,我們透過AWS Site-to-Site VPN與本地 ERP 與 AD 連線,將AWS上的服務加入到凌聚公司的AD,並與凌聚地端ERP的鏡像Database進行對接,提供ERP相關的商機混合報表。

解決方案(三)CI/CD整合及部署

AWS MSP

( 圖片取自 AWS 官網 : https://aws.amazon.com/tw/codepipeline/ © Amazon Web Service )

使用的服務: AWS CodePipeline AWS CodeBuild Amazon ECR AWS Lambda

凌聚原有在地端是使用 Docker進行開發,並程式碼放置在Github上進行版本控制,沒有特別導入DevOps流程,而藉由本次遷移到 AWS雲端的機會一並改善DevOps流程。邁達特協助凌聚導入了AWS託管的CI/CD解決方案,相關流程為:

1. 程式碼被Commit到Github觸發Pull Request,審查結束後會合併到Master Branch,由AWS CodePipeline 探測到變化即會觸發CI/CD流程。

2. CI/CD流程會轉到AWS CodeBuild 進而打包對應的程式碼,並建立相應的容器映射,並由AWS CodeBuild執行測試,測試沒問題後容器映射會被推送到由AWS管理的容器儲存庫 Amazon ECR之中。

3.AWS CodePipeline 會觸發 Lambda 函數去修改並更新 EKS Deployment Yaml File 中ECR Image的Tag,同時會觸發 Kubectl Apply 的操作更新對應的Deployment。

解決方案(四)監控與可觀察性

AWS MSP

( 圖片取自 AWS Workshop : https://catalog.workshops.aws/observability/en-US/containerinsights/eks/setup © Amazon Web Service )

凌聚在地端使用了Prometheus和Grafana等開源的方案為K8s進行監控,遷移到AWS上後我們保留了原本的方案並將Prometheus指標整合進AWS Cloudwatch Container Insights,另外我們幫凌聚使用了AWS FluentBit套件,借助AWS FluentBit將EKS上的Application Logs 、Host Logs及Data Plane Logs整合進去AWS原生的CloudWatch Logs平台上,增強了對EKS的可觀察性及調試能力。

最後邁達特 MSP 為凌聚整合導入了次世代監控及 Ticket system,針對客戶需求和監控事件的發生皆有相關的 SLA 規定,並有 MSP 人員會即時介入處理,確保了深度學習服務的可用性及延續性。

結語

經過邁達特協助將凌聚地端的 K8s 遷移至 AWS 後,凌聚整合在每月費用支出較之前規劃降低 20%,並且在使用人數擴增的情況下能保持網路連線順暢且系統運作穩定,節省業務時間成本讓工作更有效率,最終在雲上的實際費用上也保持在原先評估的範圍之內。在上雲後實現的好處包含:

1. 利用 AWS 針對 K8s 的容器服務平台 Amazon EKS 建立高可用性架構 ,客戶的服務及計算資源可以自動擴展,並可從 AWS 可用區 (AZ) 的故障中自動恢復。

2. 在 AWS 上設置 CI/CD 流程後,讓凌聚的開發團隊在操作CRM系統部署上減少了 50% 的工作時間,並使平台變得更易於管理。

3. 透過整合AWS CI/CD解決方案除了減少了部署時間之外也減少了操作的錯誤率。

4. 遷移到AWS後,凌聚提高了CRM系統的穩定性和性能,並成功減少了凌聚維運團隊的工作量。

邁達特於今年四月正式取得AWS MSP (Managed Service Provider)託管服務供應商身份。

針對AWS我們提供了雲顧問、雲託管等服務,若有任何AWS上使用的問題及需求歡迎跟我們聯絡!

聯絡方式:電話: 080-000-8669 | Email: aws@metaage.com.tw

AWS MSP

延伸閱讀:

 援引 AWS 容器服務平台,加速推動應用程式架構現代化

▸ 受管 Kubernetes 服務 – Amazon EKS

聯絡 我們