在新一轮的创新浪潮中,物联网正在高速发展。因为物联网行业的特殊性以及设备数量的爆炸式增加,对物联网的IT服务架构提出了更高的要求。得力于云计算对地理分散的各类设备协同合做的良好支持,物联网的云端化成为常态。将各类设备所提供的服务结合起来并可靠地支持大量用户应是物联网应用的核心要求,而这正是云计算所擅长的。数据库
下文是一体数科运维工程师姚欣锐在QingCloud IoT沙龙现场演讲速记整理。后端
一体数科成立于2013年,是一家专一于车联网、车主生活服务、用车生活服务等领域的创新科技型互联网企业。姚欣锐分享的话题是『智能生活,车网互联』,他以一个运维人的身份讲述了在实际生产环境中所遇到的一些坑,以及构建云平台的实践经验。安全
姚欣锐的分享主要分红四个部分。首先,介绍了一体数科平台的业务需求、项目背景;第二,在众多云产品当中为何选择了青云QingCloud;第三,分享一下一体数科如何在云中去构建IT平台系统;第四,对将来的一些思考。服务器
首先介绍一下车联网,是指利用先进的传感技术、网络技术、计算技术、控制技术、智能技术,对车辆、道路和交通进行全面感知,实现多个系统间大范围、大容量数据的交互,对每一辆汽车进行全程跟踪,对每一条道路进行交通全时空控制,以提供行车安全和交通效率为主的网络服务与应用。网络
一体数科主要专一于车队管理、物流领域,因此如上图所示,一体数科的车联网云平台生态链中的目标客户会是一些企业客户,像东部公交、西安交运等等一些大的车队、保险公司、服务提供商等等。架构
目前一体数科的产品有GPS、OBD等多种终端设备,经过这种车载的终端能够收集车辆的数据,把驾驶行为、油耗、GPS等等数据收集到统一的平台中。同时一体数科车联网综合服务平台制定了一套简单高效的通用标准协议,使得第三方的各种终端设备均可以经过标准协议,快速稳定地接入云平台,保障数据的稳定性、标准性、规范性,更快速、完整地覆盖业务需求。并发
物联网可能有几百万个终端在不停地收集数据,这些数据必须安全地存储起来以便其余人或者系统使用,并且物联网的不少终端设备是基于长链接的。长链接的特色,数据传输快、数据状态实时,这些特性对平台是有一些要求的。要适应这种特性,咱们的平台就须要既能支持这种TCP协议,又能支持大并发。咱们就须要负载均衡的产品。什么样的负载均衡的产品能知足需求?咱们就须要去作一些选择。负载均衡
首先,企业的IT基础设施的发展可以跟得上物联网的需求。 我以前已经讲过了传输数据对一体数科来讲不是个问题,问题在于将数据载入云端以后如何进行不一样类型的处理。其次,车联网的数据量是很是大的,GPS轨迹、油耗、驾驶行为这些数据的量是很是大的,须要一个可靠的集群、一个可动态扩展的数据库、一个稳定的网络环境,只有这样才能承载车联网的业务。框架
如上图所示,咱们目前使用统一的数据中心管理平台来在同一集群上运行Kafka和Cassandra这样的框架。固然平台的搭建也是基于云服务的方式,有IaaS、PaaS和SaaS。这样的好处之一就是进行不一样需求处理的时候无需将数据进行移动,下降了I/O的开销,提升了实时处理和分析的性能。如今的业务模式是终端去采集、收集数据,而后在平台进行一个分析,展示到WEB端和APP端,来为客户提供车队管理的解决方案。运维
终端须要一个负载均衡器来承受并发、收集数据。负载均衡分为硬件和软件,硬件有F五、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,接下来详细的讲一下一体数科是怎么样在QingCloud上构建IT系统的。
好的架构不是设计出来的,而是慢慢演进出来的。如图所示,是咱们在QingCloud上的一些应用部署架构。经过虚拟的防火墙以后才能到达路由器,在二层上面作了网络隔离。终端、用户和第三方的需求,都集中到负载均衡器上面,而后由负载均衡器到路由器,转发到后端去完成请求。这样的设计的好处就是整个业务很是的平滑,扩展后端彻底不会影响业务,固然这也依靠QingCloud的自动伸缩的功能。数据层,咱们用的也是QingCloud的产品,不须要去考虑不少DB上的运维。
接下来分享一下咱们是怎么在QingCloud上面作自动化运维的。持续集成是在本地一个机房内部进行操做,除了将代码在本地进行打包,而后再更新到服务器端,还经过青云QingCloud的API来获取一个负载均衡器的后端主机列表,而后再把应用包更新到相对应的主机上,完成线上的一个发布过程。第二步,就是横向的扩展。横向扩展主要是应用QingCloud自动伸缩功能,去触发一个条件,就会自动进行建立和调整资源,而后执行。能够利用API对QingCloud的资源进行查看、修改和建立,固然也可使用青云应用中心第三方的服务来完成这样的操做,好比说FIT2CLOUD(相关文章阅读)。
咱们会继续将新的需求部署在云上,公有云服务能够更好的协助创业公司将注意力集中在自身的业务上,帮助创业公司更好的发展。 同时期待QingCloud平台可以在PaaS平台和API接口服务方面实现更多突破, 为咱们用户提供更丰富的资源调度。
相关技术文章: