Netflix 是业界微服务架构的最佳实践者,其基于公有云上的微服务架构设计、持续交付、监控、稳定性保障,都为业界提供了大量可遵从的原则和实践经验。

在运维这个细分领域,Netflix 仍然是最佳实践的典范。世界顶级的互联网公司是如何定义运维以及如何开展运维工作的。

Netflix 运维现状

Netflix 是没有运维岗位的,和运维对应的岗位是SRE(Site Reliability Engineer).SRE≠运维,SRE 理念的核心是:用软件工程的方法重新设计和定义运维工作。

改变之前靠人去做运维的方式,转而通过工具体系、团队协作、组织机制和文化氛围等方式去改变,将之前处于研发体系最末端的运维,拉回到与开发肩并肩的同一起跑线上。

为什么 Netflix 会做得如此极致?

可以从 Netflix 的技术架构、组织架构、企业文化等几个方面来看。

1. 海量业务规模下的技术架构和挑战

引入了灵活的微服务架构,提高了开发人员的开发效率。但架构复杂度大大增加,已经无法靠人工去掌控了,为后续的交付和线上运维带来了极大的难度和挑战,所以必须寻求在此架构之上的更为有效和统一的技术解决方案来解决复杂度认知的问题。进而,在这一套统一的技术解决方案之上,开发和运维产生了新的职责分工和协作方式,也就是SRE。这时,微服务架构下的运维就必须要靠软件工程思路去打造工具支撑体系来支持。也就是要求微服务架构既要能够支持业务功能,还要能够提供和暴露更多的在后期交付和线上运维阶段所需的基础维护能力。

简单举几个例子,比如服务上下线、路由策略调整、并发数动态调整、功能开关、访问 ACL 控制、异常熔断和旁路、调用关系和服务质量日志输出等等,要在这些能力之上去建设我们的运维工具和服务平台。

可以看到,微服务架构模式下,运维已经成为整体技术架构体系中必不可少的一部分,而且与微服务架构相关的体系是紧密相连不可拆分的。

DevOps 理念及衍生出来的一系列话题,可以仔细思考一下,其实也是同样的背景和逻辑。DevOps 想要解决的开发和运维之间日益严重的矛盾,究其根本,还是微服务架构背后带来的技术复杂度在不断提升的问题。

  Netflix 带给我们的启示一:微服务架构模式下,我们必须换一个思路来重新定义和思考运维,运维一定要与微服务架构本身紧密结合起来。

2. 更加合理的组织架构和先进的工具体系及理念

上面提到,在微服务架构模式下,运维已经成为整体技术架构和体系中不可分割的一部分,两者脱节就会带来后续一系列的严重问题。

早在 2012 年,甚至更早之前,Netflix 就已经意识到了这个问题。在组织架构上,将中间件、SRE、DBA、交付和自动化工具、基础架构等团队都放在统一的云平台工程(Cloud and Platform Engineering)这个大团队下,在产品层面统一规划和建设,从而能够最大程度地发挥组织能力,避免了开发和运维的脱节。

  Netflix 带给我们的启示二:合理的组织架构是保障技术架构落地的必要条件,用技术手段来解决运维过程中遇到的效率和稳定问题才是根本解决方案。

3. 自由与责任并存的企业文化

Netflix 的企业文化是 Freedom & Responsibility,也就是自由和责任并存,高度自由的同时,也需要员工具备更强的责任心和 Owner 意识。

体现在技术团队中就是,You Build It,You Run It。工程师可以随时向生产环境提交代码或者发布新的服务,但是同时你作为 Owner,要对你发布的代码和线上服务的稳定运行负责。

在这种文化的驱使下,技术团队自然会考虑从开发设计阶段到交付和线上运维阶段的端到端整体解决方案,而不会是开发就只管需求开发,后期交付和维护应该是一个叫运维的角色去考虑。No,文化使然,在 Netflix 是绝对不允许这种情况存在的,你是开发,你就是 Owner,你就要端到端负责。

  Netflix 带给我们的启示三:Owner 意识很重要,正确的做事方式需要引导,这就是优秀和极致的距离。

问题:

现在很多公司在采用了微服务架构后,就没有充分考虑到后续基于微服务架构的运维问题。而且在运维团队设置上,仍然是脱离整个技术团队,更不用说将其与中间件和架构设计等团队整合拉通去建设,自然也就谈不上在产品层面的合理规划和建设了。

因此导致的问题就是运维效率低下,完全靠人工,线上故障频发,但是处理效率又极低,开发和运维都处于非常痛苦的状态之中,运维团队和成员也会遭遇到转型和成长的障碍。

总结:

1.微服务架构模式下,我们必须换一个思路来重新定义和思考运维,运维一定要与微服务架构本身紧密结合起来。

2.合理的组织架构是保障技术架构落地的必要条件,用技术手段来解决运维过程中遇到的效率和稳定问题才是根本解决方案。

3.Owner 意识很重要,正确的做事方式需要引导,这就是优秀和极致的距离。

4.从人工运维转向通过工具体系、团队协作、组织机制和文化氛围等方式去改变。

