歡迎您光臨本站 註冊首頁

InfoWorld 公布 2019 年最佳開源軟體

←手機掃碼閱讀     admin @ 2019-10-10 , reply:0

近日 InfoWorld 公布了 2019 年最佳開源軟體榜單。

InfoWorld 是致力於引領 IT 決策者走在科技前沿的國際科技媒體品牌,每年 InfoWorld 都會根據軟體對開源界的貢獻,以及在業界的影響力評選出當年的「最佳開源軟體」(2019 InfoWorld Bossie Awards,Best of Open Source Software awards),該獎項評選已經延續了十多年。

https://www.infoworld.com/article/3444198/the-best-open-source-software-of-2019.html

今年 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 是一個 Python/R 發行版,用於科學計算和信號處理等領域,支持 Linux、Mac 與 Windows,包含了眾多流行科學計算與數據分析等 Python/R 包。Anaconda 與其它發行版之間最大的區別在於 Anaconda Navigator(用於啟動應用程序與管理軟體包的圖形化桌面環境)與 Anaconda 的本地軟體包管理器 Conda。

Kotlin

Kotlin 是基於 JVM 的新一代 Android 開發語言,它與 Java 100% 互通,並具備諸多 Java 不支持的特性,相比 Java 更安全與簡潔。

Julia

Julia 是一個新的高性能動態高級編程語言,語法與其它編程語言類似,易於其他語言用戶學習。Julia 擁有豐富的函數庫,提供了數字精度、精緻的增幅器(sophisticated amplifier)和分散式并行運行方式。核心函數庫等大多數庫是由 Julia 編寫,但也用成熟的 C 和 FORTRAN 庫來處理線性代數、隨機數產生和字元串處理等問題。Julia 語言可定義函數並且根據用戶自定義的參數類型組合再進行重載。

Hazelcast Jet

Hazelcast Jet 是一個分散式計算平台,專為高性能流處理和快速批處理而構建。它在內存數據網格(IMDG)中嵌入Hazelcast,以提供輕量級的處理器包和可擴展的內存存儲。

Apache Airflow

Apache Airflow 是一個數據管道監控工具,任何工作流都可以在這個使用 Python 編寫的平台上運行。Airflow 允許工作流開發人員輕鬆創建、維護和周期性地調度運行工作流(即有向無環圖或成為 DAGs)的工具,包括數據存儲、增長分析、Email 發送與 A/B 測試等跨越多部門用例。Airflow 可以與 Hive、Presto、MySQL、HDFS、Postgres 和 S3 交互,並且提供了鉤子使得系統擁有很好地擴展性。此外它還提供了一個基於 Web 的用戶界面,可以可視化地查看管道的依賴關係、監控進度與觸發任務等。

GridGain

GridGain 是一個網格計算框架,專註於提供平行計算能力,能夠與 JBoss 和 Spring 相集成,它提供可伸縮集群、本機複製與良好的備份和恢複選項,非常適合立足分散式數據中心為數據密集型應用提供服務。此外,GridGain 還支持本地、雲與混合部署方式。

Apache Druid

Apache Druid 是一個專為事件數據的 OLAP 查詢設計的數據存儲系統,是一個用於大數據實時查詢和分析的高容錯、高性能分散式系統,旨在快速處理大規模的數據,並能夠實現快速查詢和分析。Druid 具有出色的可伸縮性與快速的即時查詢響應速度,它將流式攝取與 OLAP 風格的批量攝取以及搜索技術結合在一起,能夠輕鬆對實時及歷史數據進行切片、切塊與轉換。

TensorFlow

TensorFlow 是當前最強的機器學習與深度學習框架,它內建深度學習的擴展支持,任何能夠用計算流圖形來表達的計算,都可以使用 TensorFlow,任何基於梯度的機器學習演算法都能夠受益於 TensorFlow 的自動分化(auto-differentiation)。TensorFlow 2.0 中還帶來了 Eager Execution 模式,這是一種命令式介面,類比 PyTorch,開發者在調用其進行計算時可以直接直觀地得到結果,這使得基於 TensorFlow 的開發更加簡單明了。

TensorWatch

