云原生架构(04)-CNCF

本文涉及的产品
简介: 云原生架构(04)-CNCF

01 引言

学习参考资料:《企业级云原生架构:技术、服务与实践)》

云原生计算基金会(Cloud Native Computing Foundation, CNCF)。

CNCFGoogle于 2015 年 7 月发起成立,隶属于 Linux 基金会。

  • 其目标愿景是“致力于使云原生计算具有普遍性和可持续性,维护和集成云原生开源技术,围绕一系列高质量项目建立社区,支持容器化编排的微服务架构应用”。
  • 其职责范围是促进云原生标准制定,促进生态系统的发展和演变,管理项目,推进云原生社区发展。

02 CNCF生态蓝图

CNCF 把目前所涉及的云原生相关的产品、技术和生态分为 8 个主要的领域及方向,具体如下。

2.1 云基础设施(cloud)

按云的部署位置可以分为公有云专有云(私有云)

  • 公有云:指云基础设施部署在互联网上,用户可以通过互联网渠道直接获取云厂商提供的云产品服务(IaaS、PaaS、SaaS)。这样大大降低用户使用云产品的门槛,同时节省用户自建 IDC 机房的初期一次性投入,即开即用,按需付费。
  • 专有云(私有云):指用户在自己的 IDC 机房,采用云的技术及产品搭建自己专属的云平台环境。专有云平台除了可以使用商业云厂商提供的云底座,还可以使用开源的虚拟化技术搭建,如 VMwareOpenStackZStackCloudStack 等。建设专有云的成本很高,但是出于数据安全以及自主可控的考虑,一些用户会选择专有云。

2.2 环境部署(provisioning)

有了物理机和虚拟机,在运行容器服务之前,我们还需要为容器准备标准化的基础环境,如:自动化部署工具、容器镜像工具、安全工具等,以支持基础设施的运维自动化。

IaaS 层提供了硬件网络基础,环境部署提供了软件工具底座,二者共同支撑了容器运行平台的地基。

2.3 运行时(runtime)

运行时是容器核心的云原生技术,为容器运行提供虚拟化隔离的运行支撑环境,包括虚拟化的计算资源、虚拟化的存储资源、虚拟化的网络环境。

云原生计算:Linux Container (LXC) 容器是一种内核轻量级的操作系统层虚拟化技术,通过 LinuxNamespaceCgroup两大机制来实现资源的隔离和限制管理,它为应用软件及其依赖组件提供了一个资源独立的运行环境。2016 年 4 月推出了第一个开放容器标准,标准主要包括运行时标准(runtime)和镜像标准(image)

标准的推出有助于为成长中的市场带来稳定性,让企业能放心采用容器技术,用户在打包、部署应用程序后,可以自由选择不同的容器运行时标准。同时,镜像打包、建立、认证、部署、命名也都能按照统一的规范来进行。


云原生存储:容器从一出现就非常契合微服务中无状态服务的设计理念,因此初期甚至给一些人留下了容器只适合无状态服务的印象,但是随着容器技术的成熟和用户理念的变化,容器目前已经全面进入有状态服务领域。因为容器的生命周期很短的特点,所以容器的状态(存储的数据)必须独立于容器的生命周期,也正因如此,容器的存储变得非常重要。


云原生网络:绝大部分云厂商为用户提供了虚拟专有云服务(Virtual Private Cloud, VPC),便于用户构建云环境下可定制的虚拟网络方案。网络最重要的功能是提供不同计算资源的连通,随着虚拟化和容器技术的发展,传统的网络方案已经无法满足云计算快速增长、不断变化的网络需求。

例如:Docker 安装时会自动在宿主机上创建 3 个网络模式:主机(host)模式、桥接(bridge)模式、容器(container)模式。


编排和管理(orchestration&management):当在生产环境中使用容器时,单台主机上的容器已经不能满足需求,因而需要管理多主机容器集群,也就需要有一个工具能够提供资源管理、容器调度和服务发现等功能,保证多主机容器能够正常工作。可以说,对于云原生系统,容器编排调度才是核心。Kubernetes 是世界上最受欢迎的容器编排平台和第一个 CNCF 项目,帮助用户构建、扩展和管理应用程序及其动态生命周期。


应用层(App definition and development):容器平台最终还是要运行应用的,最主要的应用当然是各个公司的业务,除此之外还有一些比较通用的行业应用,可以根据需求提供类似于应用市场的功能。

应用层提供的技术及产品,既包括涉及跟应用开发相关的基础产品(如数据库、消息队列、缓存、流计算等),也包括跟应用开发相关的软件过程管理(如代码库、镜像库、DevOps)。


平台服务(platform):平台服务是指基于容器技术的更上一层的封装,对开发人员、运维人员提供更加友好的、便捷的、基于容器的应用开发能力,让容器作为一种基础设施服务开箱即用-容器即服务(Container as a Service, CaaS)。

