优秀开源云原生工具推荐 -- 系列2

时间:2022-10-10 15:07:18

云原生技术在效率上的巨大优势,使其日益成为IT发展的主流趋势。根据Gartner的预测,到2025年,云原生平台将成为95%以上的新数字化计划的基础。

围绕云原生中的各个方面,都有这非常出色的开源工具,涵盖容器调度、可观察性、持久性存储、容器运行时和其他领域。我们需要的就是发现优秀的工具,并在工作中合理的运用,让云原生之旅更加便捷高效。

本文继续为大家推荐云原生各方面的优秀开源工具。

Service Proxies

CNCF对service proxy给出的说明是:拦截进出给定服务的流量,对其应用一些逻辑,然后将该流量转发到另一个服务。 它本质上充当“中间人”,收集有关网络流量的信息和/或对其应用规则。

在系列前面文章中推荐过service mesh的开源工具,service meshd的实现实际上也依赖于service proxy工具,比如Istio、kuma等项目就是基于Envoy实现的。

优秀开源云原生工具推荐 -- 系列2

要推荐的是Envoy。

Envoy 的项目介绍中描述自己为“为云原生应用程序设计的开源边缘和服务代理”。微服务从业者很快意识到的那样,迁移到分布式架构时出现的大多数操作问题最终都基于两个领域:网络和可观察性。 与单个单体应用程序相比,联网和调试一组相互交织的分布式服务只是一个数量级的问题。Envoy 最初是在 Lyft 构建的,是为单一服务和应用程序设计的高性能 C++ 分布式代理,也是为大型微服务“服务网格”架构设计的通信总线和“通用数据平面”。 基于对 NGINX、HAProxy、硬件负载均衡器和云负载均衡器等解决方案的学习,Envoy 与每个应用程序一起运行,并通过以与平台无关的方式提供通用功能来抽象网络。 当基础设施中的所有服务流量都通过 Envoy 网格流动时,通过一致的可观察性可视化问题区域、调整整体性能并在一个地方添加底层功能变得很容易。

网站:​​https://www.envoyproxy.io/​

除了Envoy以外,还可以关注的开源ce proxy工具包括BFE ,OpenELB等。

相关项目地址如下:

​https://github.com/bfenetworks/bfe/​

​https://github.com/openelb/openelb​

Persistent Storage

在容器化方面,实施数据的持久存储有点违反直觉。 临时容器是一个短暂的计算环境,代码不会永远存储。 但是您仍然需要将数据存储在某处。因此虽然持久化存储的问题一直在云原生范畴内被讨论这,围绕着这一领域也有着很多优秀的开源工具。

优秀开源云原生工具推荐 -- 系列2

首先推荐的是Rook.

Rook 对自身的定位是Storage Operators for Kubrnetes。Rook 将分布式存储系统转变为自我管理、自我扩展、自我修复的存储服务。 它可以自动执行存储管理员的任务:部署、引导、配置、供应、扩展、升级、迁移、灾难恢复、监控和资源管理。

Rook 使用 Kubernetes 平台的强大功能通过 Kubernetes Operator for Ceph 提供其服务。

网站:​​https://rook.io/​

项目:​​https://github.com/rook/rook​

优秀开源云原生工具推荐 -- 系列2

接下来是Longhorn

Longhorn的自我定位是Cloud-native distributed storage built on and for Kubernetes。Longhorn 是 Kubernetes 分布式块存储的开源工具。 使用 Longhorn,您可以为 Kubernetes 集群复制存储,并利用持久卷的内置增量备份。 您可以使这些快照重复出现并将它们备份到辅助对象存储。 根据文档,这是通过“将大型块存储控制器划分为多个较小的存储控制器”来实现的,从而有助于缓解与各种基于容器的微服务的存储相关的问题。 Longhorn 还与非云托管的 K8s 集群兼容,并具有可免费使用的时尚图形管理 UI。 与 Rook 类似,它是 Kubernetes 原生的。 Longhorn 最初由 Rancher 开发,现在是 CNCF 内的一个孵化项目。

