- 「What Is?」簡介
- 何謂雲端原生?
雲端原生是一種利用雲端基礎架構來創造可攜、可擴充式軟體的應用程式設計理念。雲端原生應用程式是以連結鬆散的微服務所打造,並且在抽象的軟體單元上執行 (例如容器)。
雲端原生架構的用意就是要設計和開發專為雲端打造並發揮雲端運算理念的應用程式。雲端原生設計的概念基本上都圍繞著速度和擴充性。因此,這類系統都是為了要能快速因應環境變化而打造,並且視需要盡其所能地擴充個別的服務。
然而必須謹記的一點是,當一個軟體使用了像容器和微服務這樣技術,並不代表它就是雲端應用程式。雲端原生應用程式在架構上就是專為雲端而設計,因此也是專為在雲端內執行而最佳化。
雲端原生應用程式最重要的一些設計元素包括:擴充性、自動化,以及基礎架構。這些特性之所以重要,是因為這樣雲端原生軟體才能快速適應和擴充。基礎架構本身應該要能隨時自行移動而不會對整體生態系帶來成本。如果一個應用程式符合了上述所有條件,那就可以被視為真正的雲端原生應用程式。
這類系統在開發時就已經明確設定是要在雲端內生存及運作。目前,很多雲端服務都提供了動態而靈活的應用程式開發技巧,其中有許多 (包括微服務和 API ) 可以協助開發人員採用模組化的軟體建構、執行和維護方法。這樣的設計方法與那些規則一成不變又諸多限制的系統並不相容,反而是專為支援雲端部署、徹底發揮雲端擴充性優勢而設計。
微服務是一群彼此連結鬆散的服務,是採用容器來建構一個分散式應用程式的結果。它們之所以如此命名,是因為每個應用程式彼此都互相獨立。如此一來,每個服務都能享有很大的擴充性與自由度,可單獨更新而不影響目前應用程式內執行的其他服務。每個微服務都是為了單一目的而設計,並使用一個明確定義的介面來包裝其功能並與其他服務溝通,進而構成一個完整的應用程式。
應用程式開發介面 (API) 就像是完全不同的應用程式之間的通道或閘道。它們讓應用程式 (如微服務) 能彼此溝通,協助蒐集資料並且對資料做出回應。一些流程,例如透過手機應用程式訂購比薩或在網路上預訂飯店等等,就能透過 API 來完成,因為它們的型態不同,提供的資訊也不同。透過微服務和 API 兩者的配合,就能在雲端原生方法所開發的軟體之間傳遞資訊。然而,當 API 運用在雲端原生架構時,必須採用宣告方式:意思就是應該讓使用者宣告可以做些什麼,而不是該如何做。
對採用雲端架構概念打造的應用程式來說,地區 (region) 的觀念對於了解和預測其需求非常重要。它們可以讓您將內部和外部雲端資源配置在更靠近您客戶的地方。為每個地區挑選適當的可用性區域 (availability zone) 來配合您的雲端架構應用程式,有助於縮短延遲、更符合產業或當地法規與資料主權要求、降低成本,並提升災難復原能力。
除此之外,自動化也是雲端原生架構的另一項關鍵要素。這對維持您雲端環境的一致性不可或缺,因為這樣才有可能永續、擴充及追蹤。利用自動化工具來追蹤哪些應用程式正在執行,偵測哪些系統可能正遭遇問題,必要時並協助矯正和重新部署。
畢竟,由於雲端原生架構最能因應外在變化,因此能夠協助您徹底發揮公有雲的效益。此外,這可能也是打造最符合您企業需求的應用程式最好的方式,從抽象的軟體單元 (如容器) 到快速部署。
雲端原生應用程式通常都包裝在一種叫作容器的軟體單元當中,並透過 API 來連接。這些應用程式提供了微服務,基本上就是一些具備特定商業用途的模組,它們透過應用程式開發介面 (API) 來溝通。但更重要的或許是它們是專門為了在雲端內運作而設計。
除了典型的容器之外,還有一種以服務來提供的容器,稱為「容器服務」(Container as a Service,簡稱 CaaS)。這些服務可藉由虛擬化讓開發人員上傳、執行、擴充以及管理容器。CaaS 是一群雲端機器的集合,讓開發團隊使用自動化的代管與部署。反觀使用「一般」容器的開發人員則需要仰賴一些團隊來部署與管理底層的支援架構。而容器服務將這所有的服務整合成單一服務。
還有另一種用來執行雲端原生應用程式的選項是無伺服器容器。這類解決方案能讓雲端用戶使用容器以及抽象的管理與基礎架構選項。這類容器通常用於規模較小且不需要許多資源來執行的流程。
技術上來說,它們還是伺服器,只是部署時「不包含伺服器」,由雲端供應商負責伺服器的部署與管理。開發人員只需組譯並部署可被隨選呼叫的程式碼。應用程式隨時都在待命並等著需要時被啟動,一些雜七雜八的工作都交由雲端供應商而非開發人員或 DevOps 團隊來負責。
這是一種全方位的雲端防護平台,負責監控、偵測及回應潛在的資安威脅。它內建的應用程式防護工具提供了環環相扣的防護來保護軟體開發生命週期的每一個階段。還有一些額外的功能,例如延伸式偵測及回應 (XDR),可讓 CNAPP 融入企業整體的資安版圖當中,形成一套全方位的網路資安平台。它提供了端對端應用程式與雲端防護、監控、入侵防範,以及資安狀態管理。簡而言之,CNAPP 將多種雲端防護功能整合至單一控制中心:惡意內容掃描、雲端資安狀態管理 (CSPM)、雲端工作負載防護平台 (CWPP)、執行時期防護,以及雲端組態設定。
惡意內容掃描是在開發流程當中執行,目的是要降低部署的應用程式出現問題的風險。雲端組態設定可防止組態設定偏離,協助發掘網路、應用程式、雲端儲存以及其他雲端資源的組態設定錯誤。惡意內容掃描的結果將與營運環境及執行時期雲端組態設定可視性結合來判斷風險矯正的優先次序。
若您只仰賴個別雲端廠商的內建資安功能,那麼多重雲端環境的管理將難上加難。除此之外,有別於零散不連貫的產品,CNAPP 能將多種重要的功能集結成一套全方位而簡化的方案。這類平台提供了自動、強大的防護功能讓企業彌補開發人員在資安專業知識上的不足,消除單一面向產品的應用程式風險可視性死角,並提升 IT 部門及人員的整體可靠度。