Table of Contents
前言
通常来说,自动化运维有两种类型的运维方式:
- 定时的脚本任务, 比如定时更换云服务的 acess key secret , 定时检查 ecs 对外暴露的端口等
- 报警事件的紧急处理, 比如 ecs 实例发生异常重启
在传统的运维中,对于定时任务的处理通常用crontab脚本来实现,但是一旦管理的机器多了,必定会对脚本进行集中管理,这个时候对集中管理脚本的机器的可用性、脚本里面会散落密码明文等相关信息以及定时任务执行的记录都是一个很大的挑战;而对于事件驱动的报警处理,要么是通过短信报警告知运维人员,要么需要自建服务来处理报警信息, 无论是哪种方式,财务成本和运维成本都很大。本文探讨一种新的运维方式,利用函数计算做自动化运维,以极低的成本就可以获得一个高可靠,高质量的运维服务。
函数计算
阿里云函数计算是一个事件驱动的serverless计算服务。通过函数计算,您无需管理服务器等基础设施,只需编写代码并上传。函数计算会为您准备好计算资源,以弹性、可靠的方式运行您的代码,具体表现为:
- 无需采购和管理服务器等基础设施
- 按需付费,比如对运维管控这类低频调用的系统,财务成本通常能节约90%以上
- 专注业务逻辑的开发,能极大提高开发效率,比如十分钟上线弹性高可用的图片处理服务
- 稳定高可用,毫秒级别弹性伸缩,快速实现底层扩容以应对峰值压力
- 提供日志查询、性能监控、报警等功能快速排查故障
函数计算遇见自动化运维
函数计算给用户极大的自由来实现自定义的功能,一旦和自定义自动化运维相遇,会擦出不一样的火花。下面就本文就传统的自动化运维和函数计算进行自动运维在两种不同类型维度上做一个对比:
定时任务示例场景分析
定时任务示例场景1
某些云服务账号acess key secret需要定期更换,以确保 acess key secret安全
定时任务示例场景2
定期检查自己 ecs 对应暴露的端口,确保安全。比如你的ecs是一个网站服务器,可能只需要对外暴露 80 端口就行,如果出现 0.0.0.0/0 这种允许所有人访问的漏洞,需要出现报警或者自动修复。
函数计算自动化运维实战1 — 定时任务
事件驱动示例场景分析
事件驱动示例场景1
假设两台 ECS 机器 A, B, A 机器出现了宕机,这个时候需要把A机器上的 eip 迁移到备用机器 B 上,可利用云监控的报警和函数计算可以实现 eip 的自动迁移, 云监控检测到A宕机这个事件,然后触发函数执行,函数实现 eip 的自动迁移。
函数计算自动化运维实战2 — 事件触发 eip 自动转移
事件驱动示例场景2
假设之前一台 ecs 发生系统错误而重启,用户可能会紧急起来做一些验证或者创建快照的处理, 在下面的实战中,我们对一台因为系统错误实例重启或者因实例错误而重启的机器进行自动化处理,比如成功重启后创建快照处理。
函数计算自动化运维实战3 — 事件触发自动创建快照
总结
用函数计算进行自动化运维,对进行自动化运维处理的函数进行可视化的管理、监控,函数的运行具有弹性,高可用,安全性高等有点;同时在驱动函数的事件源上,云监控提供了丰富事件,并且事件还在不断丰富中(云产品系统事件监控),丰富的事件触发自定义处理的函数,高可用的定时器,这些都可以保证我们可以实现更加完美的的自动化运维。 如果对函数计算进行自动化运维
这个运用场景感兴趣, 请点击收藏本页,我们会在这边函数计算进行自动化运维
这个专题主页持续更新相关内容和实战案例。
“ 阿里巴巴云原生微信公众号(ID:Alicloudnative)关注微服务、Serverless、容器、Service Mesh等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术公众号。”
评论前必须登录!
注册