我是来自拓维信息基石研究院 PAAS 团队的 Golang 工程师丁鹏,同时我也是 Rainbond 社区 TOC 成员之一。
我们团队主要负责云原生应用平台的选型,搭建与开发,以此做到对下屏蔽底层的基础设施,对上托管我们的微服务应用,便捷高效的帮助企业内服务的云原生落地。
拓维信息是中国领先的软硬一体化产品及解决方案提供商。
1996年成立,2008年上市(002261.SZ),以湖南为总部,在北京、上海、深圳等地设有分支机构,员工4000余名。业务涵盖政企数字化、智能计算、鸿蒙生态,覆盖全国31个省级行政区、海外10+国家,聚焦数字政府、运营商、考试、交通、制造、教育等重点领域和行业,服务超过1500家政企客户,为其提供全栈国产数字化解决方案和一站式全生命周期的综合服务。
拓维信息立志成为一家不断创新的科技企业,从运营商到数字政府、考试、制造、交通、教育等行业和领域,持续深耕IT软件领域。
在使用一款易用的 PAAS 产品之前,我们各个团队的服务部署方式并不统一:
jenkins
将应用直接部署到服务器;kubeadm
搭建 K8s 集群,开发成员编译镜像,运维成员编写应用声明文件进行部署与维护;可以看出,当前的应用运维管理方式存在着很多问题:
为了解决眼前资源以及应用管理乱象,我们需要一个 PAAS 平台。这个 PAAS 平台我们期待它具有的能力:
为了加快 PAAS 平台建设的步伐,我们决定站在巨人的肩膀上,从社区中对 几款 PAAS 产品进行筛选。对比其优劣势,选择更符合我们团队需求的那款——最终 Rainbond
脱颖而出了。
Rainbond
的优势:
除此之外,Rainbond 还具有让我们额外惊喜的能力:
应用跨集群,跨团队的快速复制能力,使多环境高效部署成为可能;
完备的集群端组件,网关,日志,甚至制品库(可替换),使得 Rainbond 本身可以完整提供应用管理的能力;
自定义初始化容器以及SideCar容器能力,可插拔的方式为组件提供额外能力;
我们使用 Rainbond 构建组件呈现:
Rainbond 足够易用到不需要我们去介绍怎么使用它来构建与管理组件。
我们在其他领域的一些使用经验。
默认组件开通 http 端口时得到这样的访问 url:
而下面才是你期待的 url:
那么你可以使用 Rainbond 网管的 PathRewrite 功能:
基于 Rainbond 的插件可插拔设计,我们可以自定义插件服务。
你可能会有上传文件到组件容器的需求,得益于 Rainbond 自定义开发插件的功能,你可以通过开发插件来为组件实现文件管理插件,你只需要为你的组件安装具有文件管理能力的插件,然后再为组件创建一个目标目录的共享存储,再通过开通组件端口,即可实现组件容器的文件管理。类似下图
创建插件
配置插件环境变量
开通插件
创建共享存储
开通http网关
数据中间件管理插件
部署了如 MySQL,Redis 的数据中间件,苦于没有现成的管理软件,或者当前无法对外开通 tcp 端口,那么你可以基于 dbgate
这款开源软件来开发一款数据中间件的管理插件。
我相信大家已经会举一反三了,不再示例。
Rainbond 目前已经迭代到了 V5 大版本了,作为一款易用的 PAAS 云原生应用平台,功能也趋于完备,我们也期待 Rainbond 能发展的越来越好。
得益于 Rainbond 的社区支持,我们在使用 Rainbond 时都比较顺利,Rainbond 确实帮助我们团队内顺利的过渡到了云原生的应用管理阶段,降低了耗费在云资源管理上的精力,转而关注应用本身。
而在使用过程中遇到功能 bug 或有更佳实践时,我们也倡导团队积极向社区提交 issue,或排查解决,这是开源的健康循环的一点。
|