序言
年底了,没有分手的朋友的赶紧分了,所谓新年新气象,年年不重样。
去留无意,望看风卷残云。。。运维不会消失,但是会转移。
风言风语
1 云原生是什么?
最近云原生大行其道,各种风吹草动,那么云原生到底是什么,除了云原生剩下的是不是都野生的?
云原生本名cloud native,表示这个程序就是为云定制化开发的,云原生的发展经历了几个阶段:第一个阶段是在机房里面,包括所有的iaas,paas,saas,那是传统运维;第二个阶段是云托管时代,这里面会把IAAS的那波人干掉,这个也是云计算的时代,将应用程序搬上云,这个时候基本还只是使用云的IAAS的产品,使用的PAAS不是很多;第三个阶段就是云原生时代,也就是不但使用IAAS,还是用PAAS,应用选定相关的各种云产品,只要云上有的,那么就不会自己去搭建,只要能第三方有的,就去买买买,自己干啥呢?专注于业务就好了,这个时候充分发挥云的力量,从而让业务不断的进行开拓创新。
从第一个阶段到第二个阶段,还是比较简单的,因为只是rehosting或者replatform,更换一个平台而已,所以只有机房运维人员失业,云厂商获得好处;从第二阶段到第三阶段,这个时候应用开发的门槛会降低,技能能力上需要一个飞跃,因为你要懂云,懂得云产品,懂得云服务,如果没有专业的运维,那么你可能还要懂点运维。
从第二阶段到第三阶段,这个时候要使用微服务,要使用k8s的架构,当然你也可以不用懂k8s,因为这个也算是属于基础架构的一部分,而且k8s的门槛非常之高,一般的开发根本就搞不定,连普通运维也会大大吃力,当然,这个时候你也可以选择使用serverless,那么云厂商会把基础服务给你搭建好,从而走轻运维的模式。
2 为什么需要云原生SRE?
云原生时代,对于运维来说,有着更高的要求,你需要了解云,你需要了解云产品,云平台,云服务,各个技能的全栈发展,你要懂得云产品的选型,你要懂得微服务的数据链路,你要懂得k8s的调度,你可能还要点开发能力,各种yaml文件写的飞起。。。
所有的这些,也就促成了云原生SRE的诞生,云原生SRE属于平台级运维,属于数据化运维,如果这些SRE有脑子的话,那么可以摇身一变,变成智能化运维。
高端的产品必然有高端的食材,这就是云原生SRE的舞台。
3 云原生SRE的核心能力
数据化运维,对于各种微服务来说,前端的数据,中间的数据,后端的数据,存储的数据,各种各样的数据,各种各样的APM,收集数据,存储数据,分析数据,利用数据,数据服务化。
微服务不同于单体应用,产生的数据更加的多,k8s是一种功能强大的容器编排系统,在其中也会产生各种各样的数据,动态的销毁容器。
将这些运维数据进行抽取,加工,清洗,最后统一保存,形成数据资产,将相关运维数据进行分析,从而根据场景来制定不同数据服务,可以给监控大屏显示,可以给相关人员看运维分析,可以进行实时数据流可视化。
最典型的就是故障信息,在故障时候,收集所有数据,进行沉淀,从而进行SLA的设定,进行服务治理,全链路的信息收集存储,故障信息一览无余,改进措施之后,可以进行一个故障数据前后对比,从而可以很量化的看到相关的改进是否真实有效。
也可以将相关数据进行标签化,从而根据相关数据,推送到感兴趣的人进行不同运维场景分析,可以是日志,可以pv,可以是销售额。
全链路打通,将应用开发,测试,业务运维,平台运维,每个人都能看到各个环节发生的情况,例如后端一个微服务接口down,导致了多少业务损失,出现了几次中断,让每个人知道故障的影响结果,从而更好的改进。
4 serverless
所谓的serverless,表面意思是无服务器,初步意思是serverless=faas+baas,也就是函数计算和后端服务,都使用api的方式来进行调用,现在的各种数字化转型,也是使用api的方式来进行调用。
serverless让开发专注于业务,其他的事情云厂商都帮你做了,但是实际上还是要业务运维需要做的,节省了运维,但是运维不会消失。
serverless在进行开发测试的时候,必须进行环境隔离,否则你写了个死循环,一瞬间可能就破产了,因为serverless的弹性付费实在是很弹,它不像使用虚拟机那种预付费的模式,直接限定了你的额度,但是在使用serverless的时候,你也可以使用预付费的模式来解决这个问题,但是就没有吹嘘的那么弹性了,serverless的冷启动时间其实也是靠预付费来解决的,也就是保留的数量解决平时的流量,弹性用来应对波峰浪谷的流量,从而充分的使用弹性。
serverless在调试的时候是很方便的,虽然生产上很方便,最好的方式就是使用虚拟机用来做测试环境,因为你还要进行性能测试,进行压力测试,如果使用serverless可能成本就急剧上升。
serverless在防止恶意攻击的时候,也比较麻烦,因为流量会直接打满,一直在波峰的流量,这样成本也高,那么你就不得不买安全产品了。
serverless走轻运维模式,因为选择云产品的时候,你还是要选的,你要去看各种功能手册,虽然很细致,但是你会发现各种各样的云产品乱花渐欲迷人眼,说好的专注业务,你让去看那些烂文档。
serverless也让技术的能力会下降,因为使用高端的技术,必然会产生各种绑定,厂商锁定是离不了的话题,而且迁移的时候,不好说,除非各家厂商制定一个公共标准,就像容器。。。
serverless的开发模式也会改变很多习惯,就像原来都是可控的,现在发现并不是,都在云厂商手里,想去一探究竟,那么基本上是不会开放的,你只能看到你自己打的日志。
在技术浪潮面前,要么被干掉,要么就干点什么。。。
大学不经历一次挂科,是不完美。。。在公司里,不被开除一次也是不完美的,不被PIP一次也是不完美,不被PUA一次也是不完美的。。。因为经历都是一种财富,因为经历所以相信自己。