2020 最受 IT 公司欢迎的 30 款开源软件
点击“开发者技术前线”,选择“星标?”
在看|星标|留言, 真爱
来源:
http://www.360doc.com/content/20/0613/14/49290572_918245894.shtml
所谓开源,就是把软件的源代码开放出来,大家都能看到源代码,大家可以一起研究源代码并对软件的进行优化和改进。越来越多的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
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
相关网站: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/
31 Machine Learning Yearning
机器学习为什么需要策略?
如何使用此书来帮助你的团队
先修知识与符号说明
规模驱动机器学习发展
开发集和测试集的定义
将大型开发集拆分为两个子集,专注其一
Eyeball 和 Blackbox 开发集该设置多大?
小结:基础误差分析
偏差和方差:误差的两大来源
偏差和方差举例
与最优错误率比较
处理偏差和方差
偏差和方差间的权衡
减少可避免偏差的技术
训练集误差分析
减少方差的技术
诊断偏差与方差:学习曲线
绘制训练误差曲线
流水线组件的选择:数据可用性
流水线组件的选择:任务简单性
建立超级英雄团队 - 让你的队友阅读这本书吧!
回复「MLY」即可获取
研究/工作方向+地点+学校/公司+昵称(如java+上海+上交+可可) 根据格式备注,可更快被通过且邀请进群,领取一份专属学习礼包
扫码加我微信进群,内推和技术交流,大佬们零距离