2020-02 淺談 Kubernetes K8S 技術和發展

系出名門

Kubernetes(又名 K8S)始源於 Google 內部的 Borg 項目,後來被Google工程師用 Go 語言重寫,冠以 Kubernetes 這名字,在希臘語的意思是掌舵手,寓意管理數以萬計的容器集群。當時這項目在Google內部得到充分得認同後,Google將這技術於2014年6月開源,這是想藉著開源社區的力量將其發揚光大,結果一如所願,受到了各大IT科技巨頭的追捧,並且紛紛加入貢獻者行列,將其力量再度提升,加快了項目發展,自此 Kubernetes 快速崛起,如今已成為容器技術的新貴。

設計理念

現時,主要的容器技術還有 Docker Swarm 和 Apache Mesos,相較之下,Kubernetes 的設計理念跟它們有很不同的地方,Kubernetes 用上了 Pod 概念,將容器分組管理,並引入 Sidecar 設計模式,這有利於微服務架構的設計,降低了與微服務架構的複雜性,並提供了許多重要功能,包括負載平衡、流量管理、熔斷機制、服務發現和故障管理等,有助實現高度擴展性、觀察性和安全性的微服務架構。

Kubernetes另一特點是以應用程式為核心的設計理念,提供可靠的 API 模式,有利於程式設計師更好地將容器技術結合在軟件工程當中,達至負載平衡以及大規模容器管理和運行應用程序所需的功能結合在一起的好處,並實現跨雲 Multi-Clouds 平台的真正移植性。現多間大雲端平台商都推出各自的 Kubernetes 管理服務,但這些服務的資源調配,仍需要一種共通的標準,才可做到跨雲容器植性的效果。故此,Kubernetes 推出一項 Federation 功能,讓應用程式可以較輕易地調配到不同的雲端平台,達至跨公用雲平台管理,以及跨公用雲和私用雲的混合雲 Hybrid Cloud 架構,這正乎合很多企業所需的科技部署。

合眾之力

基於 Kubernetes 推行開放式架構,吸引了容器技術界的共同合作,營造出大量基於 Kubernetes API 接口,加強了和其他技術的整合,例如 Istio,這正是 Google、IBM 和 Lyft 合力打造出來的一套開源微服務管理平台,正是用上所謂服務網格Service Mesh的架構,主要用來管理龐大的微服務群。

筆者所見,Kubernetes 將成為重點技術之一,其可更大發揮雲服務所長。這篇文章先為 Kubernetes 作概括,跟著會更深入分析其中的技術和行業趨勢。歡迎各方友好賜教,其同進步,可電郵至architectyeung@gmail.com。

2019-09 淺談企業架構師

企業架構師(Enterprise Architect)這職稱對很多人而言,聽來很特別,就讓我們了解一下這新興的專業。

Architect這職稱常令人聯想到建築界的建築師,他們主要負責設計建築物平面圖,並通過與工程投資方和施工方的合作,在技術、經濟、功能和造型上實現建築物的營造。構建一個建築物的複雜性有如構建各種大型的IT系統一樣,當中涉及多種的專業知識和考慮。一個城市可以由各種各樣的建築物、基建設施和配套組合而成,正好像企業中各種的IT系統、網絡互相的連繫性。至於規劃一個城市就好像規劃一個企業的定位,需要從更全面、更長遠方面來思考和計劃,企業架構師這角色就應運而生。

大型企業往往會有自己的架構師小隊,這小隊主要由企業架構師、解決方案構架師(Solutions Architect)和業務構架師(Business Architect)組合而成。解決方案架構師多是IT技術出身,他們具有豐富的科技知識和經驗,關注的是應用、數據和技術方面,圍繞著IT解決方案來思考並執行方案;業務架構師則具有開拓市場意識,他們了解市場的現狀和需求,關心的是組織和業務流程,扮演著商業戰略和解決方案的銜接者,負責讓企業中不同的利益相關者更好地理解架構、原則和運作模式,解析相應的解決方案,使得企業能夠實現戰略性目標。隨著企業業務複雜度提升以及IT持續優化和變革的要求,開始需要一個能整體拿握企業架構的角色,這就是企業架構師角色,他們集科技和商業知識於一身,所以也常被形容爲企業的科技軍師或顧問,屬高、中層的角色。

那麼,如何可以成為企業架構師?除了不斷積累知識和經驗外,亦可透過參加行業和電腦學會定期的架構師聚會,與不同的架構師互相交流。此外,學習和考取TOGAF(開放組體系結構框架)國際認證也是一個不錯的入門,那是一套相當完整的企業架構思維方法,為未來成為企業架構師打好基礎,現在全球大約只有七萬人成功取得這國際認證。

2019-02 人工智能新時代.新機遇

近年,人工智能又再成為非常熱門的話題,各行各業和學術界都投入討論和研究中。由於筆者工作性質的關係,有機會接觸不少的企業,了解他們的需要,藉此跟讀者們分享這方面的趨勢和看法,以供大家作職業發展上的參考,以及準備未來的機遇。

人工智能過去共有三次的熱潮。第一次和第二次的熱潮,主要給人一種學術研究和實驗的感覺。但在過去的十年當中,隨著技術的成熟,電腦運算速度的提升和公用雲計算平台的出現,以及人工智能的進步一次比一次更好;而在多個行業當中,人工智能又能符合客戶的需要,並從而發展出不少嶄新的商業模式,令更多企業願意投放資源和應用此一高新技術。

此外,不少公用雲計算平台,亦推出很多現成的人工智能服務,例如圖像和視像分析、聲音析別和傳譯、文字分析等服務,方便了企業以相對低的成本,已可以開發出一些具創新性的項目,增加他們對這方面的信心和啓發。

總括而言,企業要成功應用人工智能相關的技術,需具備四方面的條件,包括:商業問題、數據、人材和工具。

當企業想引進人工智能時,必須先釐定清楚商業問題所在,否則就好像未有方向,不知往那裡去,也不知應收集甚麼樣的數據,更遑論決定將人工智能應用在業務的何處。弄清問題的本身,然後制定如何解決的方案,是成功最關鍵的要素。

其次是數據,這方面需要透過多方面的協調和時間,來累積有用的數據,作分析的用途。

再其次,是人材。現代的教育模式,主要是培訓出單一專業技能的人材,以符合專業化的本意。在人工智能應用方面,更多需要具跨領域技能的人材,這些領域包括相關的行業知識、程式設計和數學等。大師級人物查理蒙格曾指出,跨領域技能的培育,才能令人開拓自己的視野,增加更多的機會。

最後是工具,公用雲計算平台在這方面,確實提供了不少可即時應用的服務,減少了開發的時間和所需的資源。

在筆者與客戶的日常溝通中,發現他們在業務上,的確有不少很實在的需求,想藉著人工智能的技術來解決問題。有些是為了取代重複性、人手性的工作而設,另一類則為了解決複雜的問題,以及幫助決策而設。相信將會有更多企業,投入這場人工智能競賽當中,對人工智能方面的人材需求,亦只會越來越大,而跨領域技能的人材,更是市場所渴求。

對於有志於在人工智能領域發展事業的朋友,行業前景絕對是秀麗的。