3月12日,又拍云Open TalkNO.29“云上开发与运维最佳实践”在上海顺利结束
优维科技CTO黎明、bilibili技术总监毛剑、又拍云运维总监邵海杨,围绕高效运维、微服务化下运维平台构建,系统架构等话题与大家展开探讨,为现场以及观看活动直播的开发者们带来一场精彩的技术盛宴。
DevOps:宁花机器一分,不费程序员一秒
△又拍云运维总监邵海杨
又拍云运维总监邵海杨分享了DevOps在又拍云的实践,他认为DevOps的本质是弹性/无关性和不可变性。
● 弹性(横向扩展,负载均衡,资源互用,编排回滚)
● 无关性(硬件,系统,网络,抚平差异,皆面向服务)
● 不可变基础设施(虚拟化,容器化,SDN,随取随用)
基于本质他提出“DevOps的八荣八耻”,并认为DevOps的落地需要很大的成本,一定要自上而下的推进。
第一:以可配置为荣,以硬编码为耻。可配置包括本地配置;集中配置,动态生成;环境变量;服务自动发现,自动生成四种方式。
第二:以互备为荣,以单点为耻。又拍云的四种做法是:无状态/负载均衡;无共享/消息队列;松耦合/异步处理;分布式/集群协作。
第三:以随时重启为荣,以不能迁移为耻。Pet-cow故障是常态,要做好随时能覆盖故障的准备。
第四:以整体交付为荣,以部分交付为耻。又拍云的云存储服务全部用真机,这样可以进行资源统一调度分配。
第五:以无状态为荣,以有状态为耻。要擅于利用公共资源池(云服务/容器云/弹性云),不要把所有的鸡蛋都放在同一个篮子里。
第六:以标准化为荣,以特殊化为耻。又拍云标准化的三个手段:统一输入、输出(git/ansible);统一流程控制(yaml/playbook);抽象底层设计-复用组件(函数库)。
第七:以自动化工具为荣,以手动+人肉为耻。对于公有云服务来说可靠性最为重要,一定要注意用程序自动化生成,提高效率。
第八:以无人职守为荣,以人工介入为耻。要进行自动化运维何监控常态化操作。
如何构建面向微服务的运维平台
△优维科技CTO黎明
优维科技CTO黎明主要分享了微服务架构特点和如何构建面向微服务的运维平台等内容。他认为巨石架构就是把所有的大脑打包在一起,以CS架构的程序为代表。面对互联网化“多、快、好、省”的使用场景,巨石架构面临诸多挑战,这意味着业务系统架构也必然往“微服务”化的方向去走。在“微服务化”的场景下,运维平台不可能独善其身。需要提高平台扩展能力,增强整个平台的灵活性。
△面向微服务的运维平台
如何伴随公司业务的发展或者未雨绸缪先做架构的优化和规划?黎明认为可以从以下三点着手:
● 技术选型。微服务通常意味着一个异构的架构,做这样的平台会用到多种语言如JSON、JAVA、PSP等,这些语言必须能够很好的兼容,所以协议的选择非常关键。
● 微服务的规划。包含单一职责原则,明确发布接口,独立部署、升级、扩展和替换三块内容。
● 平台构建。包括构建管理和任务管理。
bilibili监控体系:从巨石系统到微服务化
△bilibili技术总监毛剑
bilibili早期发展快速,采用的是巨石系统。bilibili技术总监毛剑分享他从研发和监控角度对系统架构的思考和展望,他们把巨石系统进行拆分,逐步变成微服务化的架构,希望做到各个系统更加独立完善,各司其职。
● 业务层:业务指标,如注册成功率、投稿成功率,实时关注业务情况;
● 应用层:“端”监控,链路层监控,日志,异常,通过端上采集数据上报才得到;
● 系统层:网络、 IDC、CDN、中间件、数据库。
△bilibili微服务化监控系统分层
毛剑认为把所有的监控系统全部打通到一个系统非常困难,所以bilibili没有尝试打造一个非常庞大的系统,而是分成一块块,比如:Misaka专注“端”监控这一件事情。然后借鉴谷歌的Trace概念将全业务系统串联起来,并通过Sky eye来察看所有的问题。举例来说,假如首页有个故障,前端会上报带Trace ID到Misaka,Misaka可能就标红,接着可能需要研发同学看一下,结果发现是另外一个ELK出了问题。
从研发的角度来看待监控系统,毛剑认为报警很重要。首先需要及时报警,出问题能第一时间得知;其次需要正确报警,避免误报;最后需要有报警规划,报警如何做收点。总的来说,做好一整套监控体系,需要把他们拆分成非常小的系统,最后分而治之。
虽然天公不作美,活动当天下午上海大雨磅礴,但开发者们依旧热情奔赴这场我们用心准备干货的约会,Open Talk 将继续用更多干货回馈大家,我们下一站广州见!
Open Talk 唯品会专场——如何打造高性能高可用的电商平台
活动时间
2017年03月25日13:30—18:00
活动场地
广州市越秀区东风东路733号羊城同创汇印刷楼9楼路演中心
嘉宾及分享主题
活动报名请点击「阅读原文」
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。