云原生技术在效率上的巨大优势,使其日益成为IT发展的主流趋势。根据Gartner的预测,到2025年,云原生平台将成为95%以上的新数字化计划的基础。
围绕云原生中的各个方面,都有这非常出色的开源工具,涵盖容器调度、可观察性、持久性存储、容器运行时和其他领域。我们需要的就是发现优秀的工具,并在工作中合理的运用,让云原生之旅更加便捷高效。
本文为系列的第四篇,继续为大家推荐云原生各方面的优秀开源工具。
混沌工程
首先什么是混沌工程,混沌工程(Chaos Engineering)是通过主动向系统中引入软件或 硬件的异常状态(扰动),制造故障场景并根据系统在各种压力下的 行为表现确定优化策略的一种系统稳定性保障手段。最早大力提出混沌工程概念的就是netflix,拜 Netflix 所赐,现在大部分的混沌工程项目都叫做 Monkey,也就是一只讨厌的猴子,在你的系统里面上蹦下窜,不停捣乱,直到搞挂你的系统。
Chaos Mesh
Chaos Mesh自己的定义是“A Powerful Chaos Engineering Platform for Kubernetes”
可以看出,设计的出发点就是围绕着k8s来构建混沌工程。
使用 Chaos Mesh,您可以方便地模拟开发、测试和生产环境中现实中可能出现的各种异常,发现系统中的潜在问题。 为了降低混沌工程项目的门槛,混沌网格为您提供了可视化操作。 您可以在 Web UI 上轻松设计混沌场景并监控混沌实验的状态。
目前Chaos Mesh是使用最广的一个开源混沌工程项目,如果感兴趣,可以去深入学习一下。
网站:https://chaos-mesh.org/
项目:https://github.com/chaos-mesh/chaos-mesh
ChaosBlade
ChaosBlade是一个云原生混沌工程平台,支持多种环境、集群和语言。
包含混沌工程实验工具 chaosblade 和混沌工程平台 chaosblade-box,旨在通过混沌工程帮助企业解决云原生过程中高可用问题。chaosblade 是有阿里巴巴开源的项目,所以从内容、文档等各个方面对中国的用户都是非常友好的。
网站:https://chaosblade.io/
项目:https://github.com/chaosblade-io/chaosblade
Key Management
SPIFFE
SPIFFE,即每个人的安全生产身份框架(Secure Production Identity Framework for Everyone),是一套开源标准,用于在动态和异构环境中安全地进行身份识别。采用 SPIFFE 的系统无论在哪里运行,都可以轻松可靠地相互认证。
SPIFFE 开源规范的核心是——通过简单 API 定义了一个短期的加密身份文件 SVID。然后,工作负载进行认证时可以使用该身份文件,例如建立 TLS 连接或签署和验证 JWT 令牌等。
SPIFFE 已经在云原生应用中得到了大量的应用,尤其是在 Istio 和 Envoy 中。下面将向你介绍 SPIFFE 的一些基本概念。
网站:https://spiffe.io/
项目:https://github.com/spiffe
Athenz
其他可以推荐的项目是Athenz ,Athenz 用于动态基础设施中基于 X.509 证书的服务身份验证和细粒度访问控制的开源平台
网站:https://www.athenz.io/
项目:https://github.com/AthenZ/athenz
边缘计算
边缘计算是最近几年非常热门的一个领域,云原生在边缘计算领域也有着很多非常优秀的项目,这里我们选择两个最具代表性的进行推荐。
KubeEdge
KubeEdge 是一个开源系统,用于将原生容器化应用编排功能扩展到 Edge 的主机。 它建立在 kubernetes 之上,为云和边缘之间的网络、应用程序部署和元数据同步提供基本的基础架构支持。 KubeEdge 在 Apache 2.0 下获得许可。 并且绝对免费供个人或商业使用。
KubeEdge 的目标是打造一个支持边缘计算的开放平台,将原生容器化应用程序编排能力扩展到边缘主机,它基于 kubernetes 构建,为云和边缘之间的网络、应用程序部署和元数据同步提供基础基础设施支持。
KubeEdge 是华为贡献给CNCF的开源项目,从网站的贡献者列表我们可以看出,中国企业占据了大部分。
项目:https://github.com/kubeedge/kubeedge
OpenYurt
OpenYurt 同样是有阿里巴巴开源的云原生项目,可以看出近些年,在开源领域阿里确实做出了非常多的贡献。
OpenYurt是基于原生Kubernetes构建的,目标是对其进行扩展以无缝支持边缘计算。简而言之,OpenYurt使用户能够管理在边缘基础架构中运行的应用程序,就像它们在云基础架构中运行一样。官方网站是https://openyurt.io。OpenYurt是阿里巴巴的第一个开源,云原生边缘计算项目,汇集了阿里巴巴集团众多边缘计算团队的深厚技术积累,并探讨了对边缘计算云原生实施的需求。自2018年以来,OpenYurt已成为ACK @ Edge的核心框架,并已应用于内容交付网络(CDN),ApsaraVideo Live,IoT平台,物流,工业头脑和城市头脑。
项目:https://github.com/openyurtio/openyurt
安全和合规性
在安全和合规性方面,开源项目推荐HummerRisk。HummerRisk 是一款开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题。核心能力包括混合云的安全治理和K8S容器云安全检测。
首先可以快速实现跨云的持续合规性检测,因为是国内开源,对国内的云支持度非常好。另外就是可以对云原生资源进行安全检测,比如镜像、容器、K8s以及源代码等。同时项目保持了高度的灵活性,针对规则和检测都可以快速的实现自定义,以及产品扩充。
网站:https://www.hummercloud.com/
项目地址:https://github.com/HummerRisk/HummerRisk
云原生展望
到 2023 年,大多数应用程序将是云原生的。 云原生世界将持续发展,开源是支持我们的微服务、容器化和 DevOps 新时代的基础。尽管从技术上讲,您可以使用这些开源项目通过开发和运营自行托管,但组织很可能会采用开源、闭源和SaaS产品的组合来完成工作。 无论如何,很高兴知道可以免费使用什么。
工具会持续变化,时刻跟上上技术趋势才能保持领先。
本系列的文章到此就告一段落了,感谢大家的阅读。