咸阳市大数据管理局使用Rainbond作为智慧城市底座的实践
使用 Rainbond 作为智慧城市底座之后,给我们带来了成倍的运维效率提升。 —— 咸阳市大数据管理局 熊礼智
咸阳市大数据管理局负责全市信息共享工作的组织领导,协调解决与政府信息共享有关的重大问题,研究拟订并组织实施全市大数据战略、规划和政策措施,引导和推动大数据研究和应用工作,建立全市统一的数据服务中心和信息共享机制。通过“端-边-网-云-智” 的全新技术架构,实现管理高效、服务便民、产业发展、生态和谐的目标效用,达成新一代信息技术与城市现代化深度融合,迭代演进的新模式、新理念。
智慧城市的建设中,对智慧城市应用的管理是个很基础的问题。传统的情况下,服务于民生的各类应用系统,都是由相应的政府部门各自部署管辖,这造成了一些困扰。各个城市部门往往各自为政,彼此之间形成数据孤岛,很难互通互联。无论是数据还是应用,都很难统一管理起来。
在咸阳智慧城市建设工作中重点建设数据交换共享平台和应用管理平台。数据交换共享平台负责打通城市各个部门的数据孤岛,进行数据清理和规约之后,最后达成所有城市部门的 IT 应用之间互联互通的效果。
在建设咸阳市智慧城市期间,我们在智慧城市应用管理领域遭遇了很多棘手的问题。为了解决这些痛点,我们借助 Rainbond 这款产品,建设起了可以提供自动化运维能力的应用管理平台。我从四个部分分享解决难题的整个过程:
痛点:回顾智慧城市应用,在部署实施以及后期运维上的难点痛点。
定位:我们如何定位智慧城市应用管理平台,以及希望通过它解决什么样的问题。
落地:简要阐述智慧城市应用管理平台的选型过程,以及部署落地的过程。
实战:讲一个真实的案例,来说明引入应用管理平台后,快速开发落地一个智慧城市应用的全过程。
传统模式下的痛点
我将痛点归纳如下:
缺乏统一管理:以往各个城市部门的应用系统的部署是杂乱无章的。每家单位都在建设自己的 IT 系统,没有统一的管理可言。
遗留系统多:很多城市部门的应用系统使用的时间都很久了,有的系统甚至已经失去了厂家的支持。而有的系统采用的技术已经过时,无法方便的迁移到可以被集中管理的环境中去,也没有办法很好的将它们监控起来,获得其实时的状态。
资源分配不合理:每家单位都在进行 IT 系统的建设,这必然导致做了很多重复性的建设工作,资源浪费随之而来。而且在缺乏资源监控的情况下,没有谁能说清楚各自的应用系统到底应该使用多少资源。访问量不论多少,都分配了同样的资源,缺乏合理性。
运维困难:每家单位建设 IT 系统的方式方法五花八门。而这些单位自身往往缺乏相应的技术人才来维护这些系统,一旦出了问题,每套业务系统的维护方式都不一样。
缺乏可观测性:以往的 IT 系统建设,往往仅仅关注应用程序本身,而忽略了可观测性的建设。无法做到问题快速发现,往往 IT 系统的失灵,是由用户反馈而来的。
对应用管理平台的定位
应用管理平台负责承载和管理所有智慧城市下属的应用系统,包括新建设起来的数据交换共享平台。后续所有新开发的智慧城市应用会直接基于应用管理平台部署,以往老旧的遗留系统也会随着迭代更新不断迁移到应用管理平台。这么做的目的就是为了能够逐步整合各个城市部门的数据与应用,统一管理。
建设智慧城市的过程中,必然会不断涌现出大批新的城市部门应用系统,如何在建设过程中不重走老路很重要。智慧城市应用管理平台在这个过程中扮演的角色是GPaaS 平台,数据交换共享平台是VPaaS 的一部分。二者相结合,可以将海量城市数据在云端实现汇集融通计算,在提高城市智慧体运行速度的同时也大大降低了运行成本。我将应用管理平台和数据交换共享平台的定位总结如下:
应用管理平台向下统一纳管所有计算资源。实现计算资源统一分配调度。这些计算资源以多个机房内托管的虚拟机或者物理机的形式提供。应用管理平台应提供资源监控面板,并在底层计算资源出现问题时发送报警信息。
应用管理平台向上承载包括数据交换共享平台在内的所有智慧城市应用系统。提供统一风格的管理面板,以及丰富的自动化运维能力,最大程度降低应用运维管理的难度。智慧城市应用可以以极低的代价迁移到应用管理平台上来,能够实时统计应用的访问流量和资源占用情况,实现计算资源面向应用按需分配,自动调整。
应用管理平台横向延伸到各个城市部门。数据交换共享平台需要借助应用管理平台的这一能力,与城市部门现有 IT 系统接驳。
应用管理平台可以接纳老旧遗留系统。对于无法直接迁移到应用管理平台的各类老旧遗留系统,比如 Windows 应用等,应可以至少做到逻辑层面的接入,能够以统一风格的面板进行简单管理,以及健康检测等监控能力。
落地过程与价值体现
我们选型并对比了多款 PaaS 平台类产品,最终选择了 Rainbond 。回顾当时的选型过程,以及系统建成到现在的使用体验,我将其优势总结如下:
易用性好:Rainbond 是多家选型产品中,易用性做的最好的一款产品。一站式的产品化体验让我们在智慧城市应用的开发部署,乃至后期的运行维护工作中都大大降低了学习成本。数据交换共享平台这个核心应用,仅用不到一周的时间,就完成了向云端的迁移。
强大的自动化运维能力:在运维管理方面,其自动化运维能力非常优秀,节省了大量运维成本,使运维效率成倍提升。
可观测性:Rainbond 提供了全面的监控报警系统,无论是计算资源还是上层的应用系统,一旦出现问题都可以很快暴露出来。结合自动化运维能力,问题应用系统可以做到自愈自恢复。而通过观察应用系统访问量和资源消耗情况,可以更合理的进行资源分配工作。
开源生态:Rainbond 本身是个开源产品,也拥抱开源社区生态。其内部的应用商店系统,提供了大量我们需要的第三方中间件,这些中间件可以一键部署到应用管理平台上去,这节约了大量的时间和精力。否则基于服务器从零搭建这些中间件系统非常耗时耗力。
基于 Rainbond 建设的应用管理平台于 2019年11月落地交付使用。这套应用管理平台底层对接了3个不同的集群,分别是开发测试环境、普通生产环境和涉密生产环境。时至今日,其上部署的各类城市应用已经超过了 100 套,组件数量超过500个。
最先被迁移到应用管理平台上的数据交换共享平台。向开发测试环境迁移的过程比较轻松,我们投入了两名开发人员、两名运维人员,在好雨科技交付工程师的配合下,基于源代码就将所有的组件部署到了应用管理平台上。所有的学习和迁移工作只持续了一周左右就完成了。接下来要考虑的,是在生产环境中部署这套应用系统。我们在这里借助了 Rainbond 内部组件库提供的能力,将开发测试环境中的数据交换共享平台,发布到了内部组件库中,在生产环境中就可以一键部署了。后续的升级操作也都借由应用模版配套的版本管理功能完成,这极大的节约了部署升级成本。
数据交换共享平台需要借助平台能力,延伸到各个城市部门接驳其已有的 IT 系统。最开始 Rainbond 并不支持这个特殊的需求,最终定制了特制的网关,使数据交换共享平台可以通过网关和城市部门已有的 IT 系统交互。
数据交换共享平台部署形态:
在应用的运维管理方面,最让我们觉得好用的,是 Rainbond 提供的统一网关配置功能。通过非常简单的配置,就可以将平台上部署的应用系统对外暴露服务地址。而且经过了定制,我们使用的 Rainbond 网关支持了国密证书,使得我们在安可方面的要求也得到了满足。
经过长时间的考验,基于 Rainbond 建设的应用管理平台的稳定性得到了肯定。尤其是在2020年新冠疫情爆发时,短时间开发部署的外来人口统计系统,也在应用管理平台的支持下,经受住了大并发考验,完成了统计任务。
实战应对疫情考验
2020年2月,由于复工返岗高峰的到来,大规模的人口流动重新启动,为遏制疫情蔓延扩散,做好外来返工人员的防控和服务工作,咸阳市需要用最短的时候完成咸阳市外来人口登记系统的开发和上线,并在3天内完成整个咸阳市130万人信息上报和管控服务。
咸阳市外来人口登记业务是一个前后端分离的业务系统。主要包含了前端页面、后台服务、缓存、数据库、短信业务5个服务组件。
此时,应用管理平台已经落地了半年,我们已经能够非常熟练的基于 Rainbond 进行开发和部署,所以业务的开发上线并没有遇到阻碍,我们很快就完成了业务的上线。
Rainbond提供服务组件的伸缩功能,只需要一键,就可以为当前服务组件快速伸缩出多个实例,并且自动提供负载均衡。为了能够让业务流量过大时,可以自动扩展实例数量,我们还设置了基于内存使用率来触发的自动伸缩功能。在运维层面更加自动化。这将大幅度降低单个实例处理业务的压力。
在咸阳市外来人口登记业务的所有组件中,我们为前端页面、后台服务这两个服务组件都伸缩了最多5个实例,这两个服务组件也是经常进行实时更新的组件,基于多个实例,Rainbond提供滚动更新的功能,使业务的升级不会影响到线上的业务运行。
为了更好的监控“咸阳市外来人口登记业务”各个服务组件的压力情况,我们为前端页面、后台服务、数据库分别安装了Rainbond自带的服务实时性能分析插件。业务运行期间,这个插件为我们带来很多的有用信息,多次帮助开发人员发现业务系统的不足之处,使开发人员可以在业务雪崩宕机之前修正代码并上线。
对于前端页面、后台服务这样的基于Http协议提供服务的组件,插件将提供平均响应时间、吞吐率、在线人数三项实时数据,以及最近5分钟耗时URL排行、历史数据等持续性数据。
整个填报期间,4套业务系统平均在线人数保持在4000人以上,峰值达到5000+,经由统一网关负载的总流量超过 20000。
总结和期待
Rainbond 满足了咸阳市大数据管理局对应用管理平台的预期,运行至今非常稳定。但是,当管理应用系统上百套后后,我们对应用整体监控提出更高要求,需要从更高维度了解所有应用系统运行情况,我了解到他们有更高维度的大屏产品,希望在二期建设过程中,能解决这个问题。
关于Rainbond
Rainbond是一个开源的云原生应用管理平台,使用简单,不需要懂容器和Kubernetes,支持管理多个Kubernetes集群,提供企业级应用的全生命周期管理,功能包括应用开发环境、应用市场、微服务架构、应用持续交付、应用运维、应用级多云管理等。
已有上百家企业使用Rainbond管理关键业务场景,涵盖制造、能源、高校、公安、政府、交通、军工等十几个行业。客户有 京东方、百胜中国、中航信、中公高科等大型企业。
咸阳市大数据管理局使用Rainbond作为智慧城市底座的实践的更多相关文章
- 【云+社区极客说】新一代大数据技术:构建PB级云端数仓实践
本文来自腾讯云技术沙龙,本次沙龙主题为构建PB级云端数仓实践 在现代社会中,随着4G和光纤网络的普及.智能终端更清晰的摄像头和更灵敏的传感器.物联网设备入网等等而产生的数据,导致了PB级储存的需求加大 ...
- 智慧金融时代,大数据和AI如何为业务赋能
前言:宜信技术人物专访是宜信技术学院推出的系列性专题,我们邀请软件研发行业的优秀技术人,分享自己在软件研发领域的实践经验和前瞻性观点. 第一期专访我们邀请到宜信科技中心AI中台负责人王东老师,从大数据 ...
- chinacloud大数据新闻
2015年大数据发展八大趋势 (0 篇回复) “数据很丰满,信息很骨感”:Sight Machine想用大数据的方法,打碎两者间的屏障 (0 篇回复) 百度携大数据"圈地" ...
- IT大数据服务管理高级课程(IT服务,大数据,云计算,智能城市)
个人简历 金石先生是马克思主义中国化的研究学者,上海财经大学经济学和管理学硕士,中国民主建国会成员,中国特色社会主义人文科技管理哲学的理论奠基人之一.金石先生博学多才,对问题有独到见解.专于工作且乐于 ...
- 【Energy Big Data】能源互联网和电力大数据
背景 今年的政府工作报告突出了互联网在经济结构转型中的重要地位,报告明白指出:要制定"互联网+"行动计划,推动移动互联网.云计算.大数据.物联网等与现代制造业结合,促进电子商务.工 ...
- Storm 实战:构建大数据实时计算
Storm 实战:构建大数据实时计算(阿里巴巴集团技术丛书,大数据丛书.大型互联网公司大数据实时处理干货分享!来自淘宝一线技术团队的丰富实践,快速掌握Storm技术精髓!) 阿里巴巴集团数据平台事业部 ...
- FusionInsight,一个融合的大数据平台
随着物联网技术和应用的普及,以运营商.互联网以及实体经济行业为代表的企业产生了越来越多的数据,大数据的发展越来越蓬勃. 从2007年开始,大数据应用成为很多企业的需求,2012年兴起并产生了大数据平台 ...
- 使用Python爬取、清洗并分析前程无忧的大数据职位
爬取前程无忧的数据(大数据职位) # -*- coding: utf-8 -*- """ Created on Wed Nov 1 14:47:27 2019 @auth ...
- Kona JDK 在腾讯大数据领域内的实践与发展
导语 | 近日,云+社区技术沙龙“腾讯开源技术”圆满落幕.本次沙龙邀请了多位腾讯技术专家,深度揭秘了腾讯开源项目TencentOS tiny.TubeMQ.Kona JDK.TARS以及Medical ...
随机推荐
- DRF的action装饰器
1.action装饰器 Django默认的路由分发规则决定了视图函数只能以get.post等请求方式命名,如果想要使用自定义的方式命名,我们可以使用action去映射请求方法名与自定义方法 view. ...
- .NET 分布式系统架构(有转载部分)
一.设计目的 搭建一个大型平台需要综合考虑很多方面,不单纯是软件架构,还包括网络和硬件设备等.由于现代大部分应用建设都面临用户多.高并发.高可用的需求,传统软件架构已不能满足需求,需要支持分布式软件架 ...
- 974.和可被K整除的子数组
题目 给定一个整数数组 A,返回其中元素之和可被 K 整除的(连续.非空)子数组的数目. 示例: 输入:A = [4,5,0,-2,-3,1], K = 5 输出:7 解释: 有 7 个子数组满足其元 ...
- Sequence Model-week1编程题1(一步步实现RNN与LSTM)
一步步搭建循环神经网络 将在numpy中实现一个循环神经网络 Recurrent Neural Networks (RNN) are very effective for Natural Langua ...
- Spring Authorization Server的使用
Spring Authorization Server的使用 一.背景 二.前置知识 三.需求 四.核心代码编写 1.引入授权服务器依赖 2.创建授权服务器用户 3.创建授权服务器和客户端 五.测试 ...
- 如何洗白xi校长?(初稿)
看看咱们太子殿下,谁还敢黑全世界最好的太子殿下 我们不如来考虑一下如何给校长洗白. 第一当然是买断热搜了.买断热搜可以阻止消息进一步传播.当然这种操作学校再8月18日晚就已经做过了.8月18日该条消息 ...
- 2021.8.13考试总结[NOIP模拟38]
T1 a 入阵曲.枚举矩形上下界,之后从左到右扫一遍.用树状数组维护前缀和加特判可以$A$,更保险要脸的做法是双指针扫,因为前缀和单调不减. $code:$ 1 #include<bits/st ...
- 一文读懂Android进程及TCP动态心跳保活
一直以来,APP进程保活都是 各软件提供商 和 个人开发者 头疼的问题.毕竟一切的商业模式都建立在用户对APP的使用上,因此保证APP进程的唤醒,提升用户的使用时间,便是软件提供商和个人开发者的永恒追 ...
- flyway的使用
1.使用它之前先要了解一些概念: 版本:对数据库的每一次变更可称为一个版本. 迁移:Flyway把数据库结构从一个版本更新到另一个版本叫做迁移. 可用的迁移:Flyway的文件系统识别出来的迁移版本. ...
- iostat主要性能指标
iostat参数很多,日常运维中主要关注一下字段(根据这些字段的输出内容一般就可以确定服务器是否存在IO性能瓶颈) 1.%iowait:CPU等待输入输出完成时间的百分比.该值较高,表示磁盘存在I/O ...