作为国内最早一批提供地图 API 互联网服务商的高德,通过拥抱云计算,最终实现了应用服务可用性上升到 99.99%,同比提升了 5 倍,并且大大降低了企业运维的人力资源成本.本文将站在运维的角度,为大家分析高德如何借助阿里云的力量实现运维自动化.
"企业应当及时抓住云计算技术带来的新机遇,针对自身不足,实施相应的技术和业务变革,拥抱云计算,充分发挥云计算技术在企业管理中的作用,从而增强企业的竞争能力."--曾伟
高德高级运维专家
高德于 2002 年成立,这十几年的发展使得高德产品从简单的车载导航产品应用至整个互联网,如今强大的产品或服务经历了一个漫长的 IT 信息化成长过程,从运维角度的来说,经历了从没有运维团队的浑沌阶段,到开始建立运维团队,专业化运作,再到借助阿里云的力量实现自动化运维的阶段.
采用的阿里云产品
阿里云云服务器 ECS
阿里云负载均衡 SLB
阿里云对象存储 OSS
阿里云云数据库 MySQL 版
阿里云云数据库 Redis 版
阿里云大数据计算服务 MaxCompute
阿里云数据传输服务 DTS
阿里云内容分发网络 CDN
阿里云流计算 Stream Computing
为什么使用阿里云
业务的快速增长下,自建小机房运维模式的痛苦,需要实现自动化运维
需要借助阿里云的弹性伸缩服务,实现基础设施的快速扩展
需要保证大型活动系统的高可靠性
关于 高德
高德是国内领先的数字地图内容,导航和位置服务解决方案提供商.自 2002 年起步以来,经过十二年的不懈努力和艰辛探索,积累了扎实的技术,构筑了地图行业高壁垒,公司在各项业务取得重大发展的同时成为行业翘楚.2010 年,高德提出了向移动互联网转型的战略,依托在汽车导航市场取得的领先地位,在产品,服务和商务模式上继续不断创新,迅速构建起支撑各类产品和服务海量用户的 "地图云服务" 平台,努力实现基于 "四屏一云" 业务构架的 "移动生活位置服务门户" 战略.
高德所面临的挑战--运维之痛
在上云前,高德在运维方面经历了很多的痛苦,比如自建机房带来的运维之痛,高德之前有 7 个小机房零散分布在全国各个地方,但随着业务的快速增长自建小机房模式带来很多问题,包括 IDC 电力,空调,网络都很容易故障,也使得当时需要大量运维人员;同时也面临大量的运维需求,因为运维需要负责 IDC,电力,网络,服务器,OS,数据库(MySQL,Redis,Oracle,Memcache,PG,MongoDB),各种应用软件(Nginx,Apache),开源工具(Jenkins,Puppet),大量的需求使得运维人员的经历分散,产生非常大的压力.另外,有时候因用户激增带来的大流量,加上原本吃紧的带宽等问题,甚至会造成重大活动 / 节日时的宕机.
为什么选择阿里云?高德上云之路
高德在运维方面经历的痛和负重在上云后都得到了根本性的改变,首先基于阿里云实现了统一基础设施的运维,让运维人员不再运维基础设施;同时,阿里云提供的各种云服务有负载均衡,弹性计算 ECS,云数据库 RDS,对象存储 OSS,云数据库 Redis 版,大数据计算服务 MaxCompute 等,运维人员只需要使用好这些服务就可以了,不需要去维护具体的组件.另外,高德经常有大型活动,用户访问量会在某个阶段激增,这时就需基于阿里云的弹性伸缩服务,就能实现快速扩展的基础设施.最后,运维人员只需要专注于业务的性能,架构,故障等核心价值即可.
但是,高德在刚开始上云时,对于熟悉传统数据中心的运维人员有可能不熟悉各种云服务组件,以及高德 IDC 和阿里云并网运行期间,日志实时传输延迟导致实时数据分析会出现延迟的情况.而通过阿里云提供的完善技术,及时的响应,培训支持,快速地解决了遇到的问题,最终运维人员可以很熟练的使用云服务.比如,在高德 MySQL 数据库转阿里云 RDS 的过程中,遇到了数据迁云的问题--数据格式,写的方式,导出 / 导入方式,最后利用阿里云强大的 RDS 直接通过中转区搭建了 DTS 系统,实现了跨网数据库迁移的无缝切换和数据一致性.另外,高德也用到了阿里自研的 DRC 产品(Data Replication Center),支持异构数据库实时同步,数据记录变更订阅服务,为跨域实时同步,实时增量分发,异地双活,分布式数据库等场景提供解决方案.
高德基于阿里云的最佳运维实践
拥抱阿里云所带来的成效
在迁到阿里云上之后,高德地图的应用服务可用性上升到 99.99%,比之前的 7 个小机房提供的服务可用性提升了 5 倍.另外,从以前的每次大型活动系统常崩溃,到国庆出行高峰的运维人员淡定,系统稳若磐石,充分体现了阿里云计算的稳定性.再者,以前高德的新应用上线和扩容,至少得提前 2 个月开始采购服务器,上架,装机,人肉扩容,发布,上阿里云之后,弹性扩缩容基本上在 20 分钟内就完成,新应用上线 10 到 20 分钟内就可以完成资源申请到应用发布上线.
如今,高德所有核心业务系统已经全部放在云上,由阿里云提供计算服务.在具体的运维人员事情方面,使用阿里云的服务即可;异地容灾只需要申请不同地域的云服务,不需要自己去建设机房.安全面方面,阿里云提供了很多服务,比如防攻击(DDos),流量清洗,防病毒,防欺诈,代码扫描等;此外,总结阿里云为高德提供的服务,大概有这几方面,首先是 IaaS (Infrastructure-as-a-Service,基础设施即服务):包含多地机房,网络,巡检等;其次是 PaaS(Platform-as-a-Service,平台即服务):高德使用到的云产品包含弹性计算 ECS,云数据库 RDS,对象存储 OSS,负载均衡 SLB,内容分发网络(CDN),大数据计算服务 MaxCompute 等;最后是 SaaS(Software-as-a-Service,软件即服务):高德自身的系统提供的服务.
整体来说,对于高德运维变化最大的就是运维模式的变化,从原来的 IDC 到网络到数据库等基础服务都要自己维护,变化为使用阿里云的各种云服务,运维人员可以专注于架构,故障,性能等核心能力上,员工的成就感得到了很大的提升,同时运维的人力成本.也就是说,全面云化后,是运维核心价值的转变和变革.高德除了常规导航服务,在上云后,利用阿里云 "数加" 平台强大的计算处理能力,比如阿里云的大数据计算服务 MaxCompute,流计算 Stream Computing 等服务,高德可以做出行线路选择,拥堵大数据,躲避拥堵,城市热点分布,景区推荐,商圈热度,主要是根据用户的定位数据,进行实时的数据挖掘,从而跑出预测模型,实时得到现对用户有用的结果.
关于高德的更多实践详情: 高德运维基于阿里云的最佳实践
云栖社区场景研究小组成员:贾子甲,仲浩.
来源: https://yq.aliyun.com/articles/418897