一体数科姚欣锐:车联网云平台构建实践



  • 在新一轮的创新浪潮中,物联网正在高速发展。由于物联网行业的特殊性以及设备数量的爆炸式增长,对物联网的IT服务架构提出了更高的要求。得力于云计算对地理分散的各种设备协同合作的良好支持,物联网的云端化成为常态。将各种设备所提供的服务结合起来并可靠地支持大量用户应是物联网应用的核心要求,而这正是云计算所擅长的。

    下文是一体数科运维工程师姚欣锐在QingCloud IoT沙龙现场演讲速记整理。

    一体数科成立于2013年,是一家专注于车联网、车主生活服务、用车生活服务等领域的创新科技型互联网企业。姚欣锐分享的话题是『智能生活,车网互联』,他以一个运维人的身份讲述了在实际生产环境中所遇到的一些坑,以及构建云平台的实践经验。

    姚欣锐的分享主要分成四个部分。首先,介绍了一体数科平台的业务需求、项目背景;第二,在众多云产品当中为什么选择了青云QingCloud;第三,分享一下一体数科如何在云中去构建IT平台系统;第四,对未来的一些思考。

    缘起车联网

    首先介绍一下车联网,是指利用先进的传感技术、网络技术、计算技术、控制技术、智能技术,对车辆、道路和交通进行全面感知,实现多个系统间大范围、大容量数据的交互,对每一辆汽车进行全程跟踪,对每一条道路进行交通全时空控制,以提供行车安全和交通效率为主的网络服务与应用。

    车联网.png

    一体数科主要专注于车队管理、物流领域,所以如上图所示,一体数科的车联网云平台生态链中的目标客户会是一些企业客户,像东部公交、西安交运等等一些大的车队、保险公司、服务提供商等等。

    目前一体数科的产品有GPS、OBD等多种终端设备,通过这种车载的终端可以收集车辆的数据,把驾驶行为、油耗、GPS等等数据收集到统一的平台中。同时一体数科车联网综合服务平台制定了一套简单高效的通用标准协议,使得第三方的各类终端设备都可以通过标准协议,快速稳定地接入云平台,保障数据的稳定性、标准性、规范性,更快速、完整地覆盖业务需求。

    物联网可能有几百万个终端在不停地收集数据,这些数据必须安全地存储起来以便其他人或者系统使用,而且物联网的很多终端设备是基于长连接的。长连接的特点,数据传输快、数据状态实时,这些特性对平台是有一些要求的。要适应这种特性,我们的平台就需要既能支持这种TCP协议,又能支持大并发。我们就需要负载均衡的产品。什么样的负载均衡的产品能满足需求?我们就需要去做一些选择。

    首先,企业的IT基础设施的发展能够跟得上物联网的需求。 我之前已经讲过了传输数据对一体数科来说不是个问题,问题在于将数据载入云端之后如何进行不同类型的处理。其次,车联网的数据量是非常大的,GPS轨迹、油耗、驾驶行为这些数据的量是非常大的,需要一个可靠的集群、一个可动态扩展的数据库、一个稳定的网络环境,只有这样才能承载车联网的业务。

    架构.png

    如上图所示,我们目前使用统一的数据中心管理平台来在同一集群上运行Kafka和Cassandra这样的框架。当然平台的搭建也是基于云服务的方式,有IaaS、PaaS和SaaS。这样的好处之一就是进行不同需求处理的时候无需将数据进行移动,降低了I/O的开销,提高了实时处理和分析的性能。现在的业务模式是终端去采集、收集数据,然后在平台进行一个分析,展现到WEB端和APP端,来为客户提供车队管理的解决方案。

    为什么选择青云QingCloud

    终端需要一个负载均衡器来承受并发、收集数据。负载均衡分为硬件和软件,硬件有F5、A10等等,价格非常昂贵,对于创业公司来说,基本上不会考虑这样的硬件产品。软件的负载,有LVS等等,LVS主要用于服务器集群的负载均衡,在解决第三层负载上表现性能优秀。但是LVS有一个弊端,它的配置是基于文件配置的,如果后端主机特别多或者服务特别多,配置会非常复杂,而且不好管理、容易出错。另外一个问题是LVS没有办法做到粘性,无法获取终端的真实IP,不便于继续做后面的分析。基于这种背景和业务条件,一体数科选择在青云QingCloud公有云上去部署IT系统。

    当时在选择公有云的时候,一体数科对比了几家云服务提供商,发现在VPC这一块,别的厂家基本上是空缺、不完善的,而青云QingCloud是最先推出基于SDN的VPC服务,这就等于我们在QingCloud公有云当中可以构建私有云,组建复杂的网络拓扑。同时,由于QingCloud做的是一个100%的用户隔离,这样就可以解决安全方面的隐患。

    我们经过一段时间的使用和体验之后,发现青云QingCloud在部署和变更、响应方面都比其他服务商快的多。部署快,在资源的创建上面非常快,基本上是秒级的反应,6秒创建一个主机,这是其他服务商做不到的;变更快, 是在一些路由器的配置变更上面非常快;响应快, 主要体现在工单方面,基本上有什么问题,下一个工单很快就会得到响应;标准化, QingCloud的接口非常的标准、统一。一体数科在QingCloud上一些日常的操作,基本上可以通过API来完成,然后集成到自身的运维平台上面。

    最后,特别强调一下青云QingCloud的负载均衡。QingCloud把负载均衡抽化成三个概念,负载均衡器本身、监听器和后端主机。当创建一个负载均衡器的时候,监听器和后端主机都一起配置了。这样有什么好处呢?用户可以在不需要后端主机做任何变更的情况下面完成负载均衡器的配置。同时,QingCloud负载均衡器可以直接获取客户端的真实IP,解决了一个技术难题。我觉得QingCloud做到这一点,对负载均衡技术来说是很大的突破,这也是一体数科选择QingCloud一个很重要的原因,因为它特别适合物联网的业务场景。

    构建基于青云QingCloud的IT架构系统

    介绍完了为何选择青云QingCloud,接下来详细的讲一下一体数科是怎么样在QingCloud上构建IT系统的。

    云中构建平台.png

    好的架构不是设计出来的,而是慢慢演进出来的。如图所示,是我们在QingCloud上的一些应用部署架构。通过虚拟的防火墙之后才能到达路由器,在二层上面做了网络隔离。终端、用户和第三方的需求,都集中到负载均衡器上面,然后由负载均衡器到路由器,转发到后端去完成请求。这样的设计的好处就是整个业务非常的平滑,扩展后端完全不会影响业务,当然这也依靠QingCloud的自动伸缩的功能。数据层,我们用的也是QingCloud的产品,不需要去考虑很多DB上的运维。

    DevOps.png

    接下来分享一下我们是怎么在QingCloud上面做自动化运维的。持续集成是在本地一个机房内部进行操作,除了将代码在本地进行打包,然后再更新到服务器端,还通过青云QingCloud的API来获取一个负载均衡器的后端主机列表,然后再把应用包更新到相对应的主机上,完成线上的一个发布过程。第二步,就是横向的扩展。横向扩展主要是应用QingCloud自动伸缩功能,去触发一个条件,就会自动进行创建和调整资源,然后执行。可以利用API对QingCloud的资源进行查看、修改和创建,当然也可以使用青云应用中心第三方的服务来完成这样的操作,比如说FIT2CLOUD(相关文章阅读)。

    未来的一些思考

    我们会继续将新的需求部署在云上,公有云服务可以更好的协助创业公司将注意力集中在自身的业务上,帮助创业公司更好的发展。 同时期待QingCloud平台能够在PaaS平台和API接口服务方面实现更多突破, 为我们用户提供更丰富的资源调度。

    相关技术文章:

    火热的DevOps如何在你的团队落地

    如何在同一平台管理你所有的云端资源?

    在云计算平台上部署Spark实践分享


登录后回复
 

与 青云QingCloud 社区 的连接断开,我们正在尝试重连,请耐心等待