为什么Netflix没有运维岗位?的更多相关文章

  1. Netflix业务运维分析和总结

    目录 Netflix工作环境的分析和思考 为什么Netflix会做得如此极致? 海量业务规模下的技术架构和挑战 更加合理的组织架构和先进的工具体系及理念 自由与责任并存的企业文化 当前问题: 精选提问 ...

  2. linux运维工作内容及岗位要求

    什么是Linux?大家日常使用电脑听歌.打游戏娱乐或处理日常工作时,接触到最多的就是Windows操作系统,电脑如果不安装Windows系统是无法进行娱乐和工作的,所有的软件程序都必须运行在操作系统之 ...

  3. 云计算和AI时代,运维应该如何做好转型?

    云计算和AI时代,运维应该如何做好转型? 今天我们来聊一聊,在云计算和AI时代,运维应该如何做好转型?今天的内容可以说是我们前面运维组织架构和协作模式转型的姊妹篇.针对运维转型这个话题,谈谈我的思考和 ...

  4. 谷歌SRE运维模式解读

    谷歌SRE运维模式解读 前面我和你分享了一些关于运维组织架构和协作模式转型的内容,为了便于我们更加全面地了解先进的运维模式,今天我们再来谈一下谷歌的SRE(Site Reliability Engin ...

  5. linux运维的认知及RHEL7 Unix/Linux 系统 介绍和安装

    如何成为一个优秀的linux运维人员?      如果你有机会和条件:环境能够磨练一个人的能力和意志.      大胆的做你从未做过的项目,每一个项目都是对自身的极大提升.      有好的环境资源不 ...

  6. 转:linux运维工程师

    运维中关键技术点解剖:1 大量高并发网站的设计方案:2 高可靠.高可伸缩性网络架构设计:3 网站安全问题,如何避免被黑?4 南北互联问题,动态CDN解决方案:5 海量数据存储架构 一.什么是大型网站运 ...

  7. 运维人员:走好你的IT运维路

      转自 http://os.51cto.com/art/201303/387120.htm   现阶段,大多数运维人员只是处于被动低效率手工救火的状态,企业对其重视程度不高,导致部分运维人员对自己的 ...

  8. Linux系统运维工程该具备哪些素质

    记得在上高中时,物理老师总是会对我们一句话:"学习是件苦差事."工作后发现,其实做运维也是件苦差事.最为一名运维工程师,深知这一行的艰辛,但和IT行业其他职务一样,那就是付出的越多 ...

  9. 鹅厂优文 | 怎样用AI运维

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由 织云平台团队 团队发布在腾讯云+社区 诞生背景 最近这些年,运维行业提出了不少概念,各种各样的"XX运维"可以说 ...

随机推荐

  1. $bzoj2560$ 串珠子 容斥+$dp$

    正解:容斥+$dp$ 解题报告: 传送门$QwQ$ $umm$虽然题目蛮简练的了但还是有点难理解,,,我再抽象一点儿,就说有$n$个点,点$i$和点$j$之间有$a_{i,j}$条无向边可以连,问有多 ...

  2. HDU3394 Railway 题解(边双连通分量)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3394 题目大意: 给定一个无向图,如果从一个点出发经过一些点和边能回到该点本身,那么一路走过来的这些点 ...

  3. 2017 ACM-ICPC亚洲区域赛北京站J题 Pangu and Stones 题解 区间DP

    题目链接:http://www.hihocoder.com/problemset/problem/1636 题目描述 在中国古代神话中,盘古是时间第一个人并且开天辟地,它从混沌中醒来并把混沌分为天地. ...

  4. 配置ca服务器和http,mail加密

    一·CA介绍 certificate authority   数字证书授权中心 被通信双方信任的.独立的第三方机构 负责证书颁发.验证.撤销等管理 数字证书 经证书授权中心数字签名的包含公开密钥拥有者 ...

  5. iFit—Smart Cardio Equipment 简介与下载

    iFit—Smart Cardio Equipment 无法在谷歌商店中下载,经过技术提取app只可以直接通过下载app安装简单方便 实测机型:华为荣耀畅玩2平板, 小米6X,360N5S均测试无BU ...

  6. C# 获取WebBrowser内容的高度

    int webHeight =0; WebBrowser web =new WebBrowser(); web.Navigate("about:blank"); while (we ...

  7. 【Python系统学习03】错误类型整理(一)

    错误类型与可能原因分析 A.语法错误: 1.syntaxError:invalid syntax 无效的语法 print(2019小石头) # print(2019小石头) # ^ # SyntaxE ...

  8. Spring--1.了解Spring

    1.框架:半成品软件: 高度抽取可重用代码的一种设计:高度的通用性:事务控制,强大的servlet,项目中的一些工具... 多个可重用模块的集合,形成一个某个领域的整体解决方案: 2.Spring: ...

  9. Serverless 微服务实践-移动应用包分发服务

    背景 阿里云函数计算是事件驱动的全托管计算服务.通过函数计算,您无需管理服务器等基础设施,只需编写代码并上传.函数计算会为您准备好计算资源,以弹性.可靠的方式运行您的代码,并提供日志查询.性能监控.报 ...

  10. Django框架初体验

    前言 从今天开始学习测试开发知识,并会把每一次学习的过程和成果记录到博客,由于我也没怎么接触过python相关的开发框架,所以前期应该是艰难的,但是我相信努力就会有收获,如果你和我一样是个小白,那我们 ...