360是怎样做大规模集群运维的
发布日期:2016-3-3 16:3:2
51CTO WOT 2015移动互联网开发者大会即将于2015年7月24-25日在北京富力万丽酒店隆重召开。本次大会共设八大技术分论坛,分别从产品与设计、平台与技术、创新与创业、移动游戏、算法分析、HTML5、运维安全、新浪微博技术等方面,为广大移动开发者解开技术迷思。为使大家进一步了解本次大会,有针对性地选择课程内容,51CTO记者对即将参加大会演讲的技术专家分别进行专访,为您进行各场演讲精华的新鲜速递。本次大会详细议程见:http://wot.51cto.com/. 【讲师简介】 孔德亮,奇虎360云事业部总监,跨领域技术专家,现任360私有云、公有云(如阿里云)项目负责人。孔德亮2009年加入奇虎360,随着360业务快速发展,他也开始了内部创业之旅,先后负责应用运维、DBA、基础架构、平台开发等工作,通过逐步积累形成了私有云平台。众所周知,运维的工作“脏、苦、累”,一旦出现问题,运维人员似乎永远是那个背黑锅的人,所以,他希望能够将技术产品化,使业务团队借助云平台的力量,缩短研发周期、降低运维成本,同时能让IT技术人员在灵活的操作体验中感受愉悦。 孔德亮 360云事业部总监 以下是51CTO记者对孔德亮老师的访谈实录: 51CTO:请简单介绍您个人的基本情况和从业经历。 孔德亮:我2009年加入360,先后负责运维、DBA、基础架构、平台开发等工作。主导了360运维体系的建设,目前同时负责360私有云、公有云(如阿里云)的工作。 51CTO:请您概述360云平台将运维服务产品化的历程。 孔德亮:传统的运维模式已经不能适应现在互联网的速度,运维工作“脏、累、苦”,为了改变这种现状360运维工作经历了工具化、自动化、平台化、产品化的几个阶段。前三个阶段更多是解决运维自身的痛点。产品化是为了更好的帮助运维、开发、测试、运营实现整体的自动化,将复杂的技术问题简单化,把技术难题转化为鼠标的滑动点击。帮助360的业务线缩短研发周期,降低运维成本。同时也给运维团队更大得发展空间 51CTO:您说过,在整个移动产品开发、运营的过程中,运维是基石。那么业务团队借助360云平台,能够得到哪些支撑和保障?我们主要采用了哪些技术来实现? 孔德亮:我们为业务团队提供的服务大致体现在以下几个方面: 1、信息整合 360云平台实现了从机房,机架,交换机,物理服务器,虚拟服务器,服务器承载功能角色,到运维人员,开发人员,测试人员等产品线关联关系的维护。这为后面我们一系列的智能分析和报警监控等服务提供了稳定丰富的数据来源 2、资源保障 360云平台从多个层面确保不同等级用户能够获取合理有效的资源,首先,我们有一套不断成熟的算法来评估产品在云平台上的服务等级,基于不同的服务等级,我们提供诸如虚拟主机超卖率,机房灾备级别,资源储备率,工单任务流响应时间,报警响应等不同级别的服务。 3、集群管理 1)软件环境,团队工程师针对所有常用软件和公司内部产出的软件,实现了360定制软件仓库,自动封装,实时同步,并为软件仓库封装了基于http的搜索服务更方便的检索信息。 2)命令调度,我们封装了salt-stack的命令模型,实现命令发布的快速响应。并实现了串行、并行、串行阻塞、串行非阻塞等模式,针对不同的运维需求使用不同的调度工具。 3)配置管理,我们使用了puppet作为主要的管控工具,将用户常用的核心文件通过puppet作为分发工具,引入变量或者域名DNS解析等模式来将各种有状态的资源无状态化。充分利用puppet的功能,配置管理工作支持灰度,最大限度减少误操作的可能。另外基于zookeeper开发的Qconf工具也大量推广到开发和运维工作中将机器的配置信息保存在zookeeper的目录节点中,配置变更让订阅者动态获取,解决集中管理和动态更新的问题。 运维支撑和保障工作有很多,比如日志收集,故障处理和切换,机器监控,值班系统,工单系统等等,我们也都有很多想法和实践的经验,就不一一列举了 51CTO:结合您的实际经历,您认为目前云计算平台架构运维面临的挑战是什么?您的技术团队是如何应对的? 孔德亮:任何技术平台都是一个成功产品的基石。我们做的很多技术方案是为了提供一个高效稳定,能够为产品的成功提供一条高速通道。但是生态环境在变化,现在都再提互联网+和万物互联,这种生态和产品形态的变化势必也会引发技术创新。技术团队需要有敏锐地嗅觉,提早准备。 51CTO:移动应用开发的周期非常短暂,为使开发的应用快速上线,开发团队肯定会不同程度依赖各种云技术。请您具体谈一下,云(阿里云)计算从哪些方面影响着移动应用开发? 孔德亮:我觉得这个问题从移动应用开发常见的痛点来着手分析比较合适 1、效率问题 开发团队在拼命实现产品提出的需求的同时,可以很少或者几乎不去考虑诸如消息队列服务,消息推送服务,短信通知服务,邮件通知服务,内容加速服务等的问题,借助成熟云计算平台的技术成果灵活使用,稳定性、易用性都比开发者自己搭建速度要快。让开发者专注于实现业务逻辑从而缩短开发周期,避免错过市场机会 2、服务质量问题 移动应用开发的特点要求网络质量相对优质,智能CDN能选择最近访问,监测用户访问性能等需求;另外,要求相对成熟的系统级、服务级、接口级的监控和报警,能够实现准实时的日志传输分析体系,这些技术在业务初创期完全可以直接使用云上提供的各种服务,在产品稳定后再做好对应的业务逻辑层面的监控分析。 3、成本问题 孵化阶段投入较少,导致爆发阶段资源跟不上,后期活跃度下降资源浪费问题 。移动应用有自己的生命周期,云计算能够根据移动业务的发展随时增减服务器,灵活升降主机配置,按照需求增减带宽,基于热度开关服务区域,并通过智能DNS进行快速切换,如果移动应用开发者能够在开发阶段从架构体系上实现功能模块的解耦和去状态化等前期规划,基于当前主流云计算服务分钟级的扩容性能,完全能够满足请求量飞速爆发时候的动态扩展,同时由于云计算大多采用按需付费,按量扣费的模式,对移动应用的前、中、后期的资源投入也达到一个相对经济的状态。 51CTO:您的技术分享将对移动开发者带来哪些帮助和启示? 孔德亮:本次分享将结合360私有云建设经验。介绍如何进行集群管理、资源动态调配、故障灾备等经验;同时结合移动产品运维经验,介绍如何为开发者提供轻量化运行环境,为开发者助力。 来自谷歌、腾讯、京东、360、新浪微博、乐蜂网、魅族等企业的技术专家汇聚一堂,只为助你打开实现梦想的那一扇窗。盛会虚位以待,只等你快马加鞭! 上一条: 移动互联网安全运维管理体系构建 下一条: 原腾讯云架构师谈可扩展系统的入门基础
|