TensorWatch 是一個調試和可視化工具,專為 Microsoft Research 的數據科學、深度學習和強化學習而設計。它適用於Jupyter Notebook,可顯示機器學習培訓的實時可視化,並為模型和數據執行其它關鍵分析任務,此外,它還提供強大的訓練前與訓練后功能,包括模型圖可視化、降維數據探索、模型統計以及用於卷積網路的多種預測解釋器。TensorWatch 旨在靈活且可擴展,因此還可以構建自己的自定義可視化 UI 和儀錶板。除了傳統的「所見即所得」方法外,它還具有針對實時 ML 訓練流程執行任意查詢的獨特功能。

PyTorch

PyTorch 是一個 Python 深度學習框架,提供強大的 GPU 加速 Tensor 計算(類似 numpy)和構建基於 tape 的自動升級系統上的深度神經網路。開發者可以重用喜歡的 Python 包,如 numpy、scipy 和 Cython,在需要時擴展 PyTorch。

Transformers

Transformers(以往稱為 pytorch-transformers 和 pytorch-pretrained-bert)是用於 TensorFlow 2.0 和 PyTorch 的自然語言處理框架。它提供了用於自然語言理解(NLU,Natural Language Understanding)和自然語言生成(NLG,Natural Language Generation)的最先進的通用架構,包括 BERT、GPT-2、RoBERTa、XLM、DistilBert 與 XLNet 等,具有超過 100 種語言的 32 種以上經過預訓練的模型,以及 TensorFlow 2.0 和 PyTorch 之間的深度互操作性。

Ludwig

Ludwig 是基於 TensorFlow 的深度學習工具箱,它允許用戶在無需編寫代碼的情況下即可訓練並測試深度學習模型。Ludwig 的獨特之處在於它能夠幫助非專家更容易地理解深度學習,並為經驗豐富的機器學習開發者和研究人員提供更快的模型改進迭代周期。通過使用 Ludwig,專家和研究人員可以簡化原型設計過程及數據處理,可以專註於開發深度學習架構。

RAPIDS

RAPIDS 是一套數據科學框架,能夠在不放棄已有經驗與技能的前提下實現機器學習加速。RAPIDS 能夠利用內存內處理方式在 GPU 上直接訓練機器學習模型,並且相比其它 GPU 訓練方法,它的速度高几個數量級。RAPIDS 所使用的數據分析工具與 Python 相關實現方案如 Pandas DataFrames 完全等效,同時又有所不同,在某些情況下只需要變更腳本中的 import 語句即可完成兼容。

MLflow

MLflow 是一個機器學習平台,它為機器學習項目中的各個主要組成部分及階段都準備了對應的工具。MLflow Tracking(跟蹤組件)提供了一組 API 和用戶界面,用於在運行機器學習代碼時記錄和查詢參數、代碼版本、指標和輸出文件,以便以後可視化它們。MLflow Projects(項目組件)提供了打包可重用數據科學代碼的標準格式。MLflow Models(模型組件)提供了一種用多種格式打包機器學習模型的規範。

Kubeflow

Kubeflow 是一個機器學習工具庫,Kubeflow 項目旨在使 Kubernetes 上的機器學習變的輕鬆、便捷與可擴展,其目標不是重建其它服務,而是提供一種簡便的方式找到最好的 OSS 解決方案。Kubeflow 解決了長期以來困擾各類組織的兩個現實問題:如何將機器學習研究從開發環境轉移到生產環境;如何將遙測技術從生產環境轉移回開發環境,以實現深度研究。

Delta Lake

Delta Lake 是一個存儲層,為 Apache Spark 和大數據 workloads 提供 ACID 事務能力,其通過寫和快照隔離之間的樂觀併發控制(optimistic concurrency control),在寫入數據期間提供一致性的讀取,從而為構建在 HDFS 和雲存儲上的數據湖(data lakes)帶來可靠性。

Wasmer

Wasmer 是一個 Go 庫,用來執行 WebAssembly 二進位程序,它在 WebAssembly 伺服器運行時領域居於領先地位,其主要優勢體現在接近原生水平的執行速度。

以上就是本次 InfoWorld Bossie Awards 項目,關於每個項目具體的入選評語等詳細信息,可以查看網站原文:

https://www.infoworld.com/article/3444198/the-best-open-source-software-of-2019.html


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/110451/2019-infoworld-bossie-awards
InfoWorld 公布 2019 年最佳開源軟體已經有423次圍觀

http://coctec.com/news/soft/show-post-216569.html