您当前的位置:首页 > 互联网百科 > 云计算

一文读懂云原生技术图谱

时间:2020-07-24 10:09:38  来源:  作者:

如果你一直在跟踪和研究云原生应用程序和技术,一定会知道云原生计算基金会(CNCF)的云原生技术图谱(Landscape)。乍一眼看去,你一定会被庞大的云原生规模所震撼,为什么会有如此众多的类别和技术,想要了解完整的技术图谱不是容易的事情。

一文读懂云原生技术图谱

清晰技术图谱可在CNCF网站查看

但如果对其剥丝抽茧,分解类别,以及搞清楚每一类代表了哪些技术,以及每个类别所要解决的问题,那么理解上就会轻松很多。大体上云原生技术图谱可以分为四层配置层(Provisioning Layer)、运行时层(Runtime Layer)、编排和管理层(Orchestration and Management Layer)、应用定义和开发层(Application Definition and Development Layer)。架构的每一层都有自己的子类别。

一文读懂云原生技术图谱

 

配置层(Provisioning Layer)

配置层是构建云原生应用程序基础所涉及的工具。它包含了从自动化基础结构的创建,管理和配置到扫描,签名和存储容器镜像等所有内容。提供设置和实施策略,在应用程序和平台中构建身份验证和授权,以及处理机密分发的工具,资源调配,甚至扩展到了安全领域。它包含了一些重要的子类别:

  • 自动化和配置工具——帮助工程师在无需人工干预下构建计算环境。
  • 容器注册表——存储应用程序的可执行文件。
  • 安全和合规框架——涉及不同的安全领域。
  • 密钥管理解决方案——加密来确保只有授权的用户才能访问应用程序。

这些工具使工程师可以整理所有基础架构的细节,便于系统可以根据需要来调整环境,确保它们的一致性和安全性。

运行时层(Runtime Layer)

运行时是可能引起混淆的术语之一。与IT中的许多术语一样,没有严格的定义,可以根据上下文使用不同的定义。从狭义上讲,运行时是准备运行应用程序的特定计算机上的沙箱,即应用程序所需的最低限度。从广义上讲,运行时是应用程序需要运行的任何工具。

在CNCF的云原生环境中,运行时在两者之间的某个位置定义,重点放在对容器化应用特别重要的组件上:它们需要运行,记忆和互动的内容。它们包括:

  • 云原生存储为容器化的应用程序提供了虚拟化磁盘或持久性。
  • 容器运行时为容器提供了约束,资源和安全性方面的考虑,并使用编程后的应用程序执行了文件。
  • 云原生网络,分布式系统的节点(机器或过程)通过其进行连接和通信的网络。

编排和管理层(Orchestration and Management Layer)

一旦按照安全性和合规性标准自动执行基础结构设置,并设置了应用程序需要运行的工具,工程师就必须弄清楚如何编排和管理其应用程序。编排和管理层处理所有容器化服务(应用程序组件)如何作为一个组进行管理。他们需要确定其他服务,相互通信并进行协调。云原生应用程序具有固有的可扩展性,它依赖于此层启用的自动化和弹性。

在这一层中包括:

  • 编排和调度——部署和管理容器集群,以确保它们具有弹性,松散耦合和可伸缩性。实际上,在大多数情况下,编排工具Kubernetes就是通过管理容器和操作环境构成集群的
  • 协调和服务发现——因此服务(应用程序组件)可以相互定位和通信。
  • 远程过程调用(RPC)——一种使一个节点上的服务与通过网络连接的不同节点上的服务进行通信的技术。
  • 服务代理——是放置在服务之间的中介,通过它们进行通信。代理的唯一目的是对服务通信施加更多控制,它不会对通信本身添加任何内容。这些代理对于下面提到的服务网格至关重要。
  • API网关——一个抽象层,外部应用程序可以通过它进行通信。
  • 服务网格——在某种程度上类似于API网关,它是应用程序通过其进行通信的专用基础结构层,但是它提供了策略驱动的内部服务到服务的通信。此外,它可能包括从流量加密到服务发现到应用程序可观察性的所有内容。

应用定义和开发层(Application Definition and Development Layer)

顾名思义,应用程序定义和开发层侧重于让工程师能够构建应用程序并使其运行的工具。上面讨论的所有内容都与构建可靠,安全的环境以及提供所有必需的应用程序依赖关系有关。

在这层包括:

  • 数据库——使应用程序能够以有组织的方式收集数据的数据库。
  • 流和消息——传递使应用程序能够发送和接收消息(事件和流)。它不是网络层,而是用于对消息进行排队和处理的工具。
  • 应用程序定义和镜像构建——是帮助配置,维护和运行容器镜像(应用程序的可执行文件)的服务。
  • 持续集成和交付(CI/CD)——使开发人员能够自动测试其代码是否与代码库(应用程序的其余部分)兼容,如果他们的团队足够成熟,甚至可以自动部署到生产中。

