微博现在日活达到了 2 亿,微博广告是微博最重要且稳定的收入来源,没有之一,所以微博广告系统的稳定性是我们广告运维所有工作中的重中之重。
作者:孙燕来源
微博现在日活达到了 2 亿,微博广告是微博最重要且稳定的收入来源,没有之一,所以微博广告系统的稳定性是我们广告运维所有工作中的重中之重。
图片来自 Pexels
微博广告的运维主要负责资产管理、服务稳定性维护、故障应急处理以及成本控制等多个责任。
微博广告运维发展经历了如下阶段:从早期小规模的手工运维到工具化运维,随着服务器数量的发展,业务模型日渐发展,开发、运营、QA 都参与到产品的生命周期中,我们现在也进入了自动化运维的阶段,在新的虚拟化技术、算法技术的驱动下,我们也在朝着 AIOps 的方向努力。
在整个运维过程中,我们遇到了很多痛点,幸福的人生都是一样的,不幸的人生各有各的不幸,各家的运维都各有各的痛点。
我们的服务器在 3000 台以上,业务线及辅助资源各种各样,产品迭代非常快,且依赖关系复杂,流量变更,切换损失不可接受。
在这种情况下,我们面临资产管理困难、环境不统一、上线难度大、运维成本高的问题。
基于这些问题,微博广告运维工作主要集中在以下四个方面:
- 运维自动化
- 弹性计算
- 智能监控
- 服务治理
运维自动化
一个健全的自动化运维平台必须要具备如下几个功能:
- 基础监控
- 资源管理
- 事件集中分析
- 配置管理
- 批量运维工具
- 持续集成和发布
基于这些功能和需求,我们广告运维自主研发了 Kunkka 平台(微博广告运维自主研发的自动化运维平台)、资产管理、自动化上线等运维平台。
资产管理是基于公司 CMDB(公司级别的资产管理系统)获取到主机云服务器,针对微博广告对资源的管理需求自建定制化的资产管理平台。
配置中心包括服务注册、服务配置等功能;自动化上线涵盖了开发在上线过程中所需要的节点和流程。
自主终端是行业变化的功能实现,大家可以通过页面完成文件或命令下发、日志审计等各种工作。
Kunkka 基于主机和容器,通过 Salt 作为传输层进行命令下发,组件层包含开源软件,操作层将命令页面化,通过页面进行日常工作和管理。
这样的自动化运维平台基本上满足了运维的日常操作需求,在 Kunkka 平台中还有自动扩缩容的功能,我们针对这个功能进行延伸。
在自动扩所容的基础上,根据时间段,流量进行动态判断,自动决策的扩所容够功能。
弹性计算
为什么需要弹性计算
首先,在产品方面,我们的产品线很多,依赖关系比较复杂。
微博广告相当于一个桥梁,左边连接的是广告主,右边连接的是客户,需要将广告主的广告计划转化为用户的需求,让用户看到自己想要看的广告。
为了满足两边不同的需求,产品的变更和发布非常重要且频繁。
其次,在运营方面,很多有推广需求计划的大型活动都有临时扩容需要,比如 618 跟双十一,对于我们而言这两个活动带来了很大的冲击。
在 618 和双十一大促之前,为了加大自己的影响力,各个广告主会增加广告计划,微博广告这边再针对广告主的行为加大我们的曝光量,实现广告主广告计划的转化。
在 618 和双十一大促之前,为了加大自己的影响力,各个广告主会增加广告计划,微博广告这边再针对广告主的行为加大我们的曝光量,实现广告主广告计划的转化。
传统的业务运维
按照传统运维模式&#