网站:​​https://longhorn.io/​

项目:​​https://github.com/longhorn/longhorn​

其他推荐的云原生 持久化存储项目包括: CubeFS, K8up, OpenEBS, ORAS, Piraeus Datastore 等

Cloud-Native Database Tools

除非您的应用程序完全是无状态的,否则它将需要存储和检索持久数据。 这就是数据库的用武之地——它们使用一种简单的查询语言,允许授权用户检索和编辑数据。 现在已经在支持有状态的 Kubernetes 部署方面取得进展,许多组织正在寻求将容器化和 Kubernetes 的相同可扩展性优势带入数据库管理。

优秀开源云原生工具推荐 -- 系列2

首先要说到Vitess。

Vitess为解决MySQL横向扩展而实现的集群管理系统。

Vitess 诞生于 2010 年,旨在解决在 YouTube 上大规模运行 MySQL 时遇到的问题。 Vitess 被描述为 MySQL 的分片中间件。 使用 Vitess,您可以对 MySQL 数据库进行分片,同时从一开始就好像您正在与一个统一的数据库进行通信,所有这些都无需向您的应用程序添加额外的逻辑。

由于 MySQL 本身不支持分片,Vitess 是一个有用的中间件,可以保留 MySQL,同时支持更多的分布式数据库架构。 Vitess 还包括其他智能功能,例如自动处理故障转移和备份以及重写可能导致性能不佳的查询。 YouTube、Weave、Square、Slack 和 Hubspot 只是众多使用 Vitess 的公司中的一部分。

网站:​​https://vitess.io​

项目:​​https://github.com/vitessio/vitess​

优秀开源云原生工具推荐 -- 系列2

另一个推荐的是TiKV

TiKV 是一个擅长处理大量数据的键值数据库。 它本质上是一个统一的分布式存储层,旨在扩展到 PB 级部署或数万亿行。 TiKV 提供了一个符合 ACID 的事务键值 API,并拥有极短的响应时间。

TiKV 的结构包括存储键值对的 TiKV 节点和管理 TiKV 集群的 Placement Driver (PD) 节点。 TiKV 的灵感来自 Google 的 Spanner,这是一个全球分布的数据库。 TiDB、Zetta、Tidis、Titan 和 JuceFS 等项目都使用 TiKV。 要开始使用 TikV,您可以按照此处的分步说明进行操作。

需要特别提到一点,TiKV 最初由 PingCAP 创建,是我们中国的开源项目,现在是 CNCF 旗下的一个毕业项目。

网站:​​https://tikv.org/​

项目:​​https://github.com/tikv/tikv​

安全和合规性

在安全和合规性方面,开源项目推荐HummerRisk。HummerRisk 是一款开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题。核心能力包括混合云的安全治理和K8S容器云安全检测。

优秀开源云原生工具推荐 -- 系列2

首先可以快速实现跨云的持续合规性检测,因为是国内开源,对国内的云支持度非常好。另外就是可以对云原生资源进行安全检测,比如镜像、容器、K8s以及源代码等。同时项目保持了高度的灵活性,针对规则和检测都可以快速的实现自定义,以及产品扩充。

网站:​​https://www.hummercloud.com/​

项目地址:​​https://github.com/HummerRisk/HummerRisk​

云原生展望

到 2023 年,大多数应用程序将是云原生的。 云原生世界将持续发展,开源是支持我们的微服务、容器化和 DevOps 新时代的基础。尽管从技术上讲,您可以使用这些开源项目通过开发和运营自行托管,但组织很可能会采用开源、闭源和SaaS产品的组合来完成工作。 无论如何,很高兴知道可以免费使用什么。

工具会持续变化,时刻跟上上技术趋势才能保持领先。

写着写着发现内容比较多,就将这个系列延长了,下一篇我们会继续讨论云原生数据库、构建工具、云原生无网络工具等。