简单来说,DevOps 是 Development 和 Operations 的组合词,是一种重视软件开发人员 (Dev) 和IT运维技术人员 (Ops) 之间沟通合作的文化或惯例。透过自动化”软件交付”和”架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
DevOps 的三大原则:
基础设施即代码 (Infrastructure as Code)
将重复的事情使用自动化脚本或软件来实现,例如 Docker(容器化)、Jenkins(持续集成)、Puppet(基础架构构建)等。
持续交付 (Continuous Delivery)
在生产环境发布可靠的软件并交付给用户使用,而持续部署则不一定交付给用户使用。其中涉及到两个时间,需要尽可能减小这两个时间:Time to Repair, TTR 修复时间,Time To Marketing, TTM 产品上线时间。
协同工作 (Culture of Collaboration)
开发者和运维人员必须定期进行密切的合作,通常是通过几种建议方式:A) 自动化,以减少不必要的协作;B) 小范围,每次修改的内容不宜过多,减少发布的风险;C) 统一信息集散地,使用Wiki可以共享信息。
包含的内容有:
这里介绍整体的规范、通用服务的搭建。
部署在主机侧,使用 C 语言实现,按照功能划分为如下几类,基本、监控、日志、安全、网络等,详细见如下的介绍,其中所有的 Agent 统一由 BootAgent 进行管理。
如下是实现的细节。
上述 Agent 的实现有很多公共库支撑,如下是其简单的介绍。
根据不同的功能进行划分,其中前端的 DashBoard 主要包括了容量、性能、风险信息,可以是每天聚合后的信息。