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