跳到主要内容

智慧巨鹿使用Rainbond落地实践,一个平台管理所有应用系统

info

大家好,我是北京数立通科技有限公司的李栋。最近几年,我一直负责“智慧巨鹿”这一智慧城市项目的运行与维护工作。这个项目涉及到10多家供应商开发的 30 多套智慧城市应用的运维管理,使用传统方式进行部署与管理肯定会造成混乱。我们在项目开始之初,就试图借助云原生相关的技术来提高部署与管理效率。

背景

大家好,我是北京数立通科技有限公司的李栋。最近几年,我一直负责“智慧巨鹿”这一智慧城市项目的运行与维护工作。这个项目涉及到10多家供应商开发的 30 多套智慧城市应用的运维管理,使用传统方式进行部署与管理肯定会造成混乱。我们在项目开始之初,就试图借助云原生相关的技术来提高部署与管理效率。

初识 Rainbond

选型的目光,在一开始就落在了基于容器化技术实现的 Kubernetes 和 Docker Swarm 这两个编排工具上。那时候国内应用云原生技术的场景还很少,项目组内的运维工程师们也并不是很擅长容器化等相应技术。为了进一步了解这些编排工具,我发动了工程师们分别去进行调研,当我拿到调研结果时,尴尬的发现光是这些编排工具的安装方式,每个工程师带回来的方案都不一样。云原生的入门门槛之高,出乎我的意料。

退而求其次,我决定引入一款方便工程师们上手的应用管理平台,来代替运维工程师完成和 Kubernetes 等编排工具的复杂交互工作。至此, Rainbond 第一次进入我的视野。

上手 Rainbond

我算是 Rainbond 的老用户了,从 3.X 版本开始就一直在使用它来管理智慧巨鹿项目的所有智慧城市应用。目前,共计有 30 多套智慧城市应用稳定运行于两个 Rainbond 集群中,我们正致力于将智慧城市应用从较老的 3.X 版本 Rainbond 集群迁移至比较新的 5.X 版本 Rainbond 集群中。

回想最初开始使用 Rainbond 时,其易用性给我留下了深刻的印象。我们的工程师不再需要直接面对学习门槛极高的 Kubernetes ,甚至连将智慧城市应用进行容器化的操作流程也不需要关注,Rainbond 自带的源码构建功能直接接手了容器化工作。

经过两年多的运行,Rainbond 的稳定性也令人满意,目前智慧巨鹿项目团队已经完全掌控了这款应用管理平台。

WechatIMG17

最有价值的场景

使用 Rainbond 这几年,我认为给它带来了很多价值点:

  • 稳定性保证

真正能够让 Rainbond 在智慧巨鹿项目中扎根的,是它体现出的稳定性,产品本身没有严重的BUG,老版本中的一些小毛病团队也都已经克服。作为一款运行在智慧城市数据中心中的应用管理平台,稳定性的重要程度是要高于其他因素的。在这一点上,Rainbond 表现的很好,即使遭遇了宿主机服务器宕机,应用也可以自动故障迁移、快速恢复。出了问题的宿主机,在问题修复之后,也可以自动重新加入集群。

  • 便捷的图形化管理界面

作为智慧城市数据中心的应用管理平台,它辅助我们管理了所有智慧城市应用。借助图形化的界面,运维工程师可以很方便的针对这些应用进行操作,包括启停、编排、伸缩等。由于不必编写复杂的 Yaml 配置文件,也没有命令行交互,智慧巨鹿项目团队的工程师们都得以很快上手。

  • 突出的易用性

我认为易用性是 Rainbond 最大的特点。它以应用为核心抽象,围绕应用所设计的诸多功能都十分有用。比如自动伸缩、健康检测等都是非常实用的功能。网关策略的配置也非常友好,操作难度基本为零,绑定域名匹配证书都非常方便。

  • 合理的可观测性

Rainbond 提供了全面的监控报警系统,无论是计算资源还是上层的应用系统,一旦出现问题都可以很快暴露出来。结合自动化运维能力,问题应用系统可以做到自愈自恢复。而通过观察应用系统访问量和资源消耗情况,可以更合理的进行资源分配工作。

image-20211230164119378

image-20211230160050171

  • 补足供应商管理流程

智慧城市应用来自于很多不同的供应商,在以往使用传统模式部署与运维时,每一家供应商的套路都不一样。这种不同不仅仅体现在开发语言、技术架构上,也体现在具有各自不同的部署方式与运维管理方式。这可苦了我们的运维管理人员,接手的每一套智慧城市应用的运维管理方式都不一样。

这样的境况在引入 Rainbond 之后好了很多。运维管理团队依靠 Rainbond 建立起一套专门针对外部供应商的准入机制,利用统一的规范管理所有智慧城市应用,极大提高了管理效率,也使得运维管理团队可以在脱离供应商支持的情况下,将智慧城市应用管理的很好。目前的管理模式,是将供应商准入环境与最终生产环境按照团队的方式隔离开,供应商开发人员,仅需要关注业务代码的开发过程,智慧巨鹿运维管理团队,会根据代码将业务上线到生产环境中去。真正落地了开发与生产隔离的管理方式。

image-20210923142933743

总结

我在智慧巨鹿项目中引入 Rainbond 这款产品已经两年多了,作为应用管理平台,它切实助力到智慧城市应用的日常运维管理工作。目前正处于一个将老版本 Rainbond 集群迁移到新版本的过渡阶段,相信以后还会继续携手 Rainbond 同行。