SRE与DevOps的10大开源项目
原文: https://dzone.com/articles/to...构建可伸缩与高可靠的软件系统是所有SRE的终极目标。跟着我们最近提供的博客给出的在监控,部署和运维领域的开源项目来进行持续学习。
翻译: 祝坤荣
想成为成功的SRE需要持续学习。现在有许多SRE/DevOps可使用的开源项目,每一种都是新的而让人兴奋的实现,其经常应对特定领域的挑战。这些开源项目帮你承担的重量让你可以干的更轻松些。除了这些开源项目,这里还有一个可以免费体验的持续学习平台。
1.CLoudprober Cloudprober是一个聚焦于在你的客户发现前定位故障的主动追踪与监控的应用。它使用一种‘主动’的监控模型来对你运行的组件是否符合预期来进行检查。它主动运行探针,比如,确保你的前端可以访问你的后端。同样的,探针也可以用来确保你的系统可以到达你云上的虚机VM。这种追踪方式更简单,并与实现独立,跟踪你应用的配置来让你简单的发现系统中哪里出问题了。
特性:
- 与开源监控栈Prometheus和Grafana原生集成。Cloudprober也可以导出探针结果。
- 对于云上的目标,自动发现目标。对于GCE与Kubernetes可开箱即用;其他云服务也可以通过简单的配置来完成。
- 在部署上极简单。Cloudprober用Go编写并编译成一个可执行的二进制包。它可以快速通过Docker容器部署。对于更新,由于其自动发现基本上不需要重新部署和重配置Cloudprober。
- Cloudprober Docker镜像很小,只包含了一个静态编译后的二进制文件,它只需要很小的CPU和RAM来运行大数量的探针。
特性:
- Demo Service - 设计上基于现代,云原生,微服务架构的一个应用。
- 一键部署 - 一个处理将服务部署到Google云平台的脚本。
- Load Generator - 在Demo Service上制造模拟流量的部分。
特性:
- 多个自部署的registries可以一次配好。
- 工具让你可以看到类似Prometheus指标的版本信息。
- 支持如ACR,DockerHub,ECR的registries。
【SRE与DevOps的10大开源项目】特性:
- 对于HTTP,gRPC,WebSocket,TCP流量的自动负载均衡。
- 有丰富的规则路由,重试,故障转移,失败注入等控制。
- 有可拔插的策略层与配置API来支持访问控制,限流与配额。
- 对于集群内的所有流量都能自动度量,日志和追踪,这也包括了在进入集群和出集群的流量。
- 通过强壮的识别验证与授权保证了在集群中有安全的服务到服务的通信。
特性:
- 超过400条内置的规则覆盖了AWS,Azure,Google云的最佳保护与安全实践。
- Terraform供应商配置可监控Terraform管理的IaaS,PaaS,或SaaS部署,维护和更新。
- 检测EC2 用户数据,Lambda上下文变量,Terraform供应商中的AWS身份信息。
Limus是一个云原生的混沌工程工具箱。Litmus提供了在Kubernetes上编排混沌的工具,帮助SRE发现他们部署上的脆弱点。SRE先在预发环境进行混沌测试,并最终在部署环境发现故障和脆弱点。修复这些问题可改进系统的可用性。
特性:
- 开发者可以在应用部署时将其像运行单元测试或集成测试时一样来进行混沌测试。
- 对于CI流水线构建者:在流水线阶段运行滚吨测试来发现bug。
特性:
- Locust是分布式和可伸缩的 - 可以很容易的支持成百上千的用户。
- 其基于Web的UI可以展示实时的进度。
- 只要一点改动就可以测试任何系统。
特性:
- 一种多维度的数据模型(通过指标名称定义的时间序列和键值对集合的维度)
- 目标是通过服务发现或静态配置来发现的。
- 对于分布式存储没有依赖;单服务节点也可以。
- PromQL,一个强大和灵活的查询语言
特性:
- Kube-monkey使用opt-in模型操作并只会在特定已经接受kube-monkey可以终止集群pod的Kubernetes上运行。
- 基于你的需求高度定制运行日程。
特性:
- 与Kubernetes,OpenStack,AWS,Azure,GCP和本地机器兼容。
- 与Prometheus与Datadog集成收集度量指标。
- 支持自定义用例等多种模式。
本文来自祝坤荣(时序)的微信公众号「麦芽面包」,公众号id「darkjune_think」
开发者/科幻爱好者/硬核主机玩家/业余翻译
转载请注明。
微博:祝坤荣
B站: https://space.bilibili.com/23...
交流Email: zhukunrong@yeah.net
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- Docker应用:容器间通信与Mariadb数据库主从复制
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 第326天
- Shell-Bash变量与运算符
- 逻辑回归的理解与python示例
- Guava|Guava RateLimiter与限流算法
- 我和你之前距离
- CGI,FastCGI,PHP-CGI与PHP-FPM
- 原生家庭之痛与超越