雲原生 (Cloud Native) 最初是由 Pivotal 公司於 2013 年所提出的概念,該公司貢獻了 Spring boot 與 Spring Cloud 的原始碼,作為 Java 開發雲原生應用的基礎。隨後,Google 在 2015 年成立了 CNCF (Cloud Native Computing Foundation),使得雲原生應用正式成為資訊科技發展的重要課題。
那什麼是雲原生呢?雲這個符號在過去通常用來代表網際網路 (Internet),但在雲端運算 (Cloud Computing)的領域上,我們將雲視為一個提供運算資源的平台可能更為恰當。而雲端運算的本質,就是依據你所需要的運算量彈性地分配運算資源給相對應的應用,以滿足業務上的需求。
所以,我們可以進一步回來定義雲原生應用這個名詞代表的是專門為雲端運算平台所設計的應用程式,稱之為雲原生應用。所以,雲原生應用並非一種顛覆傳統的應用程式,它透過雲原生設計模式來改善傳統應用程式,使得應用程式更適合部署於雲平台。
在現今的應用程式開發任務中,雲原生應用似乎成為一個必然演進的方向。因為,許多的企業正陸續地調整企業內部資料中心的基礎建設,現行的投資已經慢慢地從過去的虛擬化轉變到容器化的投資。而容器化的技術,正是讓這波雲端運算蓬勃發展的根基。隨者基礎建設的轉變,要靈活運用這些運算資源並發揮其最大的效益,因此新一代的應用程式都將陸續走向雲原生應用模式來發展。
近期,我也接觸許多客戶在討論有關將既有的應用程式移轉到企業內部私有雲平台的案例。這時候,很多客戶會將微服務(Micorservice)這個名詞拿出來,開始討論起要怎麼切才能讓既有的服務移轉到雲呢?但,我會認為這是兩個不同的事情,當然微服務本身可能就可以看成是個符合雲原生應用的一種架構模式。但,並不是說只有微服務才是雲原生應用。
所以,其實大部分的應用程式即便不做任何異動,也可以運行在基於 Linux 核心的雲平台上。但,就僅只是部署與執行,這些傳統的應用程式尚不具備充分運用雲端運算資源的能力。目前,我們也遇到許多的客戶正在進行這樣的工作,我們可稱之為雲端轉型的第一階段,既有應用的遷移。這是客戶在採用容器化基礎建設後的第一個課題,讓應用程式順利地跑在這些平台上,並發揮雲原生應用的具體效益。
沒有留言:
張貼留言