写点什么

百度技术沙龙第 14 期回顾:大型互联网产品的运维实践(含资料下载)

  • 2011-06-02
  • 本文字数:2731 字

    阅读完需:约 9 分钟

在 5 月 28 日百度主办,InfoQ 策划组织实施的第 14 期百度技术沙龙活动上,来自百度​的运维​部技术委员会主席付晔以及腾讯产品运维副总监​赵建春分别分享了​各自公司运维实践​的相关话题,包括自动化运维平台以及速度与成本共赢的运维实践​等。本文针对他们各自的分享做简单回顾,同时提供相应的资料下载。

主题一:自动化运维平台让万台服务器共舞视频,MP3 和 Slides 等资料下载

在​百度运维部技术委员会主席伏晔的演讲中,先是从运维面临的挑战说起,在企业运维工作中,核心的目标是保证服务持续稳定的高效运行,目前主要面临的挑战有:

  • 突发的流量变化
  • 复杂环境的关联影响
  • 快速迭代的开发模式
  • 运维效率、运维质量以及成本之间的平衡

紧接着在自动化运维技术的部分,伏晔分享了百度现有的运维技术框架。从架构图中不难看出,运维机制建立在运维标准之上,同时,监控管理、安全控制和灾难管理贯穿于整个运维活动的始末。此外,在分布式集群和传统集群的支持下,通过上层的容量管理、关联关系、任务管理和自动部署等这四大核心组件有力地保证了自动化运维的实施。

最后,伏晔讲解了自动化监控的技术框架和手段,这也是本主题的重点​。他先由监控技术框架说起,然后结合具体的异常捕获实例,进一步介绍了百度是如何进行有效地​监控、如何进行智能分析以及故障自动处理的相关原理和实践。其中,以​​“百度知道”产品​​为例,详细介绍了语义级别的监控原理和方法。伏晔提出了关于如何把运维工作做到以守为攻:

一个服务能够被用户所使用,是多个层级共同协作的结果。任何层级出现问题都会导致服务质量下降,甚至不可用。要在用户感知到服务质量下降前发现问题、定位问题、解决问题。其实是源于多视角及多类型的监控方法。

所谓​多视角是要从用户和系统两个层面对服务进行监控。包括用户层面是通过模拟用户行为对服务的访问速度、流量变化、页面内容等进行监控。优点:可以定位对用户的影响,缺点:不知道哪个部分导致的​。

系统层面则是使用丰富、多样的监控方法,覆盖每个层级的各个部分。对其运行状态进行全面监控。优点:可以定位哪个地方出现了问题,但不知道对用户的影响是什么​。

两种视角相辅相成,结合使用可以快速的了解影响,定位问题。

自动化监控中另外一个重点是如何实施智能分析,智能分析主要包含两部分的内容:异常根源分析及如何进行波动性预警。比如在三个异常报警周期内,异常次数达到用户设定报警阀值的两倍这种机制。对于日常的运维来说,智能分析之后,紧接着要做的事情就是如何去处理异常。在伏晔的分享中,他提出故障自动处理过程中​使用的三个有效手段,分别为:

  • 联动处理(涉及流量切换预案、磁盘数据清理、系统重启及执行预设命令等)
  • 报警去重(主要分为服务器维度、策略维度以及多纬度)
  • 滑动时间窗口

这些手段都是在日常维护中需要频繁面临的问题,在分享中伏晔介绍了他的经验以及通过具体的性能监测图表,来帮助大家理解百度的运维方法。

主题二:速度与成本共赢的运维之道视频,MP3 和 Slides 等资料下载

这一部分的分享嘉宾是来自腾讯互联网运营平台部的赵建春,他的分享主要包含三个部分:关于运维工作的思考、成本与速度的案例以及如何固化速度与成本收益。

赵建春以一个问题作为开场白:究竟应用运维指的是什么?在经过“思考者”与“速度与激情”的启发下,他最终回答了这个问题:应用运维就是在公司与用户之间,不断地去均衡速度、质量、成本、效率这几者之间的关系。

接下来赵建春提出“长度”和“宽度”都是成本,此外还通过具体的数据说明了请求数、流量以及速度三者之间的关系。在介绍完毕​相​关的​概念之后,他提到了腾讯内部的几个案例,包括音乐 miniportal 产品、QQ 空间中的信息中心、日志贴图,以及如何通过给图片“减肥”来提升用户体验的问题。

最后的部分是如何​固化速度与成本收益,这也是运维人员都非常关注的话题。赵建春提出了非常关键的几个问题:

  • 你的站点,有多少个请求?
  • 你的站点,总大小是多少?
  • 你的站点,什么最消耗资源?
  • 如何知道全量用户的速度情况?
  • 如何持续提升和保持?

此外,赵建春还​针对数据监控体系做了介绍,并分享了监控机制的原理:自动抓包、获取日志、统计入库、展现。此外,还提出了一些问题与新的尝试,比如图片控制体系,长 Cache 工具以及度量考核体系等,并​针对工作机制与优化方法进行了讲解。

Open Space(开放式讨论环节)

和以往的环节一样,​为了让参会者能够有更多的时间进行相互的交流,本次活动依然设置了 Open ​Space(开放式讨论)环节。除了讲师付晔、赵建春外,开源领域的专家、现在奇艺网负责运维的黄冬也参与了小组讨论。在 Open Space 的总结环节,几位嘉宾也分享了每个小组讨论的话题:

