为此,CSDN记者日前采访了国内最早一批提供地图API互联网服务商高德的高级运维专家曾伟,从运维的角度分享了高德上云的背后故事和带来的好处、云上架构、运维核心价值的变化等,最终实现了应用服务可用性上升到99.99%,同比提升了5倍,以及运维人员从原先的45人降到16人。他也表示,企业应当及时抓住云计算技术带来的新机遇,针对自身不足,实施相应的技术和业务变革,拥抱云计算,充分发挥云计算技术在企业管理中的作用,从而增强企业的竞争能力。
高德的IT化信息化之路
高德于2002年成立,这十几年的发展使得高德产品从简单的车载导航产品应用至整个互联网,目前提供的产品或服务主要有基础服务:定位、搜索、线路规划、导航、步行、公交;O2O:酒店、美食、景点等;车联网:AMAP AUTO车机版本、无人驾驶;高德大数据:实时路况,躲避拥堵等。
但是如今强大的产品或服务也经历了一个漫长的IT信息化成长过程,从运维角度的来说有以下几个阶段:
没有运维团队的浑沌阶段。2002 - 2007年是初级的IT阶段,数据生产的服务器由IT部门负责,IDC的服务器是研发人员负责,主要用于地图数据的生产,线上的地图只有一小部分;
开始建立运维团队,专业化运作。2007 - 2014年IT信息化主要分为IT和运维,IT则负责办公网的产品业务,包括办公电脑、打印机、办公流程的软件;而运维全面负责公司IDC机房、服务器、业务,运维整体还处于人肉时代,运维服务效率较低;
2014年7月 - 至今,云上的高德实现自动化运维。此阶段高德开始上云,运维逐步迈向自动化的时代,运维人员的故障处理能力、性能等进一步提升等。
高德的数据采集、加工、整合过程
从最初的数据采集、合成、地理等变化到今天的车辆定位系统,高德的数据加工与整合主要分为这几个阶段:
初级阶段:采集车安装摄像头和GPS、实景采集、邮寄视频光盘等原始的方式;而内部作业员再通过看录像、轨迹进行数据分析和数据制作,从而实现3个月一次的数据更新。在这一阶段是全手工模式,互联网化较低;
系统阶段:采集车开始使用采集系统软件,再在晚上通过网络回传,脱离光盘作业的形式;之后,通过完善的编辑工具、检查工具,实现了高的质量控制和快的流水线速度,从而进入到数据加工厂阶段;
平台化阶段:上线高精采集车采集全景、分米级高精轨迹,以及众包的形式进行社会化采集;内业工作平台化,数据流转任务流转平台化,而且全流程有监控,最终进入到流水线生产阶段;
自动化阶段:未来的采集将全面转向众包化,实现自动回传,而内业的自动化水平高度提升,通过影像识别、大数据分析、自动数据融合等技术提升自动化生产的水平,这也是高德当下努力的方向。
目前,高德主要有地图、导航两个App产品,以及PC地图,同时还开放了API服务,方便移动开发者更好地为用户提供高质量基于位置的服务。
运维之痛
在上云前,高德在运维方面经历了很多的痛苦,比如自建机房带来的运维之痛,高德之前有7个小机房零散分布在全国各个地方,但随着业务的快速增长自建小机房模式带来很多问题,包括IDC电力、空调、网络都很容易故障,也使得当时的运维达到40多人;同时也面临大量的运维需求,因为运维需要负责IDC、电力、网络、服务器、OS、数据库(MySQL、Redis、Oracle、Memcache、PG、MongoDB)、各种应用软件(Nginx、Apache)、开源工具(Jenkins、Puppet),大量的需求使得运维人员的经历分散,产生非常大的压力。另外,有时候因用户激增带来的大流量,加上原本吃紧的带宽等问题,甚至会造成重大活动/节日时的宕机。
基于阿里云的最佳运维实践
但是,高德在刚开始上云时,对于熟悉传统数据中心的运维人员有可能不熟悉各种云服务组件,以及高德IDC和阿里云并网运行期间,日志实时传输延迟导致实时数据分析会出现延迟的情况。而通过阿里云提供的完善技术、及时的响应、培训支持,快速地解决了遇到的问题,最终运维人员可以很熟练的使用云服务。比如,在高德MySQL数据库转阿里云RDS的过程中,遇到了数据迁云的问题——数据格式、写的方式、导出/导入方式,最后利用阿里云强大的RDS直接通过中转区搭建了DTS系统,实现了跨网数据库迁移的无缝切换和数据一致性。另外,阿里云技术专家毛一鸣也介绍称,高德也用到了阿里自研的DRC产品(Data Replication Center),支持异构数据库实时同步,数据记录变更订阅服务,为跨域实时同步、实时增量分发、异地双活、分布式数据库等场景提供解决方案。
在迁到云上之后,高德地图的应用服务可用性上升到99.99%,比之前的7个小机房提供的服务可用性提升了5倍。另外,从以前的每次大型活动系统常崩溃,到国庆出行高峰的运维人员淡定、系统稳若磐石,充分体现了阿里云计算的稳定性。再者,以前高德的新应用上线和扩容,至少得提前2个月开始采购服务器、上架、装机、人肉扩容、发布,上阿里云之后,弹性扩缩容基本上在20分钟内就完成,新应用上线10到20分钟内就可以完成资源申请到应用发布上线。
如今,高德所有核心业务系统已经全部放在云上,由阿里云提供计算服务。在具体的运维人员事情方面,他们不用再运维基础设施——IDC、网络、服务器等;各种数据库、缓存、负载均衡、发布工具都不用自己去维护,使用阿里云的服务即可;异地容灾只需要申请不同地域的云服务就好了,不需要自己去建设机房。安全面方面,阿里云提供了很多服务,比如防攻击(DDos)、流量清洗、防病毒、防欺诈、代码扫描等;毛一鸣总结阿里云为高德提供的服务大概有这几方面,首先是IaaS (Infrastructure-as-a-Service,基础设施即服务):包含多地机房,网络,巡检等;其次是PaaS(Platform-as-a-Service,平台即服务):高德使用到的云产品包含弹性计算ECS、云数据库RDS、对象存储OSS、负载均衡、内容分发网络(CDN)、大数据计算服务MaxCompute(原ODPS)等;最后是SaaS(Software-as-a-Service,软件即服务):高德自身的系统提供的服务(如上图所示)。
整体来说,对于高德运维变化最大的就是运维模式的变化,从原来的IDC到网络到数据库等基础服务都要自己维护,变化为使用阿里云的各种云服务,运维人员可以专注于架构、故障、性能等核心能力上,员工的成就感得到了很大的提升,同时运维人员从原先的45个降到16个。也就是说,全面云化后,是运维核心价值的转变和变革。
最后,曾伟也介绍说,高德除了常规导航服务,在上云后,利用阿里云“数加”平台强大的计算处理能力,比如阿里云的大数据计算服务MaxCompute(原ODPS)、流计算Stream Computing等服务,高德可以做出行线路选择、拥堵大数据、躲避拥堵、城市热点分布、景区推荐、商圈热度,主要是根据用户的定位数据,进行实时的数据挖掘,从而跑出预测模型,实时得到现对用户有用的结果。
如果预测某天下午四点的路况,就是先拿到历史数据,每天训练做一个离线的历史回归、预测模型,再加上当天的出行、天气、节假日、突发情况等实时信息,再对线上模型进行调整优化,从而达到最优的预测。而在面对未来的智能交通和车联网,高德基于车联网推出了AMAP AUTO车机版本,解决了传统车载系统的数据更新慢、用户体验差、实时路况缺失、不够智能化的问题,长期来说无人驾驶也是一个非常重要的方向,但在车联网的背后,也是高德充分利用了云计算大数据的能力。