將此篇文章跟 Facebook 上的朋友分享將此篇文章跟 Plurk 上的朋友分享將此篇文章跟 Twitter 上的朋友分享列印轉寄
2017/12/12

Kubernetes搭配Docker 實現異質雲平台彈性遷移

由維運者賦予開發者體驗 實踐DevOps有捷徑

洪羿漣
二十年來IT產業發展出新技術,改善無效率的工作流程,讓企業得以提升核心競爭力,在市場中立於不敗之地。時至今日,市場經濟快速變遷,商業模式的創新正在促使發展已屆成熟的IT技術重新整頓,大幅縮短新產品或服務推向市場的時間,讓企業得以成為領頭羊,從而搶占市場先機。
為了滿足企業營運需求,應用系統架構模式已從主從式(Client-Server)進展到N-Tier(多層式),在虛擬化技術出現後,再發展到如今的雲平台環境,讓IT基礎架構中必要的運算、儲存、網路實體設備,皆抽象化成為資源池的概念,以基礎架構即服務(IaaS)方式提供,目標是實現新開發的應用服務得以快速部署上線運行。

儘管實體資源已融合為以服務方式取用,應用服務實際運行環境仍必須配置組態與部署,其中包含作業系統參數調整、程式碼語言執行環境的支援、功能服務彼此整合等方面,為避免出錯,企業大多採用自動化機制來執行。然而,隨著應用服務數量增加,且可能分散在內部虛擬化環境與外部不同的公有雲平台上運行,維運者與開發者的維護難度因此提高,將難以落實快速交付、快速部署的目標。

基於LXC(Linux Container)容器技術發展的開源專案Docker,以應用程式為中心,直接取用Linux核心系統層打包成為立即可運行的容器環境,透過指令呼叫執行,省去以往系統參數、資源配置等繁瑣程序,使得Docker快速興起並幾乎成為容器技術的代名詞,同時也成為主流的平台即服務(PaaS)供應商一致支援發展的方向。

如今的容器化趨勢已是毋庸置疑,紅帽大中華區資深解決方案架構師彭信忠觀察,當市場上發現愈多人把Docker應用在自家營運環境,即代表技術已經具備成熟度,現階段大家較多探討的議題,已進展到容器的管理調度,若以開放原始碼陣營來看,絕對是Kubernetes平台最為亮眼,而且其方案仍然持續不斷地更新發布。

由上而下變革推動IT人員整併先行

▲ 紅帽大中華區資深解決方案架構師彭信忠觀察,以全球趨勢來看,現代企業管理階層對於IT發展投資的看待角度,已從營運費用,轉換成可創造更多商業模式、提升營收的手段。
論及容器技術,彭信忠回憶,早在Solaris年代就已經有容器的概念,容器本身就是基於Linux、Unix平台,組合作業系統的特性,發展至今可較以往更為容易被部署,因此才會受到大家歡迎。

當年Solaris也可提供把作業系統核心層的服務,以限縮資源、隔離等方式設計,但相當難以實作,必須是專家級的程度,才懂得運用全指令方式建構穩定的應用環境。

「Docker容器之所以竄紅,就是因為把過去難懂的技術予以簡單化、容易操作,可能二行指令就可啟用新的容器服務。成功的關鍵即在於開發者的體驗,因此早在三年多前,開放社群討論Docker的聲浪不斷,主要是由開發者所推動。當時維運人員的關注程度較低。」

如今維運人員之所以需要關注,並且要懂得實作,主因即在於容器集群管理與調度技術的成熟,足以被實際應用在生產環境,目前主流運用的PaaS平台例如紅帽的OpenShift,皆已提供Docker與Kubernetes技術整合,來輔助維運人員提升管理效率。

彭信忠觀察,PaaS平台通常需要開發與維運團隊協同合作,才得以發揮實質效益。只是過往一向專業分工、各司其職的IT組織,要落實密切協同合作,進化到DevOps工作模式,必須從企業文化、組織結構等根本方面著手,確實不大容易,除非經過營運核心管理階層決策制定策略方向後,強力交由各部門發展推進,否則很難成功。

相較於鄰近國家,台灣的IT發展較早,更是早已塑造出堅強穩固的運行模式。多數思維是舊系統只要仍在正常運行狀態下,即便可能效率低落或資源無法充分被運用,但至少是成熟穩定的環境,因此成為變革的包袱。包含組織管理政策、工作流程,大家都已經建立習慣的模式,市場競爭狀況較不顯著,對於近年來發展的新技術尚未出現迫切的需求。

「以中國市場來看,競爭則相當激烈,擁有眾多的新創公司,當地稱之為『野蠻生長』,意味著只要有能力快速搶佔市場,就得以成功立足。」彭信忠說。 這些小規模的新創公司,在沒有包袱之下,發展相當迅速,傳統的金融、電信等行業便面臨相當大的衝擊,若裹足不前,未能及時跟進,不久後將面臨被市場淘汰的窘境,因此中國企業的IT部門必須得快速跟上技術變化的腳步。

彭信忠經常往來於兩岸三地,發現在國際間已相當普及的應用模式,台灣企業卻普遍未能準備好與市場新進者相抗衡的能力,實在很可惜,例如政策法規鬆綁後LINE Pay、Apple Pay先後上路,外商一進入台灣就立即吸引大量用戶,佔據市場。當然,像是金融保險業已經意識到市場危機,因此積極尋求轉變,而且是從營運管理層所發起,認為勢必要改變,以免被新興商業市場侵蝕過多現有競爭力。

這種由上而下的變革啟動後,不論是引入容器技術、PaaS平台,至少必須由CIO等級擬定政策方向,帶著「羊群」往相同的方向前進;開發者與維運者在接觸現代新技術後,也要能理解價值之所在,若未能釐清,則可能成為抗拒改變者。

