所謂開源,就是把軟件的源代碼開放出來,大家都能看到源代碼,大家可以一起研究源代碼并對軟件的進行優化和改進。越來越多的IT公司對開源持開放態度,一方面有了優秀的開源項目,就不用再重復造輪子,可以直接拿來使用;另一方面,自己公司有優秀的自研項目,為了發展壯大可以選擇將項目開源,讓更多的開發者參與進來,一起努力提升軟件的功能!近些年來,國內很多大型IT公司也逐漸推出了一些高質量的開源項目,比如華為開源了鴻蒙系統、騰訊開源了自研的頂級數據庫TBase、 阿里開源了自研的科學計算引擎Mars等。
下面,我們先大概的回顧一下紅帽公司發布的企業開源現狀的調查報告,然后簡單的介紹一下最受IT公司青睞的一些開源項目。這些主要是面向企業的應用軟件項目,涵蓋Web服務器、大數據、云計算、云存儲、操作系統、數據庫等幾大類別。
紅帽發布2019年企業開源調查報告
開源技術已被廣泛應用于企業中,這一點毋庸置疑。像谷歌和微軟這樣的科技巨頭也承認開源的力量——谷歌云最近與 MongoDB、redis Labs、Neo4j 和Confluent 等公司建立合作伙伴關系便是很好的佐證。但這些企業如何看待開源?為什么選擇開源?它們關于開源的下一步打算又是什么?基于以上疑問,紅帽發起了“企業開源狀態”調查,并于 2019年4 月16日發布了調查報告。
這份報告是對世界各地 950 位 IT 領導者進行訪談后的成果,調查區域包括美國、英國、拉丁美洲及亞太地區,旨在了解不同地理區域的企業開源概況。
企業是否認為開源具有戰略性意義?這是紅帽最先拋出并且最希望了解的一個問題。
調查結果顯示,950 位受訪者中,絕大多數人認為開源對企業整體的基礎架構軟件戰略具有戰略重要性。事實上,超過 69% 的人表示這非常或極其重要。
另外,在過去的 12 個月中,68% 的企業增加了對企業開源的使用,超過 59% 的企業預計在未來 12 個月內將繼續使用企業開源。
今時今日,企業開源也可以取代專有軟件,用于從虛擬化到消息總線再到應用服務器等許多不同目的。開源還有助于定義和塑造從容器化到軟件定義存儲和網絡的基礎架構的新方法。
其中,使用開源技術達成基礎架構現代化和應用現代化的企業占比分別為 53% 和 42%。
不過,開源軟件不僅僅是為了替換舊的基礎設施。42% 的受訪者表示他們正在將其用于數字化轉型,具體主要應用于大數據分析和數據庫管理。這一趨勢不容小覷。
開源的獨特之處在于,它使個人和組織能夠以最小的障礙進行協作,實現共同目標。
現如今許多新類別的軟件都受到開源技術的影響。人工智能、軟件定義的基礎架構和云原生平臺就是一些很好的例子。
當今軟件世界的許多創新都是在開源的情況下發生的,依賴軟件來支持其業務的組織都希望能夠利用這一創新。
正如紅帽 CEO Jim Whitehurst 在調查報告開篇所講:“這個時代發生的最激動人心的技術創新正在開源社區形成”。
Part1 web服務器
1、Nginx
Nginx (engine x) 是俄羅斯人開發出來的一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務。其特點是占有內存少,并發能力強,Nginx的并發能力在同類型的網頁服務器中表現較好,很多人使用Nginx來做負載均衡器和web反向代理。
支持的操作系統:windows、linux 和 OS X
相關網站:https://nginx.org
2、Lighttpd
是一個輕量級的開源Web服務器軟件,其根本的目的是提供一個專門針對高性能網站,安全、快速、兼容性好并且靈活的web server環境。具有非常低的內存開銷、cpu占用率低、效能好以及豐富的模塊等特點。廣泛的應用于一些嵌入式的web服務器上。
支持的操作系統:Windows、Linux 和 OS X
相關網站:https://www.lighttpd.net/
3、Tomcat
Tomcat服務器是一個免費的開放源代碼的Web 應用服務器,屬于輕量級應用服務器,主要用于運行JSP 頁面和Servlet。因為Tomcat 技術先進、性能穩定,而且免費,因而深受JAVA 愛好者的喜愛并得到了部分軟件開發商的認可,成為目前比較流行的Web 應用服務器。
支持的操作系統:Windows、Linux 和 OS X
相關網站:https://tomcat.Apache.org
4、Apache HTTP Server
Apache HTTP Server(簡稱Apache),是Apache軟件基金會的一個開放源代碼的網頁服務器,可以在大多數電腦操作系統中運行,由于其具有的跨平臺性和安全性,被廣泛使用,是自 1996 年以來互聯網上最受歡迎的 Web 服務器系統。據稱,目前所有網站中 55.3% 是由 Apache 支持的。
支持的操作系統:Windows、Linux 和 OS X
相關網站:https://httpd.apache.org
Part2 大數據與云計算
5、Hadoop
Hadoop是一個由Apache基金會所開發的分布式系統基礎架構,被公認是一套行業大數據標準開源軟件,在分布式環境下提供了海量數據的處理能力。幾乎所有主流廠商都圍繞Hadoop開發工具、開源軟件、商業化工具和技術服務,Hadoop已經成為大數據的標配框架。
支持的操作系統:Windows、Linux 和 OS X
相關網站:http://hadoop.apache.org
6、Docker
Docker是一個開源的應用容器引擎,開發者可以打包自己的應用到容器里面,然后遷移到其他機器的docker應用中,可以實現快速部署,廣泛的被應用于大數據的領域中。基本上做大數據的公司都會使用到該工具。
支持的操作系統:Windows、Linux 和 OS X
相關網站:https://www.docker.com
7、Spark
Apache Spark 是專為大規模數據處理而設計的快速通用的計算引擎。Spark類似于Hadoop MapReduce的通用并行框架。Apache Spark 聲稱,“它在內存中運行程序的速度比 Hadoop MapReduce 最多快 100 倍,在磁盤上快 10 倍。Spark能更好地適用于數據挖掘與機器學習等需要迭代的MapReduce的算法。
支持的操作系統:Windows、Linux 和 OS X
相關網站:http://spark.apache.org
8、Storm
Storm是一個Twitter開源的分布式實時大數據處理系統,被業界稱為實時版Hadoop。隨著越來越多的場景對Hadoop的MapReduce高延遲無法容忍,比如網站統計、推薦系統、預警系統、金融系統(高頻交易、股票)等等,大數據實時處理解決方案(流計算)的應用日趨廣泛,目前已是分布式技術領域最新爆發點,而Storm更是流計算技術中的佼佼者和主流。
支持的操作系統:Windows、Linux 和 OS X
相關網站:https://storm.apache.org
9、Cloud Foundry
Cloud Foundry是業界第一個開源PaaS云平臺,它支持多種框架、語言、運行時環境、云平臺及應用服務,使開發人員能夠在幾秒鐘內進行應用程序的部署和擴展,無需擔心任何基礎架構的問題。它聲稱“由行業領袖為行業領袖構建”,其支持者包括 IBM、 Pivotal、惠普企業、VMware、英特爾、SAP 和 EMC。
支持的操作系統:與系統無關
相關網站:
https://www.cloudfoundry.org
10、CloudStack
CloudStack是一個開源的具有高可用性及擴展性的云計算平臺,同時是一個開源云計算解決方案。可以加速高伸縮性的公共和私有云(IaaS)的部署、管理、配置。使用CloudStack作為基礎,數據中心操作者可以快速方便的通過現存基礎架構創建云服務。
支持的操作系統:與操作系統無關
相關網站:
https://cloudstack.apache.org
11、OpenStack
OpenStack是一個開源的云計算管理平臺項目,是一系列軟件開源項目的組合。由NASA(美國國家航空航天局)和Rackspace合作研發并發起,授權的開源代碼項目。OpenStack為私有云和公有云提供可擴展的彈性的云計算服務。項目目標是提供實施簡單、可大規模擴展、豐富、標準統一的云計算管理平臺。這種很受歡迎的云計算平臺聲稱,“世界上成百上千個大品牌”每天依賴它。
支持的操作系統:與操作系統無關
相關網站:https://www.openstack.org
Part3 云存儲
12、Gluster
GlusterFS是一個可高度擴展、可伸縮的分布式文件系統,適用于云存儲和媒體流等數據密集型任務。實現了全部標準POSIX接口,并用fuse實現虛擬化,讓用戶看起來就像是本地磁盤一樣。能夠處理千數量級的客戶端。
支持的操作系統:Linux、Windows
相關網站:https://www.gluster.org
13、FreeNAS
FreeNAS是一套免費開源的NAS服務器,它能將一部普通PC變成網絡存儲服務器。該軟件基于FreeBSD,Samba 及php,支持CIFS (samba), FTP, NFS protocols, Software RAID (0,1,5) 及 web界面的設定工具。用戶可通過Windows、macs、FTP、SSH 及網絡文件系統 (NFS) 來訪問存儲服務器;FreeNAS可被安裝于硬盤或移動介質USB Flash Disk上。FreeNAS 服務器前途無量;它是組建簡單網絡存儲服務器的絕佳選擇
支持的操作系統:與系統無關
相關網站:http://www.freenas.org
14、Lustre
Lustre是一個開源、分布式并行文件系統軟件平臺,具有高可擴展、高性能、高可用等特點。Lustre的構造目標是為大規模計算系統提供一個全局一致的POSIX兼容的命名空間,這些計算系統包括了世界上包含最強大的高性能計算系統。它支持數百PB數據存儲空間,支持數百GB/s乃至數TB/s并發聚合帶寬。一些最早采用它的用戶包括美國的幾大國家實驗室:勞倫斯·利物莫爾國家實驗室、桑迪亞國家實驗室、橡樹嶺國家實驗室和洛斯阿拉莫斯國家實驗室。
支持的操作系統:Linux
相關網站:http://lustre.org
15、Ceph
Ceph是一種為優秀的性能、可靠性和可擴展性而設計的分布式文件系統,是最早致力于開發下一代高性能分布式文件系統的項目。隨著云計算的發展,Ceph乘上了OpenStack的春風,進而成為了開源社區受關注較高的項目之一。
支持的操作系統:Linux
相關網站:https://ceph.com
Part4 操作系統
16、centos
CentOS(Community Enterprise Operating System,中文意思是社區企業操作系統)是Linux發行版之一,它是來自于Red Hat Enterprise Linux依照開放源代碼規定釋出的源代碼所編譯而成。由于出自同樣的源代碼,因此有些要求高度穩定性的服務器以CentOS替代商業版的Red Hat Enterprise Linux使用。兩者的不同,在于CentOS完全開源。
17、Ubuntu
Ubuntu也是開源的,也擁有龐大的社區力量,用戶可以方便地從社區獲得幫助,提供廣受歡迎的Linux發行版,有多個版本:桌面版、服務器版、云版、手機版、平板電腦版和物聯網版。聲稱用戶包括亞馬遜、IBM、維基百科和英偉達。
相關網站:
http://www.ubuntu.com/index_kylin
Part5 數據庫
18、MySQL
MySQL是用C/C++編寫的關系型數據庫,自稱是“世界上最流行的開源數據庫”,備受眾多互聯網公司的青睞,除了免費社區版外,它還有多款收費版。雖然是免費開源的,但是其性能有足夠的保證,國內很多IT公司都在使用MySQL。
支持的操作系統:Windows、Linux、Unix 和 OS X
相關網站:https://www.mysql.com
19、PostgreSQL
PostgreSQL是一個功能非常強大的、源代碼開放的客戶/服務器關系型數據庫管理系統。國內知名的華為高斯數據庫和騰訊的TBase數據庫均是在該數據庫的基礎上發展而來的。國內最牛的阿里OceanBase數據庫所有代碼都是自主研發的,雖然不是PostgreSQL基礎上開發出來的,但應該也借鑒了PostgreSQL的很多特性和有點。
支持的操作系統:Windows、Linux、Unix 和 OS X
相關網站:
https://www.postgresql.org
20、MongoDB
MongoDB 是一種 NoSQL 數據庫,是一個基于分布式文件存儲的數據庫。由C++語言編寫。旨在為應用提供可擴展的高性能數據存儲解決方案。
MongoDB是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫。用戶包括 Foursquare、《福布斯》、Pebble、Adobe、領英、eHarmony 及其他公司。提供收費的專業版和企業版。
支持的操作系統:Windows、Linux、OS X 和 Solaris
相關網站:https://www.mongodb.org
21、Cassandra
這種 NoSQL 數據庫由 Facebook開發,其用戶包括蘋果、歐洲原子核研究組織(CERN)、康卡斯特、電子港灣、GitHub、GoDaddy、Hulu、Instagram、Intuit、網飛、Reddit及其他科技公司。它支持極其龐大的數據集,聲稱擁有非常高的性能和出色的耐用性和彈性。可通過第三方獲得支持。
支持的操作系統:與操作系統無關
相關網站:
https://cassandra.apache.org
22、CouchDB
CouchDB是用Erlang開發的面向文檔的數據庫系統,這種 NoSQL 數據庫將數據存儲在 JSON 文檔中,這類文檔可通過 HTTP 來加以查詢,并用 JavaScript 來處理。CouchDB現在歸 IBM 所有,它提供一款專業人員支持的軟件版本,用戶包括:三星、Akamai、Expedia、微軟游戲工作室及其他公司。
支持的操作系統:Windows、Linux、OS X 和Android/ target=_blank class=infotextkey>安卓
相關網站:
https://couchdb.apache.org
23、Neo4j
Neo4J一個高性能的NOSQL圖形數據庫,它將結構化數據存儲在網絡上而不是表中,自詡為“世界上領先的圖形數據庫”,用于欺詐檢測、推薦引擎、社交網站、主數據管理及更多領域。用戶包括電子港灣、沃爾瑪、思科、惠普、埃森哲、CrunchBase、eHarmony、Care.com 及另外許多企業組織。
支持的操作系統:Windows 和 Linux
相關網站:https://neo4j.com
Part6 開發工具和組件
24、Bugzilla
Bugzilla 是開源社區的寵兒,用戶包括 Mozilla、Linux 基金會、GNOME、KDE、Apache、Libreoffice、Open Office、Eclipse、紅帽、Novell及其他公司。這款軟件缺陷追蹤系統(bugtracker)的重要功能包括:高級搜索功能、電子郵件通知、預定報告、時間追蹤、出色的安全及更多特性。
支持的操作系統:Windows、Linux 和 OS X
相關網站:https://www.bugzilla.org
25、Eclipse
Eclipse 項目最為知名的是,它是一種大受歡迎的面向 Java 的集成開發環境(IDE),它還提供面向C/C++和 PHP 的 IDE,此外提供另外一大批開發工具。主要支持者包括冠群科技、谷歌、IBM、甲骨文、紅帽和 SAP。
支持的操作系統:與操作系統無關
相關網站:https://www.eclipse.org
26、Ember.js
Ember.js是一個開源的JavaScript客戶端框架,用于開發Web應用程序并使用MVC架構模式,這種框架用于“構建野心勃勃的 Web 應用程序”,旨在為 JavaScript 開發人員提高工作效率。官方網站上顯示用戶包括雅虎、Square、Livingsocial、Groupon、Twitch、TED、網飛、Heroku 和微軟。
支持的操作系統:與操作系統無關
相關網站:https://emberjs.com
27、Node.js
Node 是一個讓 JavaScript 運行在服務端的開發平臺,它讓 JavaScript 成為與PHP、Python、Perl、Ruby 等服務端語言平起平坐的腳本語言,它讓開發人員可以使用 JavaScript,編寫服務器端應用程序。開發工作之前由 Joyent 管控,現在交由 Node.js 基金會監管。用戶包括 IBM、微軟、雅虎、SAP、領英、貝寶和網飛。
支持的操作系統:Windows、Linux 和 OS X
相關網站:https://nodejs.org/en/
28、React Native
React Native 由 Facebook 開發,這種框架可用于使用 JavaScript 和 React JavaScript 庫(同樣由 Facebook 開發),構建原生移動應用程序。其他用戶包括:《探索》頻道和 CBS 體育新聞網。
支持的操作系統:OS X
相關網站:
https://facebook.github.io/react-native/
29、Ruby on Rails
Ruby on Rails是一個可以使你開發、部署、維護 web 應用程序變得簡單的框架。這個 Web 開發框架在開發人員當中極其流行,它聲稱“為確保編程員滿意和持續高效地工作進行了優化”。用戶包括 Basecamp、推特、Shopify 和 GitHub 等公司。
支持的操作系統:Windows、Linux 和 OS X
相關網站:https://rubyonrails.org
Part7 中間件
30、JBoss
JBoss是一個基于J2EE的開放源代碼的應用服務器。JBoss代碼遵循LGPL許可,可以在任何商業應用中免費使用。JBoss是一個管理EJB的容器和服務器,支持EJB 1.1、EJB 2.0和EJB3的規范,但JBoss核心服務不包括支持servlet/JSP的WEB容器,一般與Tomcat或Jetty綁定使用。JBoss中間件包括各種輕量級、對云計算友好的工具,同時結合、集成和自動化各個企業應用程序和系統。用戶包括:橡樹嶺國家實驗室、日產、思科、冠群科技、AMD 及其他公司。
支持的操作系統:Linux
相關網站:https://www.jboss.org/