伏晔:​现在是一个分布式和虚拟化的时代,服务器的规模很大,相对来说,对于服务器硬件的质量要求会不是很高。比如一万​台的服务器规模,如果突然​坏了 100 台,不去处理会怎样或是每周集中处理又会怎样?其实对服务是没有影响的。​此外他还与小组成员深入探讨了运维模式如何去适应未来的分布式和虚拟化技术​等问题。

赵建春:针对自动化运维平台进行了讨论,涉及监控、调度、容错容灾等方面。结论​是,服务要尽可能模块化,集群化,一致化,同时在一组服务中的某台服务器遇到问题时,要能做到主动探测并且将故障服务器自动卸载,然后自动上线健康的机器,从而达到免维的目标。

黄冬:介绍了峰值的计算方法:峰值有三种,5 分钟采样点的 5 分钟均值的峰值、5 分钟采样点的 1 小时均值、5 分钟采样点的 2 小时均值。视频服务质量的分析方法:在 Server 端 Apache 的 Access Log 中,利用 Bodysize 和 Bodysend 的时间,再利用视频的满流的比较,即可判断出用户播放视频时是否是流畅的了。如何利用调度系统去自动化的做调度、以及通过简单的运营商结构分析来实现将用户跳转至正常的网络服务器上访问。以及如何分析出不同个省份不同机房各自带宽的简单算法。

会后新浪微博 ID 为 @seadragonnj 的参会者分享了他的感受:​

百度的演讲总结:1、最大化的自动化运维,自我修复和自动切换;2、监控是运维的根本所在;3、运维是一个系统工程,包括网络、DNS、端口、程序等;4、感觉互联网行业的运维比开发的责任更大;6、在项目开发的时候就把运维考虑进去;7、报警。

腾讯的演讲总结:1、运维的速度和成本是相辅相成的;2、固化运维的速度和成本的理念;3、通过在页面中加入时间方法,来统计各地加载页面所需要的时间;4、分析 access.log 文件;5、图片压缩;6、减少 http 的请求数。

有关百度技术沙龙的更多信息,可以通过新浪微博关注 ** @百度技术沙龙,或者加入百度技术沙龙微群 **,InfoQ 上也总结了过往 14 期所有百度技术沙龙的演讲视频和资料等,感兴趣的读者可以直接浏览阅读

2011-06-02 03:403245
用户头像

发布了 156 篇内容, 共 46.7 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

【堡垒机】堡垒机的起源以及发展历史简单了解

行云管家

运维 网络安全 堡垒机 运维安全

基于babel的埋点工具简单实现及思考

CRMEB

一文带你了解数仓智能运维框架

华为云开发者联盟

运维 GaussDB(DWS) 智能运维框架 调度框架 任务调度器

如何低成本测试云原生(K8s)应用?

Draven Gorden

微服务 云原生 联调测试 并行测试

设计模式【13】-- 模板模式怎么弄?

秦怀杂货店

Java 设计模式 23种设计模式

领域模型设计该如何落地到数据库设计?

蜜糖的代码注释

Java DDD 领域模型 2月月更

第九节:SpringBoot在线文档Swagger2入门

入门小站

springboot

架构训练营 week10 课程总结

红莲疾风

「架构实战营」

前端培训:Vue 面试题分享

@零度

Vue 前端开发

架构实战营毕业总结

红莲疾风

「架构实战营」

微信朋友圈的高性能复杂度分析

阿卷

架构实战营

在Rainbond中实现数据库结构自动化升级

北京好雨科技有限公司

不会用SpringBoot连接Redis,那就赶紧看这篇

华为云开发者联盟

redis 开发 springboot Redis服务器

固态存储行业领导者硅格半导体加入龙蜥社区,共同推动开源生态建设

OpenAnolis小助手

Linux 开源 社群运营

一起玩转LiteOS组件:Pixman

华为云开发者联盟

LiteOS LiteOS组件 Pixman Pixman Demo LiteOS组件仓库

mark:Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

webrtc developer

java培训:SpringBoot技术的理解

@零度

JAVA开发 spring-boot

小程序开发中使用网络请求

Speedoooo

读书笔记:查理芒格的思维模型

panda

react源码解析3.react源码架构

buchila11

React

Java异常处理:如何写出“正确”但被编译器认为有语法错误的程序

华为云开发者联盟

Java 代码 java异常处理 语法 Exception

云运维必备知识-云运维定义以及工作内容讲解

行云管家

云计算 IT运维 云运维

运维与微服务结合?深度解析微服务框架Tars整体解决方案

云智慧AIOps社区

DevOps 微服务 运维 云原生 TARS

百度手机助手存储资源优化实践

百度Geek说

后端 存储

再见丑陋的 SwaggerUI,这款开源的API文档生成神器界面更炫酷,逼格更高!

沉默王二

Java

大数据培训:Hadoop生态系统圈

@零度

大数据 hadoop

这样才是代码管理和 Commit 的正确姿势! | 研发效能提升36计

阿里云云效

阿里云 云原生 代码管理 研发 Commit

在线字节转换工具

入门小站

工具

人人都是 Serverless 架构师之“盲盒抽奖”创意营销活动实践

Serverless Devs

Serverless 架构 2月月更

B站员工猝死,审核员之殇,谁该反省?谁该惭愧?技术层面解构内容安全审核系统(python3)

刘悦的技术博客

系统架构 内容审核 Python3 应用审核 构架

产品经理角色理解

wood

300天创作

百度技术沙龙第14期回顾:大型互联网产品的运维实践(含资料下载)_架构_贾国清_InfoQ精选文章