随着 Kubernetes 的快速发展,很多以 Kubernetes 为容器管理平台和应用管理的公司应运而生,大幅降低了用户使用 Kubernetes 管理容器的门槛。容器技术把微服务的概念弄得火热,随后也让 Serverless 这个词出现了大众的面前。既然容器能够屏蔽基础设施,让开发者只关心交付的应用(容器镜像),那么我们可不可以更进一步,让开发者也不需要关心交付的镜像,而只关注业务的核心逻辑呢?这就是 Serverless 的想法。开发者定义好基于事件触发的业务逻辑,其他一切都交给平台,当用户发出请求或者其他事件发生时,平台会根据事先的配置自动运行相应的业务逻辑代码,从而实现真正的按需服务。如果说容器关心的是应用,那么 Serverless 关心的则是函数,由此也催生出一些新的应用开发模式,如函数即服务开发模式(Functions as a Service, FaaS)、后端即服务开发模式(Backend as a Service, BaaS)、小程序开发模式等。


监控分析(observability&analysis):监控系统的运行健康,以确保业务的稳定可靠,是运维工作的主要内容。基于云原生的应用平台建立起来之后,我们要保证整个平台能够正常工作,保证运行在其上的服务不会因为平台错误而不可用,而且还要知道应用整体的运行情况,提前对某些可能出错的地方进行预警,一旦出错能够提供合适的信息进行调试和修复等,这都是监控(observability)和分析(analysis)要做的工作。

监控分析包括运行监控(主机监控、容器监控、应用监控)、分布式日志(日志采集、实时流计算、日志分析)、分布式追踪(全链路追踪、架构感知)等应用领域。监控分析是容器平台运维的重中之重,云原生建设降低了应用部署、升级、构建、测试的难度,但是把难度下沉到容器平台,原来的运维工具和


03 CNCF路线图

3.1 容器化

容器化是云原生的第一步,如果不对应用程序进行容器化,就无法实现云原生。容器是一个标准的软件单元,它将代码及其所有依赖关系打包起来,这样应用程序就可以从一个计算环境快速、可靠地运行到另一个计算环境。

至于应用程序的大小和类型,都是无关紧要的。Docker 是容器化的首选平台,你可以将任意大小的应用程序和依赖项,甚至在模拟器上运行的一些程序,都进行容器化。

Docker 容器镜像是一个轻量级、独立、可执行的软件包,包含运行应用程序所需的所有内容。随着时间的推移,你还可以对应用程序进行分割,并将未来的功能编写为微服务。

3.2 CI/CD

设置CI/CD环境,从而使源代码上的任意修改都能够自动通过容器进行编译、测试,并被部署到预生产环境,甚至生产环境中,部署过程中如果有任何异常,可以方便快速地回滚到上一个稳定的版本。软件开发模式从最初的瀑布模型,到后来的敏捷开发,再到今天的 DevOps,这是现代开发人员构建出 色产品的技术路线。随着DevOps的兴起,出现了CI/CD和持续部署的新方法,而传统的软件开发和交付方式在迅速变得过时。在传统开发模式下,多数公司的软件发布频次是每月、每季度甚至每年,而在 DevOps 时代,每周、每天甚至每天多次发布都是常态。

3.3 应用编排

容器编排主要是管理容器的生命周期,尤其是在大规模复杂的生产环境中,软件团队使用容器编排来控和自动化许多任务。

Kubernetes 是目前市场上应用编排领域中使用最广泛的工具,还有其他编排工具,如 Docker swarm、Mesos 等。Helm Charts 可以用来帮助应用开发和发布者用于定义、安装和升级 Kubernetes 上运行的应用。

3.4 监控和分析

