天天看點

IBM 開源主要關注 Spark,Docker,Node 和 Go

近期 ibm 推出開源項目門戶,計劃開源 50個項目。在 ibm 開源門戶 developerworks中有大量的開源項目都是為了提升 spark 性能來優化 docker 的網絡管理。

ibm 目前推出的 developerworks 開源門戶主要是 ibm 已經開源的軟體集合,這些開源項目最主要的有 5 個主要的類别,分為 node.js 開發,spark 資料處理架構,go 語言 和 docker 容器。

spark kernel (spark/scala/ipython)

ibm 對 spark 資料處理架構,hadoop 相關的其他技術都非常感興趣,也醞釀一段時間了。除了對 spark 進行貢獻之外,還開發了 spark 周邊的工具鍊,使得 spark 更容易學習和使用。例如:spark kernel,讓遠端應用使用 spark 進行實時操作,可以替換現有的 spark shell。

shell 通常用于 spark 的互動處理,但是不容易做成其他應用也可以通路的服務。同時,ibm 宣稱大部分的解決方案都過于緩慢,繁瑣并且有一定限制。spark kernel 使用 ipython 消息協定,最初是用來建立互動式資料可視化"notebooks" 給科學計算應用,但是這也是一種發送代碼回 spark 叢集和檢索結果的方式。此外,ipython notebooks 可以連接配接 spark kernel,讓現有使用者對內建 spark 和 spark 後端更有興趣。

node application metrics (c++/node.js)

node.js 應用不透明是一個長期的吐槽點 —— node 應用調試會是一種非常痛苦的體驗,除非你使用高端的工具或者特定的平台。node application metrics 提供了一個基礎設施,來為基于 node.js 的應用收集資源和性能監控資料。node application metrics 建立所基于的資料收集性能,是 health center 開發工具所使用的,同時也是基于 eclipse 的 ibm 監控和診斷工具的一部分。

node application metrics 公開了 javascript 和 c 的 api,這使得開發者工具、管理和擴充工具、性能監控工具,比如 statsd with graphite 或 elasticsearch with kibana,都可以實作資料采集。

clampify (go/docker)

"羨慕是發明的重要因素" clampify 如是說。在這點上,是羨慕 openstack 的 neutron 網絡系統。 那能基于這個元件,使用ta的網絡隔離和網絡路由功能,在 swarm 叢集與 docker 容器結合,進而替代 openstack?答案當然是:yes!

clampify 能讓你在 swarm 叢集中的節點間建立多個獨立的網絡。它可以将同一使用者在不同網絡上的不同工作負載放到容器中,或者對多租戶叢集解決方案建立子產品,在子產品中,容器中的不同 租戶可以挂在獨立的網絡上。除了 docker 和 swarm,這個解決方案利用了 openstack項目的兩個元件,keystone 和 neutron 。

是以 clampify 可以在 "其他叢集系統,比如 apache mesos "使用,或者使用 clampify 在 docker swarm 設定多租戶叢集。

node-red (node.js/javascript)

可視化程式設計工具經常在設計工作流或者資訊流的時候使用,比如資料庫關系表。node-red 是 ibm 新興技術服務團隊建立的物聯網配線可視化工具。node-red 設計的目的是為物聯網程式設計快速預覽所有代碼。現在來說,比較少用來建立産品代碼,主要是用來快速建立原型,然後快速優化。

i18n4go (go)

這裡有一個極其簡單而又有用的 go 項目,用來解決越來越常見的軟體問題。go 需要支援 i18n (國際化) 工具,但是現有的 go 程式的國際化支援都比較冗長繁雜。i18n4go提供一個應用工作流程序 —— 從 go 應用中提取字元串,合并他們到單個包(消除備援),準備翻譯,使底層代碼容易接收他們。