跨所有层运行的工具

回到类别上,下面讨论在所有层上运行的列分类。可观察性和分析是监控所有层的工具。另一方面,平台将这些层中的多种技术捆绑到一个解决方案中,包括可观察性和分析。

一文读懂云原生技术图谱

 

可观察性与分析(Observability and Analysis)

为了限制服务中断并降低MRRT(解决问题的时间),需要监控和分析应用程序的各个方面,以便立即发现并纠正任何异常情况。故障将在复杂的环境中发生,这些工具将通过帮助尽快识别和解决故障来帮助减轻影响。由于此类别遍历并监控所有层,因位于垂直面,而不是嵌入在特定层中。

在这层包括:

  • 收集事件日志——有关进程的信息的日志记录工具。
  • 监控解决方案——收集指标(数字系统参数,例如RAM可用性)。
  • 跟踪——比监控和监控用户请求的传播更进一步。与服务网格相关。
  • 混沌工程——是对生产中的软件进行测试的工具,可以在缺陷影响服务交付之前对其进行识别并加以修复。

平台(Platforms)

如上,每个模块都解决了一个特定的问题。仅存储并不能提供管理应用程序所需的全部功能。我们需要一个编排工具、容器运行时、服务发现、网络、API网关等。覆盖多层,平台将不同的工具捆绑在一起,以解决更大的问题。

配置和微调不同的模块以使其可靠和安全,并确保更新其利用的所有技术,并修补漏洞。使用平台,用户不必担心这些细节,可实现生产中的增值。

你可能会注意到,所有类别都围绕Kubernetes展开。这是因为Kubernetes是云原生堆栈的核心。别忘记,Kubernetes是CNCF的第一个孵化项目,之后才有了其他所有后续项目。

平台可分为四种:

  • Kubernetes发行版(Kubernetes distributions)采用了未经修改的开源代码,尽管有供应商对其进行了修改,并围绕其市场添加了其市场需求的其他功能。
  • 托管Kubernetes(Hosted Kubernetes)类似于发行版,但由提供商在其或用户自己的基础架构上进行管理。
  • Kubernetes安装程序(Kubernetes installers),它们可以自动执行Kubernetes的安装和配置过程。
  • PaaS/容器服务(PaaS/container services),与托管的Kubernetes相似,但是包含了广泛的应用程序部署工具集(通常是云原生环境的一部分)。

总结

在每种类别中,都有解决相同或相似问题的不同工具。有些是满足当下云原生技术的,有些则是全新的。区别在于它们的实现和设计方法。没有完美的技术,因为在大多数情况下技术受到设计和架构选择的限制,始终存在一个权衡。

在选择堆栈时,云原生工程师必须仔细考虑每种功能并进行权衡,以确定适合其用例的最佳选择。尽管这带来了额外的复杂性,但选择最适合应用程序需求的数据存储,基础架构管理,消息系统等是必须的。现在,架构系统比在云之前的原生世界中容易得多。而且,如果进行适当的架构设计,云原生技术将提供强大且急需的灵活性。



