专栏
天翼云开发者社区

基于Sidecar模式的多云资源纳管探索(一)

2022-12-26 12:41:25 59阅读

(一)背景介绍

Sidecar模式设计思想的核心是将控制和逻辑分离,常用于我们在分布式架构中的逻辑和控制分离设计。迁移到我们的分布式架构中就是:我们不需要在服务中实现控制面上的东西,如监视、日志记录、限流、熔断、服务注册、协议适配转换等这些属于控制面上的东西,而只需要专注地做好和业务逻辑相关的代码,然后,由“Sidecar”来实现这些与业务逻辑没有关系的控制功能。

 Sidecar模式是将应用程序的组件部署到单独的进程或容器中,以提供隔离和封装。此模式还允许应用程序由异构组件和技术实现。用到软件架构中,就是Sidecar应用是连接到父应用,并为其扩展或增强功能。Sidecar应用于主应用程序松耦合。

(二)Sidecar介绍

(1)概念介绍

Sidecar原意是摩托车的边车,用到软件架构中,就是Sidecar应用是连接到父应用,并为其扩展或增强功能。Sidecar应用于主应用程序松耦合。

(2)Sidecar模式优点

  • 通过抽象出于功能相关的共同基础设施到一个不同层,以降低微服务代码的复杂度
  • 因为应用不再需要编写相同的第三方组件配置文件和代码,从而降低了微服务架构中代码的复杂度
  • 降低了应用程序和底层平台的耦合度

 

(三)Sidecar在多云纳管组件的探索

基于Sidecar模式的云资源纳管组件,为公有云,私有云,专有云,多云,分布式云等提供一种新的纳管组件和统一的资源模型。基于适配器模式的定制运行的Sidecar组件为不同云数据中心所部署的同构和异构资源池,抽象统一的云资源模型,提供统一的接入体系;并按照接口的标准化、体系化设计,形成统一的服务、数据、信息、消息、监控等内容的采集与分发。在保证各类消息、数据通道畅通的同时,尽可能降低异构资源池接入的复杂度。

(1)整体架构

 

Sidecar层:针对每种云厂商资源纳管期进行代理,包括资源的开通,施工,运行,升级,退订,销毁等。每种云厂商的Sidecar代理以单独的服务集群呈现,相互隔离,生命周期受到管控治理平面管理。Sidecar用来代理接管和厂商之间的资源请求流量。


统一服务层:对目前各个云资源服务进行统一的抽象,抽象出计算,存储,网络,数据库等组件的共有统一的抽象模型,并对服务今天统一的命名和参数管理。


管控治理层:对各个云厂商Sidecar全部的服务实例进行全方位治理。包括配置管理,升级管理,策略管理,监控管理和安全管理。保证Sidecar健康正常的运转,并在Sidecar失效的时候,能够进行在线切换,确保业务连续性。


管控平台:高阶管理控制平面,主要包括多云管理,运营管理和运维管理。从业务面进行多云的动态纳管,横向切换,混合部署,滚动升级,优雅下线等方面进行高阶任务下发,综合对多云的能力进行高阶管控。

 

(2)优点介绍

轻量独立的Sidecar模式:摒弃了传统基于API/SDK云资源纳管重耦合的方式,基于适配器模式的厂商独立的Sidecar代理模式。针对每个厂商研发对立的Sidecar 适配组件,适配组件生命周期不和业务层绑定,由自己独立的管控平面管理和控制。并对共享的统一的公用服务进行复用。Sidecar组件可以支持主备模式,集群模式等,可以进行在线的灵活切换,拓展和升级。

创新自研的Sidecar框架:目前传统的实现Sidecar模式的技术框架基本都是基于Envoy,Istio或者Dapr的方式。这种技术方式实现方式适合在在服务直接流量进行接管和代理。要求Sidecar 基本上成对的关系,不适合云资源纳管的场景,由于云厂商消费端并无Sidecar的对等端。而且Envoy相当笨重,配置和部署十分复杂。我们创新采用基于spring boot starter的方案来自研Sidecar组件,代理资源纳管流量,非常轻量。每个厂商,每个产品,每个版本,都可以设计单独的Sidecar组件。在灵活基础上,创造性地解决了多云资源纳管的一些痛点和问题。

统一抽象的云计算资源模型:目前很多已有云计算定义,每个厂商和组织的定义各不相同,导致自混合云和多云纳管的方式非常复杂,每次纳管,从控制端到数据层所有的流程环节,都需要根据云计算厂商的特地模型和属性,进行二次开发和封装,而且一旦接口变动,流程中涉及到的组件全部重新升级改造和适配。非常不敏捷。本发明参考了几大主流和新兴的云计算厂商的接口和模型,提出了对云计算模型统一抽象的方法,云计算模型主要包括计算,存储和网络三个主要的组件。

资源池在线动态纳管:针对每个厂商,每个云资源,每个版本的资源纳管需求,研发出不同的Sidecar定制组件。每一种同构或者异构的资源池接入,全部从资源管控平面以单独启动Sidecar组件完成,统一接口协议,对上层的资源管理层完全透明。启动Sidecar里完成资源的适配,映射和转换工作。每个资源池Sidecar支持动态部署,启动,运行,上线,下线,升级。

 

 

  • 1
  • 0
  • 0
0 评论
0/1000
评论(0) 发表评论
y****n

y****n

4 篇文章 0 粉丝
关注

