大揭秘:Google的系统工程师如何工作

2010-10-13 10:50出处:51cto作者:佚名我要评论

[导读]由于Google的服务已经集群化,系统工程师并不大量接触硬件比如做安装服务器等事情。

 数据中心热点推荐
 能效管理专家发表关于数据中心能源争议的看法  一款独特的新型超级计算中心设计
 调查:63%的数据中心用户处于扩张状态  你的数据中心运营商是否遵守PCI守则?
 PUE的五点缺陷 未来谁将成为数据中心能效指标  让我们卖掉一些数据中心吧!

  本文根据系统管理领域知名博客 Thomas A. Limoncelli 的 What is system administration like at Google 整理而成,添加了部分笔者观点。

  由于Google的服务已经集群化,系统工程师并不大量接触硬件比如做安装服务器等事情。另外大部分工作也已经自动化了,比如架设LDAP, 负载均衡等。对照而言,国内目前大部分互联网公司SA仍然要做大量重复的底层工作,比如拿一个业务的数据库过大需要拆分为例,从系统管理员的角度,需要做以下事情

  1、同技术人员沟通目前业务特点,制定拆分方案并评估程序风险

  2、搭建测试环境,技术人员测试程序兼容性

  3、制定实施方案,保证业务的不停机平稳过渡

  4、深夜上线

  5、观察1-2天运行情况

  我们需要思考上面工作是否是系统管理员以及技术人员有价值的工作。像Cassandra这样解决了分布式存储自动化扩展的问题是业内一种发展方向,尽管Cassandra的稳定性还需要改进)。

  Google的系统工程师怎么做?

  他们会通常1周值班,响应各种问题,比如完成上述场景中的扩容业务。然后有大约5周左右脱离一线工作来自由思考将这1周内碰到的工作进行自动化改进,将那些会反复碰到的问题通过脚本及监控程序完成,或者进一步反馈给技术人员改进应用程序来实现自动化。1:5只是个大约比例,时段可以灵活安排。比如也可以按天来安排,1天值班/7天改进。当改进完成之后,下次遇到相同的场景,自动化程序会完成大部分工作。如果在其他公司,SA通常忙碌在一线机械重复上述工作,但是在Google, 给系统工程师预留了相当多的时间让大家思考改进。

  这就是Google的System Administrator自称SRE(Site Reliability Engineers)的原因。SRE会不断在优化所负责的系统,一些人关注运维层面,另外一些可能关注自动化工具。所有的SA都需要具备一定程序或脚本开发能力。

  因此,当遇到Google的数据规模,自动化不是是否需要,而是如何更好实现的问题。

  在Google其他一些令人兴奋的工作还包括

  1、与开发技术人员是协同的关系。

  2、只需关心技术,在技术领域也有职业生涯上升通道,不必转向技术管理岗位或其他。

  3、同事都非常聪明,通常会觉得自己是最逊的那一个。

  4、很多挑战,保守的估计领先行业2-10年,在这里工作就象给了你一个魔法水晶球,通过你的工作可以预见这个行业的未来。

  受Google方式的启发,以下想到的一些可以研究的自动化方向

  1. 程序部署

  ◆C/C++/Java/PHP/Python/Ruby/C# 等语言如何不停机自动发布

  ◆自动发布如何简洁的解决模块依赖性,比如1天需要同时更新10个有相互依赖的模块,并且不能停止服务

  ◆Web容器虚拟化,同一Web容器上可以部署多个业务,业务之间互相隔离,互不影响。

  ◆将新开发的服务程序运维自动化。一般的服务程序从数量上来说,10是一个分水岭,10台以下的服务通过人工重复操作方式来管理也问题不大,但是10台以上就需要自动化管理的方法。很多优秀的开源程序(比如Tokyo Cabinet, Redis等)在单机上表现优秀,但是大规模部署不能。大公司中很多技术人员经常提到很多开源软件不适合他们就有这方面原因。

  2. 资源部署

  ◆MySQL

  ◆分布式文件存储

  ◆Cache,拿cache自动化管理举例

  ◆端口资源管理,不同业务使用不同端口,同一应用内不同的数据使用不同的端口,相关原因可以参看以前cache相关博文。

  ◆容量管理,不同的数据需要不同的容量

  ◆动态扩容,应用业务规模增长,比如从10G扩容到100G

  ◆Proxy功能,比如虚拟化端口映射,程序访问的是固定虚拟端口,这样不需要重启服务也可以随时扩充,应用也不需要一致性hash, proxy帮你做了。

  3. 系统部署

  ◆OS

  ◆反向代理与负载均衡

  ◆本地分区容量,批量管理

  ◆程序发布与停止,比如一个程序一个点击部署到100台服务器

  ◆虚拟化,比物理服务器更容易部署,资源利用率更高,部署更可控

  大部分国内互联网公司基础技术还是比较原始的,这跟行业过分强调“好产品是运营出来的”也有关系,基础研发通常不受重视,长此以往,只能在门槛低的领域打拼,与Google的技术差异就不止10年了。

Google 系统工程师 职场
[责任编辑:李菁]
请输入邮箱订阅您选择的电子杂志:
企业信息化周刊
比特网信息化周刊为您全力奉献信息化领域每周热点新闻、时事评论、案例点评、产经动态等内容。独家点评各类热点新闻,带给您不一样的视角感受。
新闻中心热点推荐
在如今这个信息爆炸的时代里,每天都会有数不清的新闻通过各种渠道涌到我们面前,而真正有价值的应该进入我们心里的,却很可能随着日历牌的翻动被我们忽略。作为对一周新闻进行回顾的《比特网新闻中心每周热点推荐》,就是要告诉您过去的七天都发生了哪些新闻,更希望和您一起,站在七天的高度来看待过去一周的新闻。
比特网博客新闻周刊
以最快速度追踪业界热点新闻,以最全面的视角解读业界的新鲜事,以最互动的方式来倾听最广大网民的声音,打造“最快、最丰富、最好看”的一周热点评论。
数据中心热点播报
业内首个只为报道数据中心资讯内容的专业频道,是为数据中心用户及厂商而建设的专业平台。以数据中心专业技术内容为核心,贯穿新鲜资讯、技巧方法和用户案例等高附加值内容。以为网友提供最具实用价值的信息为原则,以成为用户最信赖的行业专家为目标,打造高时效、高品质、高前瞻的最全威频道。企业数据中心热点播报,为您精心奉上过去一周数据中心最精彩、权威资讯_chinabyte比特网。
chinabyte商业智选
比特网商用电脑携办公自动化频道,倾力打造最权威的企业办公设备采购指导中心和软硬件整合资讯中心。为您提供第一手的专业化资讯及深度分析,帮助商用个人与企业用户实现商务智选。
chinabyte网络周刊
向企业网管员以及网络技术和产品使用者提供关于组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。
chinabyte服务器周刊
就服务器和数据中心领域的产业动态、技术热点、热门产品、实用技巧,向企业CIO/CTO、IT管理层、技术人员提供一周精选套餐,为数据中心决策者、使用者提供一份服务器行业以及数据中心领域最新动态及产品应用的技术套餐。
chinabyte软件视界
以数据库和管理软件为重点的全面软件产业热点、应用方案推荐、实用技巧分享等等。
chinabyte存储周刊
就存储和虚拟化领域的产业动态、技术热点、热门产品、实用技巧,向企业CIO/CTO、IT管理层、技术人员提供一周精选套餐。
chinabyte安全周刊
向企业信息安全专业人士提供安全领域最新的热点技术、热门产品、实用技巧、安全漏洞和木马病毒下载。