在这个步骤中,用户需要为平台选择监控、日志以及跟踪的相关工具。Kubernetes提供了有关应用程序在容器集群上的资源使用情况的详细信息,并不提供应用运行监控的解决方案,但我们可以将许多现有的云原生产品集成到 Kubernetes集群中。例如,将 Prometheus 用于监控、Fluentd 用于日志、Jaeger 用于整个应用调用链的追踪。通过这些信息,我们可以评估应用程序的性能,并可以消除瓶颈,从而提升整体性能。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
2天前
|
Cloud Native Devops 持续交付
探索云原生架构:为企业数字化转型插上翅膀
【4月更文挑战第26天】 随着企业对敏捷性、可扩展性和成本效率的不断追求,云原生技术正成为推动数字化转型的关键力量。本文深入剖析了云原生架构的核心组件,包括容器化、微服务、持续集成/持续部署(CI/CD)和DevOps实践,探讨它们如何协同工作以支持动态环境。通过分析多个行业案例,我们揭示了云原生实施的最佳实践,并讨论了在采纳云原生过程中面临的挑战及其解决方案。文章旨在为决策者提供一个清晰的云原生技术蓝图,帮助他们构建更加灵活和高效的业务模型。
|
4天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用
【4月更文挑战第24天】 随着企业加速其数字化转型之旅,云原生架构已成为实现敏捷性、可扩展性和持续创新的关键推动力。本文将探讨云原生技术如何助力企业构建灵活的IT环境,支持快速部署新服务,并提高整体业务效率。通过分析微服务、容器化、DevOps和持续集成/持续部署(CI/CD)等关键技术的实践应用,我们将揭示这些元素如何共同塑造出一个响应迅速且高效的企业架构模型。
|
4天前
|
Cloud Native 持续交付 云计算
构筑未来:云原生架构在企业数字化转型中的关键作用
【4月更文挑战第24天】 随着企业加速其数字化进程,云原生技术已逐渐成为推动创新与维持竞争力的驱动力。本文将探讨云原生架构的核心概念、实施策略以及它如何助力企业在不断变化的市场环境中实现敏捷性和弹性。我们将深入剖析容器化、微服务、持续集成与持续部署(CI/CD)等关键技术,并讨论它们如何共同作用于构建高度可靠、可扩展的系统结构。通过具体案例分析,文章旨在为读者提供如何在组织中采用和优化云原生实践的洞见。
|
7天前
|
Cloud Native API 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用
【4月更文挑战第21天】 随着企业加速其数字化转型的步伐,云原生技术已迅速成为推动创新和实现敏捷性的基石。本文深入探讨了云原生架构的核心组件,包括容器化、微服务、持续集成/持续部署(CI/CD)以及声明式API。通过分析这些技术的协同效应,揭示了它们如何共同促进系统的可伸缩性、弹性和维护性,进而支持企业在不断变化的市场环境中保持竞争力。
10 1
|
7天前
|
敏捷开发 Cloud Native 持续交付
构建未来:云原生架构的进化之路
【4月更文挑战第21天】随着数字化转型的深入,企业对IT基础设施的要求日益提高。云原生技术以其灵活性、可扩展性和敏捷性成为推动创新的重要力量。本文将探讨云原生架构的核心组件,分析其如何助力企业实现快速迭代和高效运营,并预测云原生技术的发展趋势。
|
10天前
|
Cloud Native 持续交付 云计算
构建未来:云原生架构在企业数字化转型中的关键作用
【4月更文挑战第18天】 随着企业加速迈向数字化,云原生架构成为推动创新与效率的催化剂。本文深入探讨了云原生技术如何助力企业实现敏捷开发、自动化运维和无缝可扩展性,以及它如何塑造着云计算的未来。我们将通过具体案例分析,揭示云原生架构在处理复杂系统时的灵活性和可靠性,并展望其对业务连续性和安全性的积极影响。
14 1
|
12天前
|
Cloud Native 持续交付 API
构建未来:云原生架构在企业数字化转型中的关键作用
【4月更文挑战第15天】 随着企业加速其数字化转型的步伐,云原生架构已经成为推动创新和实现敏捷性的关键技术。本文深入探讨了云原生技术如何助力企业在竞争激烈的市场中保持领先地位,包括它的核心组件、实施策略以及面临的挑战。通过实际案例分析,我们揭示了企业如何利用云原生架构来优化资源使用、提高开发效率和加强系统的稳定性与安全性。
|
13天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用
【4月更文挑战第14天】 随着企业加速迈向数字化,云原生架构成为支撑其转型战略的核心技术之一。该文章深入探讨了云原生技术如何通过提供灵活、可扩展的解决方案来满足现代业务需求。分析了容器化、微服务、持续集成和持续部署(CI/CD)以及DevOps文化对于构建和维护高效、可靠的云基础设施的重要性。同时,讨论了企业在采用云原生架构时可能面临的挑战,并提出相应的策略以克服这些障碍。
|
18天前
|
运维 Cloud Native 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【4月更文挑战第10天】 随着数字化转型的不断深入,企业对信息技术基础设施的要求日益提高。云原生架构作为一种新兴的设计理念和技术集合,以其灵活性、可扩展性和容错性,正在成为推动企业技术革新的关键力量。本文将探讨云原生技术的核心组件、实施策略以及面临的主要挑战,并分析如何通过采纳云原生架构来优化业务流程和提升服务效率。
|
21天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用
【4月更文挑战第7天】 随着企业加速其数字化转型的步伐,云原生架构已经成为支持敏捷开发、自动化运维和微服务的关键平台。本文深入探讨了云原生技术如何赋予企业灵活性与创新能力,以及这些技术如何帮助组织更有效地响应市场变化和客户需求。通过分析容器化、微服务、DevOps和持续集成/持续部署(CI/CD)等核心技术,我们将揭示它们如何共同塑造着云计算的未来,并为企业提供竞争优势。
13 1

热门文章

最新文章