基于Sidecar模式的多云资源纳管探索(一)

2022-12-26 12:41:25 59阅读

(一)背景介绍

Sidecar模式设计思想的核心是将控制和逻辑分离,常用于我们在分布式架构中的逻辑和控制分离设计。迁移到我们的分布式架构中就是:我们不需要在服务中实现控制面上的东西,如监视、日志记录、限流、熔断、服务注册、协议适配转换等这些属于控制面上的东西,而只需要专注地做好和业务逻辑相关的代码,然后,由“Sidecar”来实现这些与业务逻辑没有关系的控制功能。

 Sidecar模式是将应用程序的组件部署到单独的进程或容器中,以提供隔离和封装。此模式还允许应用程序由异构组件和技术实现。用到软件架构中,就是Sidecar应用是连接到父应用,并为其扩展或增强功能。Sidecar应用于主应用程序松耦合。

(二)Sidecar介绍

(1)概念介绍

Sidecar原意是摩托车的边车,用到软件架构中,就是Sidecar应用是连接到父应用,并为其扩展或增强功能。Sidecar应用于主应用程序松耦合。

(2)Sidecar模式优点

  • 通过抽象出于功能相关的共同基础设施到一个不同层,以降低微服务代码的复杂度
  • 因为应用不再需要编写相同的第三方组件配置文件和代码,从而降低了微服务架构中代码的复杂度
  • 降低了应用程序和底层平台的耦合度

 

(三)Sidecar在多云纳管组件的探索

基于Sidecar模式的云资源纳管组件,为公有云,私有云,专有云,多云,分布式云等提供一种新的纳管组件和统一的资源模型。基于适配器模式的定制运行的Sidecar组件为不同云数据中心所部署的同构和异构资源池,抽象统一的云资源模型,提供统一的接入体系;并按照接口的标准化、体系化设计,形成统一的服务、数据、信息、消息、监控等内容的采集与分发。在保证各类消息、数据通道畅通的同时,尽可能降低异构资源池接入的复杂度。

(1)整体架构

 

Sidecar层:针对每种云厂商资源纳管期进行代理,包括资源的开通,施工,运行,升级,退订,销毁等。每种云厂商的Sidecar代理以单独的服务集群呈现,相互隔离,生命周期受到管控治理平面管理。Sidecar用来代理接管和厂商之间的资源请求流量。


统一服务层:对目前各个云资源服务进行统一的抽象,抽象出计算,存储,网络,数据库等组件的共有统一的抽象模型,并对服务今天统一的命名和参数管理。


管控治理层:对各个云厂商Sidecar全部的服务实例进行全方位治理。包括配置管理,升级管理,策略管理,监控管理和安全管理。保证Sidecar健康正常的运转,并在Sidecar失效的时候,能够进行在线切换,确保业务连续性。


管控平台:高阶管理控制平面,主要包括多云管理,运营管理和运维管理。从业务面进行多云的动态纳管,横向切换,混合部署,滚动升级,优雅下线等方面进行高阶任务下发,综合对多云的能力进行高阶管控。

 

(2)优点介绍

轻量独立的Sidecar模式:摒弃了传统基于API/SDK云资源纳管重耦合的方式,基于适配器模式的厂商独立的Sidecar代理模式。针对每个厂商研发对立的Sidecar 适配组件,适配组件生命周期不和业务层绑定,由自己独立的管控平面管理和控制。并对共享的统一的公用服务进行复用。Sidecar组件可以支持主备模式,集群模式等,可以进行在线的灵活切换,拓展和升级。

创新自研的Sidecar框架:目前传统的实现Sidecar模式的技术框架基本都是基于Envoy,Istio或者Dapr的方式。这种技术方式实现方式适合在在服务直接流量进行接管和代理。要求Sidecar 基本上成对的关系,不适合云资源纳管的场景,由于云厂商消费端并无Sidecar的对等端。而且Envoy相当笨重,配置和部署十分复杂。我们创新采用基于spring boot starter的方案来自研Sidecar组件,代理资源纳管流量,非常轻量。每个厂商,每个产品,每个版本,都可以设计单独的Sidecar组件。在灵活基础上,创造性地解决了多云资源纳管的一些痛点和问题。

统一抽象的云计算资源模型:目前很多已有云计算定义,每个厂商和组织的定义各不相同,导致自混合云和多云纳管的方式非常复杂,每次纳管,从控制端到数据层所有的流程环节,都需要根据云计算厂商的特地模型和属性,进行二次开发和封装,而且一旦接口变动,流程中涉及到的组件全部重新升级改造和适配。非常不敏捷。本发明参考了几大主流和新兴的云计算厂商的接口和模型,提出了对云计算模型统一抽象的方法,云计算模型主要包括计算,存储和网络三个主要的组件。

资源池在线动态纳管:针对每个厂商,每个云资源,每个版本的资源纳管需求,研发出不同的Sidecar定制组件。每一种同构或者异构的资源池接入,全部从资源管控平面以单独启动Sidecar组件完成,统一接口协议,对上层的资源管理层完全透明。启动Sidecar里完成资源的适配,映射和转换工作。每个资源池Sidecar支持动态部署,启动,运行,上线,下线,升级。

 

 

文章来自专栏

架构

4 篇文章 1 订阅
0 评论
0/1000
评论(0) 发表评论
  • 1
    点赞
  • 0
    收藏
  • 0
    评论