新闻中心News

业务范围
在线留言
案例分析

站内搜索Search

当前位置:首页>新闻中心公司新闻

提高无忧时代IT服务阅读次数 [254] 发布时间 :2017-4-12
 看百度外卖如何通过软件工程的思想构建运维平台

百度外卖如何用了不到一年的时间,就完成了11个业务平台,6个通用服务,11+ golang lib库,满足了30+业务服务的对接,实现了对公司spinoff和业务快速迭代一个很好的的基础支撑。张建坦言:“这一切都源于我们采用了SRE这一方法论。SRE是Site Reliability Engineer网站可靠性工程师的简称,它由谷歌提出,是其在运维模式上的全新探索,SRE就是用软件工程师的方法和手段,招软件工程师来解决运维的难题,也是 DevOps 思想在运维方面的真正实践。”

他指出,DevOps注重运维流程自动化,而SRE更注重可靠性,系统性思维。与DevOPS比起来,SRE更广泛更有深度,因为可靠性从上至下都可以去做,永无止境。另外,SRE的一套方法论更完善。对很多人来说DevOps和SRE做的事情是一样的,只是一个名词而已,但是其侧重点不一样,方法论基础完全不一样。SRE在运维实践上的一个亮点是构建平台化的服务体系,可以平衡服务不可用以及产品快速创新、提高运维效率之间的风险。因此,百度外卖在2016年成立了专门SRE团队,为百度外卖Spinoff提供的全面技术支持与平台开发,SRE团队打造了运维一站式服务平台Pacific和数据展示与报警平台Atlantic两大技术平台。

Pacific 平台导航界面

Pacific 平台导航界面

Pacific平台网络监控界面

Pacific平台网络监控界面

在平台的建设过程中,考虑到运维需要管理各种资源,依赖服务复杂、部署和执行分散、流程管控环节多等特点,将平台组成分为业务逻辑和通用服务。建立统一技术栈,采用开发效率、执行效率和可维护性高的GO语言,最终做到模块功能可复用,代码可复用,编程通用性。

平台构建阶段

平台构建阶段

在Spinoff的期间,团队和平台从无到有. 开发需求量大,人员不足的情况下,实践了一些开发思路,如:权衡业务需求和开发需求达到双赢的目的。

一方面,为了快速实现并加强平台的扩展性,采用微服务构建方式. 通过服务与服务之间单向访问,不提供回调模式,解决微服务调用复杂度问题;采用 golang+ 二进制内嵌静态资源的方式,解决微服务部署复杂度问题。另一方面,为了增加团队和技术栈的成长性, 引入了很多开源的思想和模块. 如:灵活利用K8s的APIServer工作方式实现配置中心等,深度定制Open-Falcon+Grafana满足数据报警与展示的需求.

采访最后,张建表示,百度外卖在运维过程中积累了丰富经验,他将带到WOTA2017全球架构与运维技术峰会上:“我将分享百度外卖如何在不到1年的时间内完成大量的平台开发,满足业务迁移与迭代的需求的最佳实践。主要从如何提取通用性、抓住哪些核心点、如何保证扩展性这几个方面进行阐述。比如:如何在众多需求中找到最核心的,如何优先解决通用性问题,提供通用性解决方案和服务避免重复工作。”

无忧时代深圳IT外包运维团队也将借鉴这种办法,争取把为企业的IT服务做的更好!