`
luliangy
  • 浏览: 95092 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

从开源社区到云计算

阅读更多

从开源社区到云计算

UNIX编程艺术讲到UNIX为何如此成功的第一个原因就是开源。当时的一些计算机大牛们,为了彼此间更好的合作,为了提高团队的效率,选择选择将源代码开放出去。在那个蛮荒的时代,因特网没有诞生,甚至最开始连TCPIP都没有诞生,人们依赖脆弱的计算机网络进行一些文档的传输和技术上的交流。开源这件事是那些大牛比如Kim TompthonDung Mcllroy的一些协作的习惯。后来诞生在伯克利大学的hacker们在编写Unix程序以及各种工具软件的时候也选择了这种开源。可以说开源软件是计算机历史中有史以来的一种优良的传统。

我们来分析一下为何那些人愿意把自己的劳动果实告诉其他人。我觉得原因有一下几点,首先是为了提升效率,那本书在讲到Unix文化的时候讲到,人们开放自己的源代码给别人首先是因为这样可以提升效率,别人做过的事自己可以不用再做。对自己对他人都有利。第二点是,炫吗,hacker们从事计算机事业,在那个时代首先是一件很刺激的事,非常高大上。开源这种高大上人士的习惯自然就被很多其他的hacker所沿用。第三点就是很多机构都从Unix的开源中获利,包括官方的和非官方的,所以开源这种行为当然得以快速发展,成为国外程序员的一种时尚。

开源软件促进了计算机技术的高速发展,全世界的计算机工程师,组成一个个开源社区,也许他们都不曾谋面,但是确完成了一个个伟大都工程。他们的开发模式是分布式的,每个开发者都无私的贡献着自己的代码,自己的智慧,这些程序员以一种非常单纯的目的从事这项事业。那些开放出去的源代码是每个后来者学习的珍贵资源,所有的程序员在构建属于自己的程序代码的时候都在直接或者间接的享受开源代码带来的好处。我们今天使用着一个个开源框架,开源代码库,快速构建着我们自己的应用,可是试想一下我们没有这些东西,没有开源的C++STL,没有开源的JDKtomcatnetty这些东西,可能我们就意味着要么使用商业软件,使用商业软件的成本总的来说比较高的,可能不是每个公司都能承受,而且对于一个企业来说核心东西如果还是使用别人的东西,并不是每个公司都能接受。商业软件从目前的角度来说可能在某些领域还超越着相应开源软件,但是随着开发者的努力,开源软件的能力也会更加的完善。第二种选择是使用我们不知道实现并且也不收费的东西去做一些东西,这些东西廉价但是危险,因为他可能就是你后期的系统运维期间的一个定时Boom,而且你不知道怎么拆除他。或者我们要重头开始构建这些基础构建,这对于每个程序员来说都是一个灾难,你要加更多的班,也许收效还没那么明显,因为基础构建的bug可能让你头疼到炸。

国外开源从社区数量到规模到质量都比国内要好很多。原因一个就是上面说到的历史吗,人家有那种传统,hacker们崇尚开源。开发者们好凝聚,协作也很专业。另一个当然是国内外程序员生存的现状决定的。国外程序员可能觉得自己干着一份十分潇洒的职业,每天固定可能8小时不到的上班时间,剩下的时间就是自己,当然可以根据自己的兴趣爱好,干点想干的,并且这样收入依然是很高。国内就截然相反,程序员大多数都很苦逼的从事这项职业,每天加班到很晚,午夜之后除了孤魂野鬼,大多数都是还在加班或者下班回家的程序员,及时这样中国程序员的收入依然比较低。而且如果多余的时间去做开源软件的话,这项事业在国内几乎不产生收入。所以大多数人一是没有多余精力去做开源,二是不愿意去做开源。只有少部分对技术真正有情怀对开发者活跃在国外的开源社区,贡献自己的力量。

开源模式从生产力角度来说是通过提升生产效率的方式来促进生产力的发展。这种模式是免费的几乎不增加任何IT成本。这是一项非常伟大的事业,因为你的每一份努力,都优化着软件本身,都贡献着每一个业内人士,每一个程序员。多少程序员因为他们而少加班,多活了几年!

       再说到云计算技术,这是一个被炒了十多年的概念。概念一度被炒的神之又神。分析一下这三个字,主语是云,谓语是计算,是云去计算,没有宾语或者对象,那计算的对象就是everything或者他能够计算的一切。那么就牵扯到两个东西,第一云是什么,第二怎么去计算。我觉得从字面理解,弄懂这两个问题基本就可以了。业内有个划分,从三个层次阐述了云计算,也就是著名的IAASInfrastructure as a Service,PAASPlatform as a Service),SAASSoftware as a Service),从软件架构角度来划分,应当说是不存在问题的。IAAS关注的是云计算的基础设施,包括机器硬件资源,网络带宽资源,DB,文件系统,缓存存储资源等。这是每个IT互联网公司都必须投入的东西,是一块非常大,不可忽视的成本因素。大的互联网公司每年在这方面的投入达到几十上百亿的规模。问题不是在预算的规模,而是是否在每一个时间都需要这么多规模的基础设施。可能对于一个电商公司来说,在淡季他的基础设施资源很多处于闲置,CPU利用率和内存利用都很低,那么一开始的预算是不是在这个时间点就浪费了许多。所以在基础设施这一块如何做到弹性的支出是云计算的关键所在。所以很多云计算厂商提出了很多弹性的基础设施方案,比如亚马逊的ES3EC2,阿里云的ECS等。可以按需扩展。再谈到PAAS层,这也是偏底层等软件服务,开发者要在云平台之上构建他们自己的应用,势必到牵扯到各种服务或组件,比如各种中间件(服务容器,消息队列系统,数据层等)。这些服务是应用产生的必需品。对于PAAS层来说,如果一般的软件服务商,如果从头构建这些基础构建的话,那将耗费非常大的时间和成本,而且开源的系统在某些情况下可能未必能立马满足你的需求,这个时候如果选择去修改开源软件然后可能要自己维护跟自己特性相关的分支,这也是一件成本比较高的事情。对于这种基础软件来说,开发成本相对于运维成本还是很低的。大部分公司招聘了很多人其实都是想让他们运维出一个更好的三代或者四代软件,这里的运维比较广义,一是处理系统出现的问题,bug,二是为了满足某些用户的需求而开发。其实从开发和运维的角度来说,大多数的互联网公司,对于运维的投入其实可能要高于初期开发,无数的程序员其实是疲于运维,疲于不休止的处理问题,疲于改需求,满足新需求。所以在云计算的各个层面,降低运维成本,让生长在云平台上的厂商付出更少的运维成本是个非常关键的问题。否则他们从将自己的应用部署在云平台上没有太多的意义。再讲到SAAS层,互联网软件厂商一旦到了云平台上,除了部署自己的平台应用之外自己本身也需要各种服务,比如对于一个电子商务公司来说,ERP服务可能是个必须的服务。对于这类服务,有些云平台可以自己提供出来,但是更好的方案是让那些ISVIndependent Software Vendors )厂商提供,一是他们更有经验,更了解用户,二是这对于云生态来说非常有必要。让更多的ISV厂商活跃在云上,整个生态环境才能更好,你的用户才能被你粘住。这里简单分析了一下各个层面,不是很全面。但是我们从分析中能得出的是,一是,云计算是在降低成本,包括,硬件,软件开发,系统运维,服务接入,二是,云计算大大提升了效率。对于告诉发展的当今互联网来说,如果你的老板足够有良心,有远见,如果云计算厂商都有“良心”,胸怀更宽广,就应当拥抱云计算,快速让你的应用构建起来,然后去抓住市场,发展自己。

云计算技术的发展,很多人把他和蒸汽机的发明和电气的发明应用对于时代的作用相提并论。也许他不能算是一项纯粹的发明,因为当中用到的虚拟化,中间件,软件技术都是都是成熟现有的技术。但是他在历史当中所起的作用,或者将要起的作用,都足以和前两者相提并论。极大都提升了社会生产力,势必导致行业或者产业结构发生巨变,导致生产关系的变化。这当中孕育着巨大的商机,除了云计算本身。

对于我们这些苦逼中国程序员来说,我们也希望看到这项技术的高速成熟发展,我们希望我们能用到各种云计算服务快速满足用户的需求,产品经理提出的需求,不用再加那么多班,不用再去半夜起立处理问题,不用再像个孤魂野鬼一样在夜间游荡回家。所以从事这项事业对于一个有情怀的程序员来说还是非常愿意去做的,其一真的蛮有挑战的,面临很多新的问题,其二产生的价值非常深远,对于开发者,对于用户,对于这个行业,对于这个行业会影响波及到的其他,更大一点的是社会生产力及可能的变革。

向开源社区的开发者及耕耘在云计算行业多年的有情怀的程序员,有良知的决策者致敬!

 

不写了。。。

分享到:
评论

相关推荐

    2020 OSCAR 云计算开源产业大会PPT合集.zip

    2020年10月16日,中国开源产业的年度峰会——2020...以APISIX为例,如何从零运营一个Apache顶级项目和开源社区 云原生流数据平台Apache+Pulsar简介和社区发展历程 Apache+Kylin开源之路与社区经验 MindSpore社区介绍

    中国云计算开源发展调查报告2018

    开源新技术接连涌现,社区规模持续壮大,开源技术的应用更加多样化,国内开源生态圈雏形已初步形成。为进一步掌握中国开源技术的应用现状和发展特点,中国信息通信研究院开展了 2017-2018 年度中国云计算开源发展...

    2018中国云计算开源发展调查报告-中国信息通信研究院

    2018中国云计算开源发展调查报告-中国信息通信研究院 近年来,随着云计算市场的繁荣发展,开源技术也得到了长足发展。开源新技术接连涌现,社区规模持续壮大,开源技术的应用更加多样化,国内开源生态圈雏形已...

    云计算白皮书--描述云计算的市场和技术

    云计算白皮书,描述云计算的市场和技术,产品,开源社区

    什么是OpenStack 开源的云计算管理平台项目

    OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过...

    云南大学软件学院云计算(陆歌皓).rar

    云南大学软件学院云计算(陆...IaaS在开源领域也是百花齐放,最著名的开源平台为:Eucalyptus、Openstack和Cloudstack、Opennebula、Nimbus,在国内社区比较火热的主要是前三种,所以在这里主要分析一下前三种平台。

    FlinkForwardChina2018快速融入ApacheFlink开源社区.pdf

    FlinkForwardChina2018快速融入ApacheFlink开源社区.pdf

    开放融合开源,英特尔成就智慧银行转型之道

    银行与时俱进的业务发展需要即刻响应、稳健的IT系统,并从封闭走向开放和开源。...正是得益于英特尔开放架构的创新产品,以及对开源社区的鼎力支持,银行业正在完成最具技术前瞻性和创新性的、波澜壮阔的行业转型。

    OpenSource-13-10:开源与云计算课程讨论-Open source

    三人或四人一组完成对某两两到三个与云计算相关的开源项目的评估,字数在两千字左右,需要大家协同工作。 评估报告内容 项目的介绍 功能点对比分析 社区活跃程度比较 成功应用 作业格式为MarkDown文本,需要在GitHub...

    PHP开源社区系统,bbs power by yaf.zip

    软件开发设计:应用软件开发、系统...云计算与大数据:包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。

    通信与网络中的移动通信网络云计算的设计和实现

    1 通信行业的新要求 ...其次,现有云计算解决方案呈现封闭、私有、定制化的特征,国际标准化工作刚刚起步,云计算开源项目非常活跃;再次,互联网服务商,如谷歌和亚马逊等,他们在云计算方面领先于传

    几种常见云计算平台分析比较

    云计算按照应用层次,主要划分...IaaS在开源领域也是百花齐放,最著名的开源平台为:Eucalyptus、Openstack和Cloudstack、Opennebula、Nimbus,在国内社区比较火热的主要是前三种,所以在这里主要分析一下前三种平台。

    Ceph分布式存储实战 (云计算与虚拟化技术丛书)

    Ceph社区经过十多年发展已经成为近几年参与度增长最快的开源社区之一,而Ceph中国社区正是背后的驱动力之一。从2015年开始,Ceph中国社区一直努力在国内普及Ceph的生态,并为广大Ceph爱好者提供了交流平台,使得众多...

    2021中国开源发展蓝皮书92页.pdf

    中国本土开源代码托管平台正在崛起,以 CODE CHINA 、Gitee等为代表的几家平台正在快速发展,且与国际知名开源社区、开源企业及开源基金会对接合作,大力发展中国开源项目建设;但相较GitHub,本土开源代码平台对于...

    EduSoho开源网络课堂---慕课版 v1.4.8.zip

    EduSoho开源网络课堂是阔知自主研发的开源在线教学平台,它不仅拥有丰富的教学互动、社区化学习体验,支持课程共享、学分互认、教务对接的开放产品架构,同时结合云计算和教育大数据技术,更可轻松应对百万师生的...

    移动通信网络云计算的设计和实现

    1 通信行业的新要求 ...其次,现有云计算解决方案呈现封闭、私有、定制化的特征,国际标准化工作刚刚起步,云计算开源项目非常活跃;再次,互联网服务商,如谷歌和亚马逊等,他们在云计算方面于传统的设备

    phpwind中文手册.zip

    phpwind(简称:pw)是一个基于PHP和MySQL的开源社区程序,是国内最受欢迎的通用型论坛程序之一。phpwind第一个版本ofstar发布于2004年。截止2013年12月phpwind项目品牌由阿里云计算有限公司拥有,软件全面开源免费...

    OpenStack SIG 的问题报告和讨论条目存储库

    OpenStack社区作为著名云计算开源社区,在全球范围拥有众多个人及企业组织提供代码贡献。openEuler OpenStack SIG致力于结合多样性算力为openstack社区贡献更适合行业发展的平台功能增强,并且定期组织会议为社区...

    论文研究-OpenStack开源软件开发者协作网络分析.pdf

    核心开发人员在其中起主导作用,但一般开发人员从开发总工作量上是整个项目的主体.OpenStack的子项目与社区演化具有显著关联性.开发人员的工作领域呈现高度的集中性和持续稳定性.研究结果对于理解大型开源软件项目的...

    Eucalyptus安装与使用手册

    Eucalyptus是一个面向研究社区的软件框架,它不同于其他的IaaS云计算系统,能够在已有的常用资源上进行部署,Eucalyptus采用模块化的设计,它的组件可以进行替换和升级,为研究人员提供了一个进行云计算研究的很好的...

Global site tag (gtag.js) - Google Analytics