任何产品或项目经过长期的积累和建设,都可以从中提炼共同的部分,通过对共同的部分进行维护和迭代就形成了产品。形成产品则需要专业的产品管理工具来进行管理,通过专业的管理工具进行可视化管理,不但方便产品的查看、上传和下载,也方便对产品进行分门别类、历史产品查询应用等。同时,伴随产品的增多,产品的部署也会越来越复杂,若无合适的部署工具,在运维部署阶段就会容易出现部署失败的情况,而且部署工具也能提升部署效率。
01
远程部署框架
合迅智灵远程部署框架不但具备产品管理功能,也具备远程部署能力。合迅智灵远程部署框架依托Conan包管理工具,提供了产品服务器程序和开发库。
Conan 是一个去中心化、开源 (MIT)、C/C++ 包管理器。它是完全去中心化的,用户可以将自己的包托管在私有服务器上;适用于大多数平台,包括:Linux、OSX、Windows、、Docker等;管理二进制文件,它可以为任何配置和平台创建、上传和下载二进制文件。
产品服务器程序对Conan服务器进行了打包,支持的平台包括在windows、linux x86、和linux arm下的程序,在windows和linux x86下通过直接安装便能将服务器程序进行部署,在arm下提供了docker安装的方式进行部署,同时,还提供了配套的使用手册帮助使用者进行使用。
开发库帮助用户在符合自身业务场景下,可以快速构建适用于自己的产品管理和远程部署程序,开发提供的模块包括:conan客户端库、远程部署节点库、远程部署管理中心库和远程部署运维库等。
conan客户端库:提供C++访问conan服务器的能力,支持产品的上传、下载、查询等接口,通过本库上传的产品,与conan本身的客户端程序上传的一致,也可以直接适用conan包管理工具本身的客户端程序进行查询和下载;
远程部署节点库:在整个系统中提供远程节点的管理库,通过对该库实现远程节点的产品部署、远程控制等功能;
远程部署管理中心库:提供注册中心供节点注册,并对节点进行管理,能够了解各节点的实时状态和同步节点的属性等信息,也能设置节点的属性和部署相关产品;
远程部署运维库:远程部署管理中心库提供了后台的管理功能,本库内部与管理中心远程连接可获取相关数据,对外提供了可视化管理必要的接口,包括:获取节点和节点属性、查询服务器产品、远程部署产品、远程控制等接口。
02
远程部署框架应用
当前远程部署框架已经应用在合迅智灵的插件框架和远程部署框架中。通过对开发的插件进行产品化管理,实现远程向客户机部署插件、并且支持远程可视化控制客户机所部署插件的启停等操作;对微服务框架下的分布式节点进行管理,提供了远程部署服务、服务状态监控、服务启停、属性同步等功能。
03
总结
合迅智灵远程部署框架以conan包管理工具为基础,提供跨平台、高性能的产品管理、远程部署能力,不但适用于常规的产品管理场景,也适用客户特殊场景的产品管理。可以大大降低运维阶段下产品部署的难度,提高部署效率,也能应用于可动态配置的软件在运行过程中部署模块和删除模块,如通过合迅智灵插件框架开发的软件。