当前位置:网站首页>拓维信息使用 Rainbond 的云原生落地实践
拓维信息使用 Rainbond 的云原生落地实践
2022-07-07 05:08:00 【Rainbond】
我是来自拓维信息基石研究院 PAAS 团队的 Golang 工程师丁鹏,同时我也是 Rainbond 社区 TOC 成员之一。
我们团队主要负责云原生应用平台的选型,搭建与开发,以此做到对下屏蔽底层的基础设施,对上托管我们的微服务应用,便捷高效的帮助企业内服务的云原生落地。
企业简介
拓维信息是中国领先的软硬一体化产品及解决方案提供商。
1996年成立,2008年上市(002261.SZ),以湖南为总部,在北京、上海、深圳等地设有分支机构,员工4000余名。业务涵盖政企数字化、智能计算、鸿蒙生态,覆盖全国31个省级行政区、海外10+国家,聚焦数字政府、运营商、考试、交通、制造、教育等重点领域和行业,服务超过1500家政企客户,为其提供全栈国产数字化解决方案和一站式全生命周期的综合服务。
拓维信息立志成为一家不断创新的科技企业,从运营商到数字政府、考试、制造、交通、教育等行业和领域,持续深耕IT软件领域。
PAAS 之前
在使用一款易用的 PAAS 产品之前,我们各个团队的服务部署方式并不统一:
- A 团队申请云服务器,自搭建
jenkins
将应用直接部署到服务器; - B 团队申请云服务器,使用
kubeadm
搭建 K8s 集群,开发成员编译镜像,运维成员编写应用声明文件进行部署与维护; - C 团队...
可以看出,当前的应用运维管理方式存在着很多问题:
- 云资源管理的混乱:费用统计麻烦,资源利用率低;
- 团队应用管理的混乱:多制品库,多种配套管理软件;无法对应用生命周期的可视化管理,监控问题,日志问题;
- 运维重心:以资源为运维重心,耗费人力创造力,重心应该转移到应用本身,更关注业务的创新;
PAAS 需求
为了解决眼前资源以及应用管理乱象,我们需要一个 PAAS 平台。这个 PAAS 平台我们期待它具有的能力:
- 易用:不需要开发人员,运维人员耗费大量的时间精力学习应用管理,云部署等知识,做到应用的快速交付,持续交付;
- 自动化:对应用全生命周期可管理,从源码到可访问的服务,到日志,监控等都可以在平台呈现;
- 可视化:应用全生命周期可管理,从基本的应用部署,滚动更新,停止等,上升到日志,监控,可伸缩等能力,可以在平台可视且轻松管理;
选型 Rainbond
为了加快 PAAS 平台建设的步伐,我们决定站在巨人的肩膀上,从社区中对 几款 PAAS 产品进行筛选。对比其优劣势,选择更符合我们团队需求的那款——最终 Rainbond
脱颖而出了。
Rainbond
的优势:
- 以应用为中心的设计理念,做到了真正的易用,屏蔽基础设施概念,让开发团队得以专注业务本身;
- 较完整的自动化能力,完整的可视化管理能力,基本符合需求的日志监控功能;
- 直观的微服务拓扑展示,利用服务网格治理实现本地访问,减少服务上 PAAS 的配置改动(这是一个意外惊喜~);
- 应用商店提供了常用软件,帮助一键部署。
除此之外,Rainbond 还具有让我们额外惊喜的能力:
应用跨集群,跨团队的快速复制能力,使多环境高效部署成为可能;
完备的集群端组件,网关,日志,甚至制品库(可替换),使得 Rainbond 本身可以完整提供应用管理的能力;
自定义初始化容器以及SideCar容器能力,可插拔的方式为组件提供额外能力;
Rainbond 实践
我们使用 Rainbond 构建组件呈现:
- 可视化的组件拓扑以及组件依赖,以及由此带来的相互依赖组件之间本地化的访问方式
- 组件的全生命周期管理,组件所需基础设置资源轻易配置
- 高效的网关配置中心,不再需要频繁登录云平台控制台配置负载均衡
Rainbond 足够易用到不需要我们去介绍怎么使用它来构建与管理组件。
我们在其他领域的一些使用经验。
单域名多路由服务
默认组件开通 http 端口时得到这样的访问 url:
而下面才是你期待的 url:
那么你可以使用 Rainbond 网管的 PathRewrite 功能:
自定义插件
基于 Rainbond 的插件可插拔设计,我们可以自定义插件服务。
文件管理插件
你可能会有上传文件到组件容器的需求,得益于 Rainbond 自定义开发插件的功能,你可以通过开发插件来为组件实现文件管理插件,你只需要为你的组件安装具有文件管理能力的插件,然后再为组件创建一个目标目录的共享存储,再通过开通组件端口,即可实现组件容器的文件管理。类似下图
创建插件
配置插件环境变量
开通插件
创建共享存储
开通http网关
数据中间件管理插件
部署了如 MySQL,Redis 的数据中间件,苦于没有现成的管理软件,或者当前无法对外开通 tcp 端口,那么你可以基于 dbgate
这款开源软件来开发一款数据中间件的管理插件。
我相信大家已经会举一反三了,不再示例。
最后
Rainbond 目前已经迭代到了 V5 大版本了,作为一款易用的 PAAS 云原生应用平台,功能也趋于完备,我们也期待 Rainbond 能发展的越来越好。
得益于 Rainbond 的社区支持,我们在使用 Rainbond 时都比较顺利,Rainbond 确实帮助我们团队内顺利的过渡到了云原生的应用管理阶段,降低了耗费在云资源管理上的精力,转而关注应用本身。
而在使用过程中遇到功能 bug 或有更佳实践时,我们也倡导团队积极向社区提交 issue,或排查解决,这是开源的健康循环的一点。
边栏推荐
- 复杂网络建模(三)
- ZCMU--1396: 队列问题(2)
- Blob 對象介紹
- MySQL multi column index (composite index) features and usage scenarios
- C语言队列
- [step on the pit series] H5 cross domain problem of uniapp
- [Matlab] Simulink 自定义函数中的矩阵乘法工作不正常时可以使用模块库中的矩阵乘法模块代替
- Complete linear regression manually based on pytoch framework
- Implementation of replacement function of shell script
- 【数字IC验证快速入门】15、SystemVerilog学习之基本语法2(操作符、类型转换、循环、Task/Function...内含实践练习)
猜你喜欢
[step on the pit series] H5 cross domain problem of uniapp
Ansible
【数字IC验证快速入门】15、SystemVerilog学习之基本语法2(操作符、类型转换、循环、Task/Function...内含实践练习)
JS复制图片到剪切板 读取剪切板
MySQL multi column index (composite index) features and usage scenarios
Implementation of replacement function of shell script
通俗易懂单点登录SSO
QT learning 26 integrated example of layout management
Network learning (I) -- basic model learning
数据库实时同步利器——CDC(变化数据捕获技术)
随机推荐
jeeSite 表单页面的Excel 导入功能
Merging binary trees by recursion
Recursive method to verify whether a tree is a binary search tree (BST)
LeetCode简单题之找到一个数字的 K 美丽值
Chip design data download
【无标题】
Find the mode in the binary search tree (use medium order traversal as an ordered array)
Myabtis_Plus
Recursive method to construct binary tree from preorder and inorder traversal sequence
【数字IC验证快速入门】15、SystemVerilog学习之基本语法2(操作符、类型转换、循环、Task/Function...内含实践练习)
LeetCode中等题之我的日程安排表 I
Register of assembly language by Wang Shuang
The element with setfieldsvalue set is obtained as undefined with GetFieldValue
game攻防世界逆向
Lattice coloring - matrix fast power optimized shape pressure DP
微信小程序基本组件使用介绍
Dedecms collects content without writing rules
Topic not received? Try this
Linux Installation MySQL 8.0 configuration
Empire CMS collection Empire template program general