背景

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

初识 Rainbond

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

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

上手 Rainbond

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

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

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

最有价值的场景

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

  • 稳定性保证

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

  • 便捷的图形化管理界面

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

  • 突出的易用性

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

  • 合理的可观测性

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

  • 补足供应商管理流程

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

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

总结

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

智慧巨鹿使用Rainbond落地实践,一个平台管理所有应用系统的更多相关文章

  1. PHM与智慧运维落地实践案例集 — 机车运用数据智能诊断系统正式上线

    2019年9月20日,经过为期一个多月的紧张测试,北京润科通用技术有限公司为中车某机车单位倾力打造的“机车运用数据智能诊断系统”正式上线运行,标志着润科通用在轨道交通智慧运维领域的又一案例成功落地. ...

  2. DevOps落地实践点滴和踩坑记录-(2) -聊聊平台建设

    很久没有写文章记录了,上一篇文章像流水账一样,把所见所闻一个个记录下来.这次专门聊聊DevOps平台的建设吧,有些新的体会和思考,希望给正在做这个事情的同学们一些启发吧. DevOps落地实践点滴和踩 ...

  3. 腾讯云“智能+互联网TechDay”:揭秘智慧出行核心技术与创新实践

    现如今,地面交通出行与大家的生活息息相关.在当前城市道路日益复杂和拥挤的情况下,如何保证交通出行的安全和便捷相信是每个人以及众多专家.科研工作者重点关注的问题. “智慧交通”系统是解决交通发展瓶颈的有 ...

  4. [转载]DevOps在传统企业的落地实践及案例分享

    内容来源:2017年6月10日,优维科技高级解决方案架构师黄星玲在“DevOps&SRE 超越传统运维之道”进行<DevOps在传统企业的落地实践及案例分享>演讲分享.IT 大咖说 ...

  5. DEVOPS落地实践分享

    DEVOPS落地实践分享 转载本文需注明出处:微信公众号EAWorld,违者必究. 引言: DevOps的理念已经说了很多年,其带来的价值逐渐被接受,很多企业也逐渐引入了DevOps.目前普元DevO ...

  6. 干货 | 博云基于OVS自研容器网络插件在金融企业的落地实践

    本文根据博云在dockerone社区微信群分享内容整理 过去几年博云在企业中落地容器云平台遇到了很多痛点,其中一个比较典型的痛点来自网络方面,今天很高兴跟大家聊聊这个话题并介绍下我们基于OVS自研的C ...

  7. 鸿蒙HarmonyOS应用开发落地实践,Harmony Go 技术沙龙落地北京

    12月26日,华为消费者BG软件部开源中心与51CTO Harmony OS技术社区携手,共同主办了主题为"Harmony OS 应用开发落地实践"的 Harmony Go 技术沙 ...

  8. DevOps落地实践点滴和踩坑记录-(1)

    记录初衷 本人一直在从事企业内DevOps落地实践的工作,走了不少弯路,也努力在想办法解决面临的问题,期间也经历过不少人和事情,最近突然有想法把经历过的,不管好的不好的都记录下来,分享给和我一样的一线 ...

  9. 互联网研发效能之去哪儿网(Qunar)核心领域DevOps落地实践

    本文从业务目标角度出发,确定了开源+自建模式搭建 Qunar 研发工具链整体生态:通过 APPCODE 打通工具链,流程规范化自动化:多种手段+发布门禁助力质量提升:建立应用画像确定运维最小单元,可发 ...

随机推荐

  1. Tomcat源码分析 | 一文详解生命周期机制Lifecycle

    目录 什么是Lifecycle? Lifecycle方法 LifecycleBase 增加.删除和获取监听器 init() start() stop() destroy() 模板方法 总结 前言 To ...

  2. C++ 类型转换(C风格的强制转换):

    转https://www.cnblogs.com/Allen-rg/p/6999360.html C++ 类型转换(C风格的强制转换): 在C++基本的数据类型中,可以分为四类:整型,浮点型,字符型, ...

  3. 【Python】【Basic】【数据类型】基本数据类型

    1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值范围为-2 ...

  4. mysql之对象创建

    1 --创建表空间 2 create tablespace tablespace_name 3 innodb and ndb: 4 add datafile 'file_name' 5 innodb ...

  5. 侵入式&非侵入式

    侵入式设计 引入了框架,对现有的类的结构有影响:即需要实现或继承某些特定类. 例如:Struts框架 非侵入式设计 引入了框架,对现有的类结构没有影响. 例如:Hibernate框架 / Spring ...

  6. Docker的常用命令总结

    一.普通指令 启动 Docker sudo systemctl start docker 停止 Docker sudo systemctl stop docker 普通重启 Docker sudo s ...

  7. ssm+mysql+jsp打造在线考试系统WeKnow-学生端

    一.登陆模块 前台提交账号和密码传到后台处理控制层 1.1 首先是控制器 @RequestMapping(value="/studentLogin", method=Request ...

  8. 【手帐】Bullet Journal教程

    最近觉得自己的日程记录本有待提高,于是从今年开始开始入坑了手帐. *内容源自Bullet Journal官网.https://bulletjournal.com/pages/learn 快速笔记 Bu ...

  9. ASP.NET Core中使用滑动窗口限流

    滑动窗口算法用于应对请求在时间周期中分布不均匀的情况,能够更精确的应对流量变化,比较著名的应用场景就是TCP协议的流量控制,不过今天要说的是服务限流场景中的应用. 算法原理 这里假设业务需要每秒钟限流 ...

  10. Android CameraX 打开摄像头预览

    目标很简单,用CameraX打开摄像头预览,实时显示在界面上.看看CameraX有没有Google说的那么好用.先按最简单的来,把预览显示出来. 引入依赖 模块gradle的一些配置,使用的Andro ...