近日 InfoWorld 公布了 2019 年最佳开源软件榜单。InfoWorld 是致力于引领 IT 决策者走在科技前沿的国际科技媒体品牌,每年 InfoWorld 都会根据软件对开源界的贡献,以及在业界的影响力评选出当年的“最佳开源软件”(2019 InfoWorld Bossie Awards,Best of Open Source Software awards),该奖项评选已经延续了十多年。
今年 InfoWorld 还是将目光集中在用于软件开发、云计算、数据分析和机器学习的优秀开源项目。下边一起看看哪些项目入选了。
BPF Compiler Collection(BCC)BPF Compiler Collection 是一个 Linux 动态跟踪工具。无第三方模块依赖,该工具继承 BPF 这个强大的内核中虚拟机的功能,可对程序进行高效而且安全的跟踪。
Language Server Protocol
LSP(Language Server Protocol)是语言服务器协议,由红帽、微软和 Codenvy 联合推出,可以让不同的程序编辑器与集成开发环境(IDE)方便地嵌入各种编程语言,允许开发人员在最喜爱的工具中使用各种语言来编写程序。它通过用于开发工具和语言服务器间通信的 JSON-RPC 标准,能够让编程工具提供实时反馈的详细信息并以此实现多种强大功能,比如符号搜寻、语法分析、代码自动补全、移至定义、描绘轮廓与重构等。
Serverless Framework
Serverless 架构开发框架 Serverless Framework 使用 AWS Lambda、Azure Functions 与 Google CloudFunctions 等技术,可以构建 Serverless 架构的 Web、移动和 IoT 应用。它不仅允许用户自由选择不同的部署目标,而且能帮助更快更轻松地对事件驱动型函数即服务(FaaS)应用进行测试、部署与管理。在创建函数、定义端点并指定目标云环境之后,Serverless Framework 即可对代码、安全性要求、资源要素以及云部署 YAML 进行打包,从而顺利完成项目部署。
Istio
Istio 是一款强大的工具,旨在提供一种统一化的微服务连接、安全保障、管理与监控方式。Istio 项目能够为微服务架构提供流量管理机制,同时亦为其它增值功能(包括安全性、监控、路由、连接管理与策略等)创造了基础。该项目利用久经考验的 Lyft Envoy 代理进行构建,可在无需对应用程序代码作出任何发动的前提下实现可视性与控制能力。
Envoy
Envoy 是开源的边缘和服务代理,用于云原生应用,其最初是在 Lyft 构建的,它是为单一服务和应用程序设计的高性能 C++ 分布式代理,以及为大型微服务 Service Mesh 架构设计的通信总线和通用数据平面。
作为 Kubernetes 的标准服务代理,Envoy 一直在快速发展。在成为首个 CNCF 项目之后(Envoy 也是第三个 CNCF 毕业项目),Envoy 快速进入 Istio 与 AWS App Mesh 等 Service Mesh 的核心,并成为大部分 Kubernetes 设置中不可或缺的组成部分。
Kong
Kong 是一个可扩展、快速的微服务 API 网关,用于管理、保护与连接混合及云原生架构。Kong 运行于全部服务之前,默认提供断路器、运行状态检查、OAuth、转换、缓存与地理位置复制等功能,并可以通过插件实现各种扩展,例如身份验证、流量控制与可观察性等。Kong 在 1.0 GA 的时候带来了 Service Mesh 能力,用户不仅可以将 Kong 部署为 API 网关,还可以将其部署为独立的 Service Mesh 代理。Kong 插件能为 Service Mesh 提供开箱即用的关键功能,并能与其它云原生技术集成,包括 Prometheus、Zipkin、健康检查、canary 测试与蓝绿测试等。
Pulumi
Pulumi 是一个架构即代码项目,可在任何云上使用开发者喜欢的语言创建、部署和管理基础架构。不使用 YAML 而是通过使用常规编程语言功能(如循环、函数、类和包管理。)就可以自动配置和管理 AWS、Azure、Google Cloud Platform 与 Kubernetes 资源。
Sysdig
Sysdig 是一个超级系统工具,比 strace、tcpdump、lsof 加起来还强大。它可用来捕获系统状态信息,保存数据并进行过滤和分析。使用 Lua 开发,提供命令行接口以及强大的交互界面。Sysdig 提供了一组工具,不仅可以用于了解基于容器的应用的实际性能,而且可以及时发现各类异常状况与安全威胁。
Kraken
Kraken 是一个点对点(P2P)Docker 容器仓库,其旨在为大规模系统提供 Docker 镜像服务,解决跨区域支持、性能瓶颈和混合云环境所面临的挑战。Kraken 大致基于 BitTorrent 协议,与 Docker registry API 兼容,并提供可配置的存储后端,诸如 S3 和 HDFS 等。
Anaconda在于 Anaconda Navigator(用于启动应用程序与管理软件包的图形化桌面环境)与 Anaconda 的本地软件包管理器 Conda。
Kotlin
Delta Lake 是一个存储层,为 Apache Spark 和大数据 workloads 提供 ACID 事务能力,其通过写和快照隔离之间的乐观并发控制(optimistic concurrency control),在写入数据期间提供一致性的读取,从而为构建在 HDFS 和云存储上的数据湖(data lakes)带来可靠性。
Wasmer
Wasmer 是一个 Go 库,用来执行 WebAssembly 二进制程序,它在 WebAssembly 服务器运行时领域居于领先地位,其主要优势体现在接近原生水平的执行速度。