构建可扩展的、高可靠性的软件系统是每个 SRE 的终极目标。本文概述了在监控、部署和维护领域中最受欢迎的几个开源项目。
成功的 SRE 之路就在于不断的学习。对于 SRE/DevOps 来说,目前已经有许多优秀的开源项目,每个项目都有新的、激动人心的实现,而且常常会面对独特的挑战。这些开源项目完成了繁重的工作,因此你可以更轻松地完成自己的工作。
在本文中,我们将介绍在监控、部署和维护领域中最受欢迎的几个开源项目。在这些项目中,有一些项目是模拟网络流量的项目,并可以让你为不可预测的(混沌)事件进行建模,从而可以开发出可靠的系统。
Cloudprober 是一种主动 跟踪 和监控的应用,它能在客户之前发现故障。它采用“主动”监控模型,以检查组件是否按预期运行。例如,它主动运行探针,以确保前端是否可以访问后端。同样,也可以运行探针来验证内部系统是否能够真正访问云内虚拟机。这种跟踪方法使得跟踪应用程序的配置变得非常简单,并且与实现无关,使你能够轻松地确定系统中发生了哪些故障。
特点:
Cloud Operations Sandbox 是一个开源平台,它让专家们了解谷歌的服务可靠性工程实践,并使用 Ops Management(以前的 Stackdriver)将其调整到他们的云系统中。它基于 Hipster Shop,一个基于云的原生微服务平台。注意:这需要谷歌云服务账户。
特点:
Kubernetes 实用工具 允许你观察集群中运行的映像的现有版本。该工具还允许你在 Grafana 仪表板上以表格形式查看当前镜像版本。
特点:
Istio 是一个开放的框架,用于合并微服务、通过微服务监控流量移动、执行策略以及以标准化的方式聚合遥测数据。Istio 的控制平面在集群管理的底层平台(如 Kubernetes)上提供了一个抽象层。
特点:
Checkov 是一个基础设施即代码的静态代码审查工具。它扫描 Terraform、Cloud Details、Cubanet、Serverless 或 ARM 模型云基础设施,并检测安全和合规性配置错误。
特点:
Litmus 是一个基于云的混沌建模工具包。Litmus 提供了在 Kubernetes 上编排混沌的工具,以帮助 SRE 发现部署中的漏洞。SRE 使用 Litmus 进行混沌测试,首先在暂存区,最后在开发区中发现故障和漏洞。修复这些缺陷,从而提高系统的弹性。
特点:
Locust 是一个简单易用、可编写脚本且灵活的性能测试应用程序。你可以在标准的 Python 代码中定义用户的行为,而不是使用笨重的 UI 或特定领域的语言。这使得 Locust 具有可扩展性和开发者友好性。
特点:
云原生计算基础项目 Prometheus 是一个系统和服务监控系统。它在特定时间从配置的目标提取度量,测试规则,并显示结果。如果违反指定的条件,它将触发通知。
特点:
Kube-monkey 是 Netflix 的 Chaos Monkey 的 Kubernetes 集群实现。Kubernetes POD 的随机删除有助于创建抗故障资源,并同时验证它们。
特点:
PowerfulSeal 将故障注入到 Kubernetes 集群中,帮助尽快识别问题。它使描绘完全混沌实验的场景得以创建。
特点:
开源技术的最大好处在于它的可扩展性。如果需要,你可以在工具中添加功能,使其更适合你的定制架构。这类开源项目拥有广泛的支持文档和用户社区。由于微服务架构将在云计算领域占据主导地位,用于监控和排除这些实例的可靠工具肯定会成为每个开发人员的必备工具。
作者介绍:
Nir Shrma,Squadcast 技术内容撰稿人。
原文链接:
https://dzone.com/articles/top-open-source-projects-for-sres-and-devops