雲端原生一詞是指建置和執行應用程式的概念,以利用雲端交付模型所提供的分散式運算功能。雲端原生應用程式的設計和建置目的,是要利用雲端所提供的規模、彈性、復甦力和彈性。
如 Cloud Native Computing Foundation (CNCF) 所定義,雲端原生技術使企業能夠在公有、私有和混合雲端中建立和執行可擴展的應用程式。容器、服務網格、微服務、不可變的基礎架構和聲明式應用程式設計介面 (API) 等功能特色充分地詳述了這種方法。
這些功能可讓您具有彈性、可管理且可觀察的組合系統。他們可以讓工程師頻繁地進行高影響的變更,而且只需最少的努力。
現代化的複雜應用程式環境,使用者希望藉由持續創新,加上無與倫比的回應能力,需要業務系統能夠以更高的策略性,並變得更靈活。雲端原生的所有內容既快速移動,同時又維持敏捷性。
雲端原生服務使用如 Kubernetes、Docker、無伺服器功能、API 和 Kafka 提升現代應用程式開發的能力,業界頂尖的雲端提供者提供雲端工具和服務,讓開發者可降低營運任務並加快建置應用程式的速度。雲端原生服務為開發者提供全方位的標準型平台,可建置、部署及管理雲端原生應用程式 (例如微服務和無伺服器功能)。
發現您如何利用雲端原生的全部潛力,快速、輕鬆地建置有彈性、可管理、可擴展的現代雲端應用程式。
移轉至雲端原生技術已透過讓整個組織的平台提供最佳的客戶體驗,而永久改變了軟體開發和業務模型。不久以前,許多組織的 IT 基礎架構是「雲端友善」。如果想要移轉至雲端的 IT 團隊同時建立雲端原生應用程式,則會將自己處在極具競爭力的不利之處,以致最大的投資。您的公司若要在競爭激烈的同時生存活下來,還能自行與競爭對手差異化,能夠快速調整及反覆測試是一個業務必要條件,而雲端基礎架構具備靈活彈性和可因應需求的功能,可將任何業務移轉至雲端原生。
CNCF 於 2015 年成立,以回應採用雲端原生系統的組織和服務充足性。CNCF 是由 Linux Foundation 建立的專案,推動採用雲端原生技術的開源軟體基礎。CNCF 有超過 400 個成員,包括公有雲端供應商、企業軟體公司和技術新創公司。Microsoft、Oracle、VMware、Intel 是 CNCF 的一些白金級會員。
CNCF 的存在是可確保雲端原生技術可供存取、可用和可靠。此架構為專屬於 Kubernetes、Prometheus 及 CoreDNS 專案的社群而設計,同時支援組織建構微服務架構內可協調容器的永續環境。
組織對雲端原生的歷程可能很難過,但最後可能會變成一個價值。此歷程只是重新架構應用程式,而這與公司結構和文化有關係,最後您公司邁向前進。使用 CNCF Trail Map,企業可以逐步採用雲端原生技術。依照預期進度,採用更多複雜的軟體來提供微服務、無伺服器功能、以事件為基礎的串流,以及其他類型的雲端原生應用程式。
雲端原生應用程式或原生雲端應用程式 (NCA) - 是專為雲端運算架構設計的方案。他們有許多好處。
雲端原生應用程式是獨立的服務,以獨立且輕量的容器形式封裝,可攜式移轉並可根據需求快速地縱向擴展 (縮減或縮減)。將所有資料封裝入容器 (例如 Docker 容器),即可讓應用程式及其相關基礎架構的相依性加以隔離。這可讓您在容器程式實際執行引擎的任何環境中部署該容器化應用程式。Kubernetes 容器協調最重要的是它們會管理容器的生命週期。雲端原生應用程式通常會透過一條 DevOps 流程管道提供,其中包括持續整合及持續交付 (CI/CD) 工具鏈。CI/CD 流程管道對於將雲端原生應用軟體的建置、測試及部署自動化至關重要。
雲端原生架構顧及專門存在於雲端中的應用程式或服務設計,而非在較傳統的企業內部部署基礎架構中進行。成功的雲端原生架構必須能夠輕鬆維護及支援新一代的雲端原生架構,同時符合成本效益和自我修復。與傳統系統相比,雲端原生架構擁有更大的彈性,而無須仰賴實體伺服器。
此處是微服務和無伺服器功能可扮演大量重要角色。微服務是雲端原生應用程式架構的核心,已經成為公司邁向雲端的主要工具。微服務可將應用程式排列成多個獨立的服務,每個服務都有特定功能。許多軟體公司因支援 DevOps、具備彈性並提升擴展性而能充分運用微服務,同時降低成本。雲端原生微服務會透過 API 與彼此通訊,並使用事件導向架構,此服務可提升每個應用程式的整體效能。Oracle Cloud 原生服務會遵循 CNCF 軌跡圖,協助簡化歷程,並讓公司輕鬆開始建置、部署以及管理現代化雲端原生應用程式。
無伺服器函數一詞描述著重於開發人員生產力提高的架構樣式。無伺服器應用程式可讓您在平台上撰寫程式碼,此程式碼可使用事件導向架構和各種後端即服務 (BaaS) 模型作為服務 (FaaS)。這樣一來,您不必擔心佈建、修補程式、規模調整、安全性、高可用性等問題。透過 Oracle Functions 等 FaaS 平台,應用程式分為少量程式碼 (nanoservices),它會在事件觸發時動態排定並視需要執行。這個方法的優點在於,只需視需要呼叫和執行程式碼,而您只需要針對執行期間使用的資源付費。這與傳統伺服器方法不同,其中會將應用程式載入伺服器,並花費大部分的時間閒置,等待要求。因此,在無伺服器運算的過程中,您只需支付實際使用的運算資源,無須支付閒置資源的費用。
雲端原生服務是數位創新的核心,也是進階分析、行動應用程式及聊天機器人的重要關鍵。DevOps 實務會移除與建築、操作及維護複雜軟體平台相關的大部分管理任務。軟體開發、部署及測試活動位於雲端,可隨時擴充或簽約。將應用程式、DevOps 及負載移轉至雲端原生架構相當重要,可維持業務競爭力。
Oracle 的雲端原生服務透過使用基於標準的技術,例如 Kubernetes、Docker、無伺服器功能、API 和 Kafka,推動現代雲端原生應用程式開發。Kubernetes 通常被描述為「雲端作業系統」是一個開放原始碼平台,用於管理容器化應用程式和服務的叢集。Kubernetes 的主要元件為叢集、節點及控制平面。叢集包含節點。各節點至少包含一個工作機器。節點託管包含已部署應用程式元素的 Pod。控制平面管理叢集中的節點和吊艙,通常跨越許多電腦,以實現復甦性和高可用性。
Oracle 為這些服務提供必要的雲端工具和自動化功能,讓開發團隊能夠減少營運任務並快速建置應用程式。雲端原生服務在 Oracle Cloud Infrastructure (OCI) 上執行,相較於其他雲端提供者,提供具備更高效能和更低成本的標準型平台。透過利用基於開放原始碼和開放標準的服務,OCI 使開發人員有可能在任何雲端或內部部署環境中執行應用程式,而無需重構,這使他們有更多的自由來關注建設和創新。
OCI Container Registry 是以開放式標準且 Oracle 管理的 Docker 登錄服務為基礎,用來安全地儲存和共用容器映像檔。工程師可以使用熟悉的 Docker 命令行介面 (CLI) 和 API 輕鬆推送和提取 Docker 映像檔。為了支援容器生命週期,容器登錄可使用 Oracle 的 Container Engine for Kubernetes、OCI Identity and Access Management、Oracle Visual Builder Studio 以及第三方開發人員和 DevOps 工具。
OCI 通知是一項高可用、低延遲的發佈/訂閱 (pub/sub) 服務,可向Oracle Cloud Functions、電子郵件、SMS 和訊息交付合作夥伴 (包括 Slack、PagerDuty和ServiceNow) 傳送警示和訊息。此服務已與 OCI 身分識別和存取管理整合,可安全地存取並傳遞每個訊息,即使在流量增量期間也可提供。通知會幫助您建立可擴展和可靠的雲端原生應用程式。
OCI 串流服務是一個即時、無伺服器、相容於 Apache Kafka 的事件串流平台,適用於開發人員和資料科學家。此管理事件串流服務會大規模內嵌、儲存和處理即時串流資料。它透過與廣泛使用的開放原始碼 Kafka API 完全相容來減少鎖定。
Container Engine for Kubernetes (OKE) 是 Oracle 管理的容器協調服務,可以減少建構現代雲端原生應用程式的時間和成本。與大多數其他廠商不同,OCI 為 Kubernetes 提供 Container Engine for Kubernetes 是以較高效能、低成本運算資源配置為基礎的免費服務。DevOps 工程師可以使用未經修改、開放原始碼 Kubernetes 來提升應用程式工作負載的可攜性,並透過自動更新和修補程式簡化作業。
Oracle Cloud Functions 是一個無伺服器平台,可讓開發人員建立、執行及擴展應用程式,而無需管理任何基礎架構,也與 OCI、平台服務和 SaaS 應用程式整合。由於 Functions 是以開放原始碼 Fn 專案為基礎,因此開發者可輕鬆連線至其他雲端和內部部署環境的應用程式。基於函數的程式碼通常執行時間很短,客戶只為他們使用的資源付費。
雲端原生應用程式開發是否提供比傳統開發應用程式更好的應用程式。有。對雲端原生應用程式的優勢很清楚:雲端原生應用程式可進行調整,因為功能分成微服務並允許個別管理。此外,由於這些應用程式支援各種雲端基礎架構,因此雲端原生應用程式能夠以高度分散式的方式執行,並可根據應用程式需求維持獨立性及配置資源。雲端原生應用程式已成為提升業務策略和價值的重要方法,因為它們可以提供跨私有雲端、公有雲端和混合雲端的一致體驗。他們可讓組織執行可擴展且降低風險的響應式可靠雲端原生應用程式,以充分利用雲端運算。
瞭解爲什麽使用雲端原生技術建構下一代應用程式,並在任何地方執行,會讓開發人員如此期待。