DevOps 和SRE 的十大开源项目
作者 | Nir Sharma 译者 | Sambodhi 策划 | 田晓旭
来源 | https://dzone.com/articles/top-open-source-projects-for-sres-and-devops
构建可扩展的、高可靠性的软件系统是每个 SRE 的终极目标。本文概述了在监控、部署和维护领域中最受欢迎的几个开源项目。
成功的 SRE 之路就在于不断的学习。对于 SRE/DevOps 来说,目前已经有许多优秀的开源项目,每个项目都有新的、激动人心的实现,而且常常会面对独特的挑战。这些开源项目完成了繁重的工作,因此你可以更轻松地完成自己的工作。
在本文中,我们将介绍在监控、部署和维护领域中最受欢迎的几个开源项目。在这些项目中,有一些项目是模拟网络流量的项目,并可以让你为不可预测的(混沌)事件进行建模,从而可以开发出可靠的系统。
Cloudprober
Cloudprober 是一种主动 跟踪 和监控的应用,它能在客户之前发现故障。它采用“主动”监控模型,以检查组件是否按预期运行。例如,它主动运行探针,以确保前端是否可以访问后端。同样,也可以运行探针来验证内部系统是否能够真正访问云内虚拟机。这种跟踪方法使得跟踪应用程序的配置变得非常简单,并且与实现无关,使你能够轻松地确定系统中发生了哪些故障。
特点:
与 Prometheus 和 Grafana 的开源监控栈的原生集成。Cloudprober 也可以导出探测结果。
对于云目标,自动发现目标。对 GCE 和 Kubernetes 提供开箱即用的支持;其他云服务也可以轻松配置。
在易于部署方面作出重大承诺。Cloudprober 完全用 Go 编写,并被编译成静态二进制文件。通过 Docker 容器可以快速部署它。除了大多数更新之外,Cloudprober 通常不需要重新部署或重新配置,因为有自动发现目标。
Cloudprober Docker 镜像非常小,并且只包含静态编译的二进制文件,而且即使运行大量的探测,也只需非常少量的 CPU 和内存。
使用 IDEA 解决 Java8 的数据流问题,极大提升生产力!!
Cloud Operations Sandbox (Alpha)
Cloud Operations Sandbox 是一个开源平台,它让专家们了解谷歌的服务可靠性工程实践,并使用 Ops Management(以前的 Stackdriver)将其调整到他们的云系统中。它基于 Hipster Shop,一个基于云的原生微服务平台。注意:这需要谷歌云服务账户。
特点:
演示服务:一个设计在现代云本微服务架构上的应用程序。
一键部署:一个脚本处理将服务部署到谷歌云平台的工作。
负载生成器:在演示服务上生成模拟流量的部件。
牛逼哄哄的 BitMap,到底牛逼在哪?
Version Checker for Kubernetes
Kubernetes 实用工具 允许你观察集群中运行的映像的现有版本。该工具还允许你在 Grafana 仪表板上以表格形式查看当前镜像版本。
特点:
可同时设置多个自托管注册中心。
该实用程序允许将版本信息视为 Prometheus 度量。
支持诸如 ACR、DockerHub、ECR 之类的注册中心。
当MyBatis 3.5.X遇上JDK8竟然出现了性能问题,全项目组都得加班~
Istio
Istio 是一个开放的框架,用于合并微服务、通过微服务监控流量移动、执行策略以及以标准化的方式聚合遥测数据。Istio 的控制平面在集群管理的底层平台(如 Kubernetes)上提供了一个抽象层。
特点:
对 HTTP、gRPC、WebSocket 和 TCP 流量进行自动负载均衡。
通过丰富的路由规则、重试、故障切换和故障注入对流量行为进行细粒度控制。
支持访问控制、速率限制和配额的可插拔策略层和配置 API。
集群内所有流量的自动度量、日志和跟踪,包括集群入口和出口。
集群中的安全服务到服务通信具有强大的基于身份的身份验证和授权。
爆肝,52条SQL语句,性能优化,干货必收藏 !
Checkov
Checkov 是一个基础设施即代码的静态代码审查工具。它扫描 Terraform、Cloud Details、Cubanet、Serverless 或 ARM 模型云基础设施,并检测安全和合规性配置错误。
特点:
400 多条内置规则涵盖了 AWS、Azure 和谷歌云的最佳保护和安全实践。
评估 Terraform 提供商设置以监视 Terraform 管理的 IaaS、PaaS 或 SaaS 开发、维护和更新。
检测 EC2 用户数据、Lambda 上下文变量和 Terraform 提供商中的 AWS 凭证。
一项无聊的研究与论文,导致整个大学被Linux封杀!
Litmus
Litmus 是一个基于云的混沌建模工具包。Litmus 提供了在 Kubernetes 上编排混沌的工具,以帮助 SRE 发现部署中的漏洞。SRE 使用 Litmus 进行混沌测试,首先在暂存区,最后在开发区中发现故障和漏洞。修复这些缺陷,从而提高系统的弹性。
特点:
开发人员可以在应用开发过程中运行混沌测试,作为单元测试或集成测试的扩展。
对于 CI 管道构建器:当应用程序在管道中遭遇故障路径时,将混沌作为管道阶段运行,以查找错误。
Spring在Java领域的统治地位:86% 的Java开发者依赖它!
Locust
Locust 是一个简单易用、可编写脚本且灵活的性能测试应用程序。你可以在标准的 Python 代码中定义用户的行为,而不是使用笨重的 UI 或特定领域的语言。这使得 Locust 具有可扩展性和开发者友好性。
特点:
Locust 是分布式和可扩展的,可轻松支持数百或数千名用户。
基于 Web 的用户界面,实时显示进度。
只要稍加修整,就能测试任何系统。
SQL 语句中 left join 后用 on 还是 where,区别大了!
Prometheus
云原生计算基础项目 Prometheus 是一个系统和服务监控系统。它在特定时间从配置的目标提取度量,测试规则,并显示结果。如果违反指定的条件,它将触发通知。
特点:
多维数据模型(由度量名称和一组键 / 值维度定义的时间序列)。
通过服务发现或静态配置发现目标。
不依赖于分布式存储;单个服务器节点是自治的。
PromQL,一种强大而灵活的查询语言,可以利用这种维度。
SQL优化这么做就对了
Kube-monkey
Kube-monkey 是 Netflix 的 Chaos Monkey 的 Kubernetes 集群实现。Kubernetes POD 的随机删除有助于创建抗故障资源,并同时验证它们。
特点:
Kube-monkey 采用的是选择加入模式,并且只针对 Kubernetes 用户的终止,这些用户已经明确接受 Kube-monkey 将终止他们的 pod。
根据你的需求高度定制的调度功能。
Spring Boot 库存管理系统,拿来学习真香
PowerfulSeal
PowerfulSeal 将故障注入到 Kubernetes 集群中,帮助尽快识别问题。它使描绘完全混沌实验的场景得以创建。
特点:
兼容 Kubernetes、OpenStack、AWS、Azure、GCP 和本地机器。
与 Prometheus 和 Datadog 连接以收集度量。
自定义用例允许多种模式。
黑客用GitHub服务器挖矿,三天跑了3万个任务,代码惊现中文
结语
开源技术的最大好处在于它的可扩展性。如果需要,你可以在工具中添加功能,使其更适合你的定制架构。这类开源项目拥有广泛的支持文档和用户社区。由于微服务架构将在云计算领域占据主导地位,用于监控和排除这些实例的可靠工具肯定会成为每个开发人员的必备工具。
往期推荐
使用 IDEA 解决 Java8 的数据流问题,极大提升生产力!!
牛逼哄哄的 BitMap,到底牛逼在哪?
当MyBatis 3.5.X遇上JDK8竟然出现了性能问题,全项目组都得加班~
SQL 语句中 left join 后用 on 还是 where,区别大了!
代码总是被嫌弃写的太烂?装上这个IDEA插件再试试!
如果你喜欢本文,欢迎关注我,订阅更多精彩内容
关注我回复「加群」,加入Spring技术交流群
免费领取:字节跳动高阶算法大全
喜欢的这里报道
↘↘↘
DevOps 和SRE 的十大开源项目相关推荐
- 十大开源项目_2014年十大开源项目
十大开源项目 每年,我们都会收集Opensource.com涵盖的最佳开源项目中的最佳项目. 去年的10个项目清单在2014年全年指导着对技术有兴趣的人.现在,我们将为您设置2015年全新的开源项目清 ...
- android开源2016_2016年十大开源项目
android开源2016 每年涌现,壮大,改变和发展的精彩的开源项目继续给我们留下深刻的印象. 从我们的年度最佳项目清单中选出10个绝非易事,当然,这份简短的清单也不能囊括每个值得开展的项目. 为了 ...
- 视频相关十大开源项目
视频相关十大开源项目 1. OpenH323项目 (★★★★★) 上榜理由:最著名的H.323开源协议栈,视频会议开发必备协议栈,强烈推荐 最著名的H.323开源协议栈,包含了全部的H.323协议功能 ...
- 视频会议十大开源项目
在视频会议领域,有许多可以值得参考的开源项目,这些开源项目有的是协议栈.有的是编码器或者是传输协议,由于视频会议系统是一个综合性的应用系统,里面包含功能较多,如能把这些开源项目选择性的加入我们的视频会 ...
- 视频会议及流媒体十大开源项目
在视频会议领域,有许多可以值得参考的开源项目,这些开源项目有的是协议栈.有的是编码器或者是传输协议,由于视频会议系统是一个综合性的应用系统,里面包含功能较多,如能把这些开源项目选择性的加入我们的视频会 ...
- Aandroid最火的十大开源项目
1.目前最火的android-image-slide-panel图片照片墙的加载和滑动特效 2.超高仿QuickNews新闻客户端源码 3.Menu史上最牛的侧滑效果 4.高仿iOS的PickerVi ...
- 阿里十大开源项目,看看你用过几个
JSON处理器 fastjson fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发. 主要特点: 快速FAST (比其它任何基于Java的解 ...
- android十大开源项目
Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用.其中也有许许多多的开发者提供了应用开源项目,贡献出他们的智慧和创造力.学习开源代码是掌握技术 ...
- 腾讯十大开源项目,最后一个太受欢迎了!
点击上方关注 前端技术江湖,一起学习,天天进步 高性能通用 key-value 组件 MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现 ...
最新文章
- 大牛激辩:AI 该像婴儿一样生来就懂事,还是该从零学习?
- msyql request quit
- Go 语言编程 — 运算符
- PHP入门指导:如何学习PHP?
- 在word文档的后面开始页码编
- 【音视频安卓开发 (一)】AndroidStudio项目配置权限、jni库路径、ABI、Cmake
- pandas自动创建文件夹_pandas快速入门
- Win7系统桌面壁纸换不了怎么办
- 今天 Java 14 正式发布了!放弃 Java 8 行吗?
- numpy.insert用法以及内插插0的方法
- go官网打不开,下载地址https://golang.google.cn/
- 沈航计算机学院杨华,BCD码的加法.doc
- 每日算法刷题Day7-比较字符串大小,去掉多余的空格,单词替换
- NXP MCU CAN波特率(位时间)配置详解
- python爬虫实例网易云-爬虫实战(二) 用Python爬取网易云歌单
- 碰壁记录(持续更新)
- 侯震老师--沪师经纪
- Vue2.0之H5元素Audio属性currentTime、duration应用
- 广州大学操作系统实验 2020版 银行家算法
- 尚硅谷JavaScript基础实战丨JS入门到精通全套完整版 P15
热门文章
- C++day15 学习笔记
- 《Ext JS高级程序设计》节选: 一个结合DataWrite和RowEditor的Grid示例(1)
- Linux下运行java DES解密失败,报javax.crypto.BadPaddingException:Given final block not properly padded
- golang编译错误 copying /tmp/go-build069786374/b001/exe/a.out: No such file or directory 解决方法
- linux sshpass 非交互的ssh密码验证 简介
- java -cp 和 java -jar 的区别
- linux 定时任务 crontab 报错 service command not found 解决方法
- 渗透测试中的文件传输技巧
- linux ulimit命令 控制shell执行程序的资源
- 多目录cmake工程 CmakeLists.txt编写