云原生指构建和运行应用以充分利用通过云交付模式交付的分布式计算。云原生应用旨在充分利用云平台特有的可扩展性、弹性和灵活性优势。
根据云原生计算基金会 (CNCF) 的定义,云原生技术可帮助企业在公有云、私有云和混合云上构建和运行可扩展的应用。云原生方法的典型特性包括容器、服务网络、微服务、不可变基础设施以及声明式应用编程接口 (API) 等等。
借助这些特性,企业可以获得松散耦合的弹性、可管理、可观测的系统,工程师也能尽可能减轻工作负担,高频实施重大变更。
为了满足现代复杂应用的要求以及用户对持续创新和无与伦比的响应能力的期望,企业的业务系统必须具有更高的战略性和灵活性。对此,云原生不仅能确保业务系统快速运行,还能提供杰出的敏捷性。
云原生服务可使用 Kubernetes、Docker、无服务器函数、API 和 Kafka 等技术助力现代应用开发。通过使用来自有实力的云提供商的云工具和云服务,开发人员可以减轻运营工作负担,更快地构建应用。简而言之,云原生服务可以提供一个全面、基于标准的平台,帮助开发人员更好地构建、部署和管理云原生应用(例如微服务和无服务器函数)。
了解如何释放云原生的全部优势,轻松、快速地构建弹性、易于管理、可扩展的现代云应用。
通过迁移到云原生技术,企业可以在整个组织平台上尽可能改善客户体验,永久性地革新软件开发和业务模式。不久前,很多组织都迁移到了“云友好”的 IT 基础设施。但是,IT 团队如果不能创建云原生应用来充分发挥云投资的价值,即使迁移到了云端,也会在竞争中远远落后。为了从竞争中脱颖而出,企业需要快速调整和迭代,而云基础设施杰出的弹性和按需功能可助力任何业务迁移到云原生模式。
2015 年,随着大量组织和服务开始采用云原生系统,云原生计算基金会 (CNCF) 应运而生。作为 Linux 基金会创建的一个项目,CNCF 是一个旨在促进云原生技术采用的开源软件基金会。时至今日,CNCF 共拥有 400 多名成员,其中既有公有云提供商,也有企业软件公司和技术初创企业,例如 Microsoft、Oracle、VMware 和 Intel 等均为 CNCF 白金成员。
CNCF 旨在确保云原生技术可访问、可用和可靠。它孵化了一个专门面向 Kubernetes、Prometheus 和 CoreDNS 等项目的社区,为各种致力于构建(支持在微服务架构下编排容器的)可持续环境的组织提供支持。
迁移至云原生系统对于企业而言可能是一个艰难的过程,但最终绝对是“物有所值”。这不仅仅意味着重新设计应用,还意味着革新企业的结构和文化,最终推动企业向前发展。借助 CNCF 路线图,企业可以逐步采用云原生技术。按照这一路线图,企业要采用更复杂的软件来交付微服务、无服务器函数、基于事件的流以及其他类型的云原生应用。
云原生应用,或者说原生云应用 (NCA),是专为云计算架构而设计的程序。它们具有多重优势。
云原生应用可视为打包为自包含的、可移植的、可按需快速纵向或横向扩展的轻量级容器的独立服务。通过将所有元素封装到容器(例如 Docker 容器)中,企业可以将应用及其依赖关系与底层基础设施相隔离,进而在任何拥有容器运行时引擎的环境下部署该容器化应用。此外,Kubernetes 容器编排支持企业对容器生命周期进行有效管理。云原生应用一般通过具有持续集成和持续交付 (CI/CD) 工具链的 DevOps 管道交付。CI/CD 管道对于自动构建、测试和部署云原生应用非常重要。
云原生架构旨在设计专用于在云端(而不是在传统的本地部署基础设施中)运行的应用或服务。一个成功的云原生架构应当以新一代云为基础,易于维护,同时具有出色的成本效益和自我修复能力。与传统系统相比,云原生架构更灵活且不依赖物理服务器。
这正是微服务和无服务器函数的用武之地。微服务是云原生应用架构的核心,如今已成为迁移至云的企业的一大关键工具。它支持企业将一个应用分解为多项独立服务 — 一项服务满足一个功能;支持 DevOps,可提供出色的灵活性和更高的可扩展性并降低成本,因此吸引了很多软件公司的使用;使用 API 来相互通信,可使用事件驱动的架构来增强每一个应用的整体性能。Oracle 云原生服务遵循 CNCF 路线图,可帮助企业简化采用旅程,更加轻松地开始构建、部署和管理现代云原生应用。
无服务器函数是一种旨在提高开发人员工作效率的架构。无服务器应用支持开发人员在一个函数即服务 (FaaS) 平台上,使用事件驱动的架构和各种后端即服务 (BaaS) 模式来编写代码,而无需担忧供应、修补、扩展、安全性、高可用性等问题。在 FaaS 平台(例如 Oracle 函数)上,应用会被分解为可在事件触发时按需动态调度和运行的小段代码(又被称为纳米服务)。这一方法的优势在于仅在需要时调用和执行代码,用户只需为执行期间使用的资源付费。相比之下,在传统方法下,应用会被加载到服务器,且大部分时间都处于闲置或等待请求状态。简而言之,无服务器计算支持您只为实际使用的计算资源付费,无需为闲置资源付费。
云原生服务是数字化创新的核心,也是高级分析、移动应用和聊天机器人的关键。云原生服务可通过 DevOps 实践消除与构建、运行和维护复杂软件平台相关的绝大多数管理任务。同时,它的软件开发、部署和测试活动均在云端进行,支持按需扩展或收缩。通过将应用、DevOps 和工作负载迁移至云原生架构,企业可有效增强自身的竞争力。
Oracle 云原生服务支持企业和用户使用 Kubernetes、Docker、无服务器函数、API 和 Kafka 等基于标准的技术来推进现代云原生应用开发。Kubernetes 常常被称为“面向云的操作系统”。它是一个专用于管理容器化应用和服务集群的开源平台,关键组件包括集群、节点和控制平面。其中,集群包含节点,节点托管 pod(pod 包含所部署应用的要素),且每个节点包含至少一个工作机。控制平面则负责管理集群(通常跨多个计算机)中的节点和 pod,以此实现高弹性和高可用性。
Oracle 可提供云原生服务所需的云工具和自动化支持,助力开发团队减轻运营工作负担,快速构建应用。Oracle Cloud Infrastructure (OCI) 可提供一个基于标准的平台,以相比其他云提供商更高的性能和更低的成本来运行云原生服务。借助基于开源和开放标准的服务,OCI 支持开发人员在任意的云或本地环境下运行应用而无需重构代码,从而专注于应用构建和创新。
OCI 容器注册表是一项基于开放标准的,适用于安全地存储和共享容器映像的 Oracle 托管式 Docker 注册表服务。它支持工程师使用熟悉的 Docker 命令行界面 (CLI) 和 API 来轻松推送和拉取 Docker 映像。此外,容器注册表还能与 Oracle Container Engine for Kubernetes、OCI 身份与访问管理 (IAM)、Visual Builder Studio 以及第三方开发人员和 DevOps 工具协同作业,提供完整容器生命周期支持。
OCI 通知是一项高度可用、低延迟的发布/订阅 (pub/sub) 服务,它可将警报和消息发送至 Oracle 云函数、电子邮件、SMS 和消息传递合作伙伴,包括 Slack、PagerDuty 和 ServiceNow;与 OCI 身份与访问管理服务集成,可确保安全访问;即使在流量突发期间也能可靠递送每一条消息。使用 OCI 通知服务,您可以轻松构建可扩展、可靠的云原生应用。
OCI 流处理服务是一个面向开发人员和数据科学家的实时、无服务器、兼容 Apache Kafka 的事件流处理平台。这一托管式事件流处理服务可规模化地摄取、存储和处理实时流数据,同时全面兼容各种常用的开源 Kafka API,可有效避免 API 锁定问题。
Oracle Container Engine for Kubernetes (OKE) 是一项由 Oracle 托管的,可有效节约现代云原生应用构建时间和成本的容器编排服务。与大多数同类供应商不同,OCI 基于性能更高、成本更低的计算配置,以免费服务的形式提供 Container Engine for Kubernetes。DevOps 工程师可以使用未修改的开源 Kubernetes 来实现应用工作负载可移植性,并通过自动更新和打补丁来简化操作。
Oracle 云函数是一个无服务器平台,它不仅支持开发人员轻松创建、运行和扩展应用而无需管理任何基础设施,同时还能与 OCI、平台服务和 SaaS 应用集成。它基于开源 Fn 项目,因此支持开发人员创建可轻松迁移至其他云和本地部署环境的应用。另外,基于 Oracle 函数的代码通常运行时间较短,且客户只需为实际使用的资源付费。
云原生应用开发相比传统开发方式是否可以真正交付更出色的应用?可以。云原生应用的优势十分明显。首先,云原生应用的功能可以细分为微服务,不仅具有良好的可扩展性,还支持单独管理。其次,云原生应用不依赖特定云基础设施,支持高度分布式运行,具有出色的独立性,能够基于应用需求分配资源。最后,云原生应用可以在私有云、公有云和混合云中提供一致的体验,对于企业推进业务战略和创造更多价值至为关键。利用响应迅捷、可靠、可扩展的云原生应用,企业可以有效降低风险,充分发挥云计算的优势。
了解开发人员为什么喜欢使用云原生技术创建新一代应用,并在任何地方运行这些应用。
了解如何使用 Docker 容器、Kubernetes、Terraform 以及其他云原生技术来构建、监视和管理微服务以及无服务器函数等现代应用。
注:为免疑义,本网页所用以下术语专指以下含义: