您的位置:体育休闲网 > 其他

云原生要素介绍之抽象端点

时间:2021-11-15 17:52   来源: TechWeb    作者:李陈默

分布式计算最基本的概念之一是端点可以通过输入和输出来了解每一个软件片段mdash,mdash,对象,微服务,应用程序,而这些都被称之为交互端点

云原生要素介绍之抽象端点

在分布式计算的历史上,端点有多种形式:套接字,IP地址,接口,Web服务和入口等无论它们的性质如何,其他软件必须能够找到合适的端点,连接或绑定它们,并与它们交互

端点也代表攻击面中的漏洞,因此保护它们也是至关重要的在最基本的情况下,端点是物理分布式计算架构的一部分但是,如果只是处理物理端点,就几乎没有灵活性,因此,如果可编程性有限,并且它们的可用性受到严重限制由于这些原因,很多企业多年来就采用了许多抽象端点的方法,如今在构建云原生基础设施时延续了这一趋势

可是,在新的云原生计算模式中,抽象的端点具有新的含义。

抽象端点层

事实上,抽象端点既平凡又普通DNS服务器抽象IP地址,其分配可以根据需要重新分配域名负载均衡器可以将请求定向到不同的服务或应用程序端点,而请求者并不知道

表述性状态传递的核心是使用URL来抽象端点和它们支持的操作底层基础设施可能会利用Web服务器,负载平衡器或API网关来解析URL,并将流量定向到适当的物理端点

REST场景强调了抽象端点的一个重要原则:通常情况下,一条消息可能会遍历几种不同的技术,每个技术都将不同的抽象端点层添加到组合中虽然这些层增加了架构的复杂性,但为端点消费者增加灵活性和简单性的好处通常会超过这种复杂性的成本

云原生计算中的抽象端点

云原生计算需要其他形式的分布式计算不需要的额外抽象端点。

这种额外复杂性的原因是Kubernetes本身目标的基础:在容器,Pod和集群级别提供快速而无限的水平可扩展性。

服务网格使用代理在特定微服务实例之间路由东西向流量,即使请求的微服务通常也不知道在特定时间点有多少实例可用或它们的IP地址是什么。

换句话说,服务网格在入口点提供抽象端点,这对于使用在Kubernetes上运行的微服务至关重要。综上所述,我们可以看到云原生的定义在不断变化和演进,但总有一个核心目标:以应用为中心,实现价值云;让我们的应用系统和IT架构完全基于云原生,让我们的业务系统生于云,长于云。

当请求者位于相关微服务域之外时,同样的原则适用于南北向流量在这些情况下,API网关处理抽象端点

实现这些抽象端点的底层技术是不同的:东西向流量的Sidecar和代理以及南北向流量策略驱动的安全API网关。

云原生零信任

为抽象端点提供足够和适当的安全性给基础设施和安全团队带来了新的挑战考虑到Kubernetes部署的动态特性及其对混合IT场景的支持,零信任方法将所有端点视为不可信,除非证明是可信的

只有一个问题:传统的零信任方法无法胜任这项任务这种零信任的原始方法将端点与人类用户相关联,因此传统的身份和访问管理技术仅适用于管理与端点关联的人类身份

相比之下,在云原生世界中,端点可能是微服务,API,智能手机,物联网传感器或任何数量的其他类型的技术因此,不再可能利用人类身份来访问大多数抽象端点云原生零信任需要不同的方法

连接与集成

云原生计算中的抽象端点使任何其他端点能够在给定基础设施的场景中找到并绑定到该端点该基础设施可能包括Kubernetes,服务目录或其他支持技术

这种能力称之为端点连接事实上,连接性这个术语本身就代表一种抽象,利用现有的端点抽象使这些端点能够根据定义抽象的策略相互交互

可是,连接性并不等同于集成集成端点当然需要连接性,但也需要在端点之间移动消息的机制在Kubernetes之前的世界中,集成技术还提供了各种智能功能,包括数据转换,安全性,流程逻辑执行等

依赖于这种集成中间件来完成这项繁重工作的架构就是所谓的智能管道,哑端点架构企业不仅在大部分工作中利用集成技术,而且除了遵守各自的契约之外,不必依赖端点来完成更多的工作

面向服务架构时代最重要的教训之一是智能管道方法过于集中,因此不是特别适合云计算伴随着分布式计算架构转向云计算,现在转向云原生,人们将繁重的工作从中间件移出,转而依赖轻量级排队技术和其他开源集成方法

如果管道以这种方式从智能变为非智能,那么端点只会从非智能变为智能在某种程度上,只要所说的智能端点是抽象端点,它们就必须如此毕竟,物理端点可能仍然是IP地址,API或URL人们不希望此类协议和技术比以往更智能

与其相反,人们依赖于抽象的端点基础设施来了解如何处理数据转换,安全性,策略实施,以从企业服务总线和其他传统中间件所需的所有其他功能mdash,mdash,现在才抽象出Kubernetes的可扩展性和临时性环境。

也可以抽象集成吗。

假设一个端点是物联网传感器,另一个是基于云的API如果充分抽象了这些端点,那么就为它们提供了连接性

但是仍然必须物理地将消息从一个传输到另一个mdash,mdash,例如,这项任务可能包括5G,专用MPLS链路,某种中间件以及进入选择的云平台。

在理想的云原生世界中,人们将根据既定策略自动处理此类集成的配置,管理和安全性,使人们能够抽象集成以及端点本身,从而能够出于性能或成本原因,在最终用户不知情的情况下,将一项技术转换为另一项技术。

其结果就是基于意图的集成利益相关者将表达端点之间交互的业务意图,基础设施将自动,动态地选择最佳路由拓扑和集成技术,以持续地符合该意图

SD—WAN等技术提供了部分解决方案,但这种基于意图的集成的全部范围仍主要在绘图板上可是,没有理由进行等待抽象端点在今天已成为现实,因此了解如何在云原生场景中实现它们对于兑现Kubernetes的承诺至关重要

请求/回复

这篇文章中使用了请求/回复示例,因为它们比异步交互更易于解释和理解事情的真相是,异步,实时的流交互更像是云原生计算的规范,而请求/回复模式则是一个特例

因此,重要的是要指出,抽象端点对于异步流用例也同样重要事实上,有一类新的事件网格技术概括了当今服务网格处理异步流数据流的能力mdash,mdash,既适用于东西向流量,也适用于南北向流量

当然,处理流数据流的策略执行,安全性和可靠性会带来一系列挑战,例如提高抽象端点重要性的标准。。

伴随着边缘计算的成熟和流数据越来越成为企业计算的规范,而抽象集成以及端点对于保持云原生计算所承诺的可扩展性,灵活性和弹性将变得越来越重要。