畢竟藉由容器技術、PaaS平台的手段,實現快速開發、部署、發布全新商業服務,開發人員與維運人員皆需要共同投入,破除固有的心結建立信任關係,經過磨合後產生出一套實際可行的合作模式,才得以真正發揮效果。

基於PaaS平台實作提升DevOps效率

PaaS平台或DevOps方法論發展的初衷,即是為了協助企業創新服務快速推向市場,在競爭激烈的市場環境中贏得先機,同時確保既有運行架構的穩定與安全。站在維運者的角度,針對PaaS議題,主要是從調度技術切入,因為維運者的主要服務對象是開發團隊,需要容器環境以便快速發布,維運者收到這類型的需求時,便可藉由Kubernetes工具來實作。

彭信忠進一步說明,在Kubernetes社群剛成形,尚未被市場高度關注之前,紅帽在2014年就已經看重Docker搭配Kubernetes勢必將成為主流趨勢,並且積極參與社群發展,主要是因為紅帽在開放陣營已累積超過二十年的經驗,得以較精準地判斷開源專案項目前景,於是當時OpenShift研發團隊全數加入Docker與Kubernetes社群,把紅帽自行開發的OpenShift平台,採用的Gear容器格式,以及Cartidges發布樣式,變更為Docker Image檔。

「紅帽於2017年8月發布的OpenShift 3.6版本,即是以Kubernetes 1.6版為基礎發展,OpenShift的角色是在企業與更版速度相當快的Kubernetes之間取得平衡,許多企業客戶認同Kubernetes技術,但由於社群發展速度相當快,同時又是完全開放的原始碼軟體,即可透過OpenShift來協助調度。」彭信忠說。

他舉例,建構PaaS平台的企業目的是要提供不同開發團隊共用,因此PaaS必須具備多租戶架構,但原生的Kubernetes並未關注於此,較偏重於發展容器調度的框架,對於多租戶的實作屬於系統層面,未延伸發展到前端應用。因此針對開發人員的使用體驗,即可採用OpenShift來提供。

OpenShift平台運用的是Docker容器環境,搭配Kubernetes調度管理技術,可提供開發人員與維運人員實作DevOps工作流程。「有些公司可能已經開始採用Kubernetes維運調度容器環境,以節省IT人力與縮短發布時間,但是卻缺少開發人員的操作體驗;OpenShift則是整合兩者需求,設計以單一平台來提供。」

Service Catalog API開創多元雲應用

「紅帽的願景是打造企業級開放混合雲架構,解決雲平台不相容的狀況。」彭信忠強調。開放混合雲的宗旨,主要是讓企業執行採用公有雲、私有雲的發展策略時,不致面臨到多種不同技術平台彼此之間的遷移與調度問題,其中OpenShift與Kubernetes即扮演關鍵角色,讓企業所發展的應用得以在不同雲平台間隨需遷移。目前OpenShift跟主流的公有雲平台,例如AWS、Azure、Google等,皆已建立合作關係,可運行於各式平台之上。對於企業來說,應用若建立在OpenShift或Kubernetes之上,即可自由、彈性地選用不同部署平台。

「基於商業考量,當然各家公有雲服務供應商都希望能夠留住客戶,因此會提供更多吸引企業採用的技術,例如2017年在台灣各產業相當關注的機器學習演算法,運用API方式介接即可採用。這種API架構本身就是最容易綁定客戶的方式,一旦整合成為商業應用後,就難以再脫離特定的公有雲平台。對企業而言可說相當兩難。」

在日前紅帽年度大會中發布與AWS的合作模式,彭信忠說明,以往企業欲採用AWS提供資料庫、網路、伺服器、DNS等服務,必須在AWS平台上申請,基於EC2環境提供,此後則可透過在AWS環境中運行OpenShift取用公有雲提供的服務,只要在OpenShift平台上勾選啟用,底層容器技術即可串接到公有雲服務項目。 現階段的技術必須透過不同廠商之間建立合作關係提供整合應用,未來的趨勢方向是讓開發者或終端用戶得以自行創建所需的服務。「OpenShift 3.6版本最大的進展,即是在開發者操作介面功能上有大幅變更,其中一項里程碑是實現了服務目錄(Service Catalog)功能,此功能實際上已是業界共通的標準,也就是說,由紅帽、Google、Pivotal、IBM等IT廠商,共同制定服務目錄API介接標準,如今在OpenShift平台上實踐,表示合作廠商所發展的服務項目,得以簡單方式被部署在OpenShift平台,成為隨需取用的項目。」

維運人員已可基於PaaS平台制定自動化執行的腳本(Script),當前端操作介面必須持續發布更新時,開發人員得以更簡單地方式取用底層資源,不管資料中心位置在全球任何區域,皆可提供開發人員一致的操作體驗。下一步則是發展服務目錄,把IT應用所需的資料庫、中介軟體等系統,皆轉換成「as-a-Service」發布模式,只要在相同的操作畫面中勾選即可。如此一來,不論是社群技術人員,抑或是終端用戶,可更簡單、容易地落實創新想法,並且整合於其他平台,藉此建立更龐大的生態系。

這篇文章讓你覺得滿意不滿意
送出
相關文章
趨勢科技推出 DevOps 防護及擴充需求的雲端原生防護
基礎知識打底必讀 Docker面試100題
基礎知識打底必讀 Docker面試100題(二)
基礎知識打底必讀 Docker面試100題(一)
善用QRadar App架構 開發客製化安全監控程式
留言
顯示暱稱:
留言內容:
送出