【GITC】搜狐云台陈伟:基于docker的自动化运维管
11月19日,GTIC大会在北京国家会议中心如期举行。在会场,搜狐云台的技术负责人陈伟向与会嘉宾介绍了搜狐企业级业务编排运维管理系统——DomeOS。
陈伟进行了题为《基于docker的自动化运维管理架构与实践》的技术分享,他指出,互联网公司随着业务的发展,往往会出现服务器环境越来越复杂,管理依赖困难等问题。这些问题导致运维压力大,开发、测试、运维的整体工作效率大打折扣,团队竞争力下降。行业的问题积累,有时需要新技术的出现才能解决。Docker的横空出世,让人们看到了build、ship、run一体化的希望,而DomeOS正是希望基于docker 的容器化技术,解决用户从代码自动编译打包,到线上运行维护的全套需求。
以下是陈伟的技术分享内容:
● 专业可靠的技术团队
DomeOS的技术团队拥有多年的云存储经验,国内领先的图片处理技术以及CDN分发经验。团队经营的主打产品“搜狐云台”拥有业内顶尖的图片压缩技术,为搜狐内部产品和几十家外部企业级用户带来了极致的用户体验。搜狐云台除了可靠地云存储服务、顶尖的图片处理技术,还有人脸检测、黄反图识别、广告图识别等方面的研究。
陈伟表示“我们是帮人解决问题的,存储和图片的需求通过搜狐云台得到了很好的解决,但是我们也发现了流程中很多新的问题。”
● 传统运维模式的问题
陈伟在会场和大家分享了搜狐云台团队在多年云存储开发运维过程中遇到的问题。
1. 随着业务快速发展,服务器环境越来越复杂,各种紧急上线,技术债务,临时版本的程序,脚本等,可能长期得不到清理,最终引发问题
2. 技术平台快速发展,管理依赖是件很麻烦的事,而且影响运维和开发的沟通
3. 环境统一问题,经常导致上线失败。开发、测试、运维协作困难。
4. 监控体系不断重构,难以满足需求
5. 规模小无需自动化,而规模大后再自动化又容易引起问题。
6. 十分依赖经验丰富的运维人员
● Docker的优势和问题
陈伟总结docker的优势有:
1. Docker的先进理念:“build、ship、run”。把应用的构建、分发、运行的流程标准化、规范化。
2. 私有的registry天然就是一个分发仓库,名称+tag的方式也很有利于版本管理,回滚等。
3. 单进程模型重新梳理了应用的意义。一个应用天生就应该是一个进程为单位的单元。
4. docker的资源控制和自包含性综合起来,成为了一个很有前景的功能,更加适合使用动态的资源调度的方式来部署服务。
Docker带来曙光的同时,陈伟表示,docker作为一个新的技术,仍然存在以下问题:
1. 目前还没看到十分令人满意的网络模式
2. 传统应用不一定能很好地迁移到docker中
3. 开发人员有较大的学习成本,需要较长时间适应docker
4. Docker版本迭代较快,会带来不兼容等问题,而升级docker又需要把上面的服务停掉
5. 在国内做开发都会遇到的问题,比如:墙、构建性能、分发性能等等
陈伟还对比了docker和虚拟机的特点,他着重强调了一点:虚拟机无关应用,是基础架构层面的事情,开发人员不关心这一点;而docker是应用层面的,开发运维的思路都会随之发生变化。
● DomeOS设计
DomeOS的最主要的理念是“开箱即用”。陈伟表示:“我们不希望DomeOS是一个和我们自身业务结合很紧密的东西,我们把它定位为一个纯工具。”DomeOS团队希望今后的各个使用者能够轻松上手,开箱即用。
除了开箱即用,DomeOS还具有:开发自运维、全流程全视图、追求效率和利用率的特点。
DomeOS主要的功能有:集群管理、开发测试、发布回滚、运维监控和应用商店。
集群管理改造自kubernetes,使用了pods等概念。多数据中心统一管理,自动化调度不超出数据中心范围。此外,DomeOS区分生产环境和开发测试环境,并且有权限要求。
持续集成是DomeOS的一个创新点,没有使用jenkins等工具,从头设计。持续集成功能使用github、gitlab的API设置hook,获取代码。在开发过程中搜狐云台的技术团队使用了搜狐云台的scs云存储服务,提升了开发效率和服务性能。
应用商店是DomeOS另一个具备鲜明的docker理念的功能。它能够把一个复杂的分布式系统描述清楚,并能够在可视化界面上进行配置,一键部署。此外,能够实现测试环境直接搭建,生产环境依赖注入,大大提升测试和生产的效率。此外,陈伟还和与会嘉宾分享了DomeOS的网络和磁盘相关的特点以及开发过程中所遇到的问题。
DomeOS还在持续迭代和实践的过程中,搜狐云台团队希望docker的爱好者和从业者能够关注DomeOS,希望与更多的docker团队交流分享。