都在说云原生,它的技术图谱你真的了解吗?
Posted CSDN
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了都在说云原生,它的技术图谱你真的了解吗?相关的知识,希望对你有一定的参考价值。
-
自动化和部署工具:帮助工程师在无需人工干预情况下即可构建计算环境; -
容器注册表:存储应用程序的可执行文件; -
不同安全领域的安全和合规框架; -
密钥管理解决方案:通过加密确保只有授权的用户才能访问特定的应用程序。 -
这些工具使工程师可以编写基础设施参数,使系统可以按需搭建新环境,确保了一致性和安全性。
运行时层(Runtime)
-
云原生存储:为容器化应用提供虚拟磁盘或持久化存储; -
容器运行时:为容器提供隔离、资源和安全; -
云网络:分布式系统的节点(机器或进程)通过其连接和通信。
编排和管理层(Orchestration and Management)
-
编排和调度:部署和管理容器集群,确保它们具有弹性伸缩能力,相互之间低耦合,并且可扩展。事实上,编排工具(绝大多数情况下就是 Kubernetes)通过管理容器和操作环境构成了集群; -
协调和服务发现:使得服务(应用程序组件)之间可以相互定位和通信; -
远程进程调用(RPC):使跨节点服务间通信的技术; -
服务代理:服务间通信的中介。服务代理的唯一目的就是对服务之间的通信进行更多控制,而不会对通信本身添加任何内容。服务代理对下面将提到的服务网格(service mesh)至关重要。 -
API 网关:一个抽象层,外部应用可通过 API 网关进行通信; -
Service Mesh:某种程度上类似于 API 网关,它是应用程序进行通信的专用基础架构层,提供基于策略的内部服务间通信。此外,它还可能包含流量加密、服务发现、应用程序监控等内容。
应用定义和开发层 (Application Definition and Developement)
-
数据库:使应用程序能以有序的方式收集数据; -
流和消息传递:使应用程序能发送和接收消息(事件和流)。它不是网络层,而是让消息成为队列并处理消息的工具; -
应用程序定义和镜像构建:用于配置、维护和运行容器镜像(应用程序的可执行文件)的服务; -
持续集成和持续交付(CI/CD):使开发者可自动测试代码是否与代码库(应用程序的其余部分)兼容。如果团队足够成熟,甚至可以自动部署代码到生产环境。
可观察性和分析(Observability and Analysis)
-
日志工具:收集事件日志(有关进程的信息); -
监控方案:收集指标(以数字表示的系统参数,例如 RAM 可用性); -
追踪工具:追踪比监控更进了一步,它们监控用户请求的传播,与服务网格相关。 -
混沌工程(Chaos Engineering):在生产环境中测试软件的工具,可识别缺陷并进行修复,减少其对服务交付的影响。
平台类(Platform)
-
Kubernetes 发行版:采用未经修改的开放源代码(尽管有人对其进行了修改),并根据市场需要增加了其他功能; -
托管的 Kubernetes:类似于 Kubernetes 发行版,但是由提供商托管; -
Kubernetes 安装程序:自动执行 Kubernetes 的安装和配置过程; -
PaaS/容器服务:类似于托管的 Kubernetes,但是包含了一套更广泛的应用部署工具(通常是来自云原生景观图)。
总结
在每个类别中,针对相同或相似的问题,都有不同的工具可选择。有一些是适用于新现实的预云原生技术,还有一些则是全新的。区别在于它们的实现和设计方法。没有完美的技术符合你的所有需求。大多数情况下,技术受设计和架构选择的限制——始终需要权衡取舍。
在选择技术栈时,工程师必须仔细考虑每种能力和需要权衡取舍的地方,以确定最合适的选项。虽然这样会让情况变得更复杂,但在选择应用程序所需的最适合的数据存储、基础设施管理、消息系统等方案时,这样做是最可行的办法。现在,构建一个系统比云原生之前的时代容易多了。如果构建恰当,云原生技术将提供更强大的灵活性。在现如今快速变化的技术生态中,这可能是最重要的能力之一。
☞
☞
☞
以上是关于都在说云原生,它的技术图谱你真的了解吗?的主要内容,如果未能解决你的问题,请参考以下文章