背景

大家好,我是北京数立通科技有限公司的李栋。最近几年,我一直负责“智慧巨鹿”这一智慧城市项目的运行与维护工作。这个项目涉及到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. go goroutines 使用小结

    go +方法 就实现了一个并发,但由于环境不同,需要对并发的个数进行限制,限制同一时刻并发的个数,后面称此为"并发限流". 为什么要并发限流? 虽然GO M+P+G的方式号称可以轻 ...

  2. 【编程思想】【设计模式】【行为模式Behavioral】chain

    Python版 https://github.com/faif/python-patterns/blob/master/behavioral/chain.py #!/usr/bin/env pytho ...

  3. Java对象的创建过程:类的初始化与实例化

    一.Java对象创建时机 我们知道,一个对象在可以被使用之前必须要被正确地实例化.在Java代码中,有很多行为可以引起对象的创建,最为直观的一种就是使用new关键字来调用一个类的构造函数显式地创建对象 ...

  4. ssh 无法使用

    ssh 无法运行造成无法远程连接 linux 原因: 我将 /var  目录权限修改成了 777,但 linux 系统出于安全起见,该目录的 7 权限只对 root 用户开放,所以linux 系统认为 ...

  5. js实现点击不同按钮切换内容

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 【力扣】922. 按奇偶排序数组 II

    给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数. 对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数:当 A[i] 为偶数时, i 也是偶数. 你可以返回任何满足上述条件的数组 ...

  7. 【C/C++】【输入】关于scanf:输入空格,多次使用

    一.C/C++中带空格字符串的输入 C++中的cin和C中的scanf都是遇到空格或回车结束. 如果要让scanf接收空格,可以用读入字符集合的方式.%[] char a[100]; scanf(&q ...

  8. 【Spark】【RDD】从HDFS创建RDD

    1.在HDFS根目录下创建目录(姓名学号) hdfs dfs -mkdir /zwj25 hdfs dfs -ls / 访问 http://[IP]:50070 2.上传本地文件到HDFS hdfs ...

  9. [BUUCTF]REVERSE——[ACTF新生赛2020]Oruga

    [ACTF新生赛2020]Oruga 附件 步骤: 例行检查,64位程序,无壳 64位ida载入,检索字符串,根据提示来到关键函数 14行~18行就是让字符串的前5位是 actf{ ,sub_78A( ...

  10. GDAL重投影重采样像元配准对齐

    研究通常会涉及到多源数据,需要进行基于像元的运算,在此之前需要对数据进行地理配准.空间配准.重采样等操作.那么当不同来源,不同分辨率的数据重采样为同一空间分辨率之后,各个像元不一一对应,有偏移该怎么办 ...