Tags:云原生   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
前面谈过很多关于数字化转型,云原生,微服务方面的文章。虽然自己一直做大集团的SOA集成平台咨询规划和建设项目,但是当前传统企业数字化转型,国产化和自主可控,云原生,微服务是不...【详细内容】
2021-12-06  Tags: 云原生  点击:(23)  评论:(0)  加入收藏
作者:阿里集团 阿里云智能事业群 云原生应用平台来源:华章科技 云原生(Cloud Native)的概念,最早是由Pivotal于2015年提出的,但是即使到了2019年上半年,国内对其的关注依然相对有限...【详细内容】
2021-07-19  Tags: 云原生  点击:(182)  评论:(0)  加入收藏
Redis 简介Redis 是大家日常工作中使用较多的典型 KV 存储,常年位居 DB-Engines Key-Value 存储第一。Redis 是基于内存的存储,提供了丰富的数据结构,支持字符串类型、哈希/列...【详细内容】
2021-04-20  Tags: 云原生  点击:(135)  评论:(0)  加入收藏
随着云计算的日益普及,企业上云已经成为必然的趋势。作为全球最权威性的IT研究咨询公司,Gartner曾做出一个预测:在2020年前,50%的企业会将业务工作流放到本地需要作为异常事件进...【详细内容】
2021-03-09  Tags: 云原生  点击:(127)  评论:(0)  加入收藏
目前世界上大部分公司都使用Git来控制软件开发的版本,那么我们用Git到底该建多少个分支呢?2010年Vincent Driessen在《A successful Git branching model》一文中提出了一个Gi...【详细内容】
2021-03-04  Tags: 云原生  点击:(275)  评论:(0)  加入收藏
字节跳动基础架构团队基于火山引擎机器学习平台 Clever 及其丰富的行业落地经验,推出开源项目 Klever,以工程化的方式降低智能技术落地门槛,助力企业快速打造智能业务。作者: 陈...【详细内容】
2021-02-19  Tags: 云原生  点击:(170)  评论:(0)  加入收藏
文作者为 PingCAP 联合创始人兼 CTO 黄东旭,将分享分布式数据库的发展趋势以及云原生数据库设计的新思路。 在讲新的思路之前,先为过去没有关注过数据库技术的朋友们做一个简...【详细内容】
2021-01-12  Tags: 云原生  点击:(154)  评论:(0)  加入收藏
何为云原生随着云计算的应用普及,最近几年,云原生技术(Cloud Native)的概念很火。Pivotal公司的Matt Stine于2013年首次提出云原生的概念;云原生的具体含义在过去的几年中也在不...【详细内容】
2021-01-11  Tags: 云原生  点击:(107)  评论:(0)  加入收藏
Tekton CICD Demo这是一个演示 Tekton CICD 的 demo。下面我们将从搭建本地 k8s 集群开始,同步镜像至国内并部署 Tekton,一步一步实现一个 CICD 流水线。实现更新代码自动触发...【详细内容】
2020-11-13  Tags: 云原生  点击:(133)  评论:(0)  加入收藏
云原生时代的华为,不但打造了迅猛发展的云服务业务,也为自己的云服务打造了新“引擎”。• 作者:硬核老王 •(本文字数:3927,阅读时长大约:6 分钟) 云原生时代的容器引擎的...【详细内容】
2020-11-05  Tags: 云原生  点击:(120)  评论:(0)  加入收藏
▌简易百科推荐
作者:阿里集团 阿里云智能事业群 云原生应用平台来源:华章科技 云原生(Cloud Native)的概念,最早是由Pivotal于2015年提出的,但是即使到了2019年上半年,国内对其的关注依然相对有限...【详细内容】
2021-07-19  华章科技    Tags:云原生   点击:(182)  评论:(0)  加入收藏
一、案例概述为了方便对公司办公计算机桌面系统的管理,公司需要搭建一套桌面虚拟化平台。公司运维工程师决定使用Cirtix桌面 虚拟化解决方案。 Citrix XenServer服务器虚拟化...【详细内容】
2021-07-13  虚拟化爱好者    Tags:企业云   点击:(608)  评论:(0)  加入收藏
近日有粉丝问阿里云和华为云的部署区别是啥,其实阿祥没有搭建过阿里云,具体用啥工具部署,部署的步骤和具体方法并不知道(ps:后续如果能找到类似资料,阿祥会给大家分享),所以我这次先...【详细内容】
2021-07-13  信息系统集成Vlog    Tags:阿里云   点击:(136)  评论:(0)  加入收藏
人类社会可以划分为三个阶段:第一次浪潮为农业阶段,从约1万年前开始;第二阶段为工业阶段,从17世纪末开始;第三阶段为信息化阶段,从20世纪50年代后期开始。 --托夫勒,《第三次浪潮...【详细内容】
2021-06-02  云技术    Tags:云计算   点击:(95)  评论:(0)  加入收藏
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二...【详细内容】
2021-05-14    全国产经平台  Tags:云计算开发   点击:(128)  评论:(0)  加入收藏
在当今互联网行业乃至一些大厂,大部分公司都采用敏捷项目管理模式来管理项目,在敏捷十二条宣言中有一条是这样说:“我们的最高目标是,通过尽早和持续地交付有价值的软件来满足...【详细内容】
2021-04-30    云计算AND容器技术  Tags:Jenkins   点击:(165)  评论:(0)  加入收藏
云服务所谓的云服务,云服务可以将企业所需的软硬件、资料都放到网络上,在任何时间、地点,使用不同的IT设备互相连接,实现数据存取、运算等目的。 云服务是一种按需服务1.云服务(C...【详细内容】
2021-04-28  德姐姐科普  今日头条  Tags:云服务   点击:(155)  评论:(0)  加入收藏
云计算是一种基于互联网的计算新方式,使得个人和企业用户以按需即取、易扩展的方式的获取计算和服务。本文介绍了云计算的基本概念、发展历程及发展现状,总结了云计算的关键技...【详细内容】
2021-04-28  云计算那点事    Tags:云计算   点击:(109)  评论:(0)  加入收藏
图片来源@视觉中国文 | 波波夫上世纪六十年代,科学家John McCarthy在斯坦福大学提出了“从任意地点通过网络访问计算机程序”的设想时,台下听众的反应,可能和今天在推特上看马...【详细内容】
2021-04-16    钛媒体APP  Tags:云计算   点击:(102)  评论:(0)  加入收藏
由于边缘计算能让用户在靠近物或数据源头的一侧处理工作负载,极大地提升了在云端的处理效率,因此备受用户青睐。  根据MarketsandMarkets数据分析显示:到2022年,边缘计算市场...【详细内容】
2021-04-07    IT168企业级  Tags:边缘计算   点击:(139)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条