`
luliangy
  • 浏览: 96913 次
  • 性别: 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厂商活跃在云上,整个生态环境才能更好,你的用户才能被你粘住。这里简单分析了一下各个层面,不是很全面。但是我们从分析中能得出的是,一是,云计算是在降低成本,包括,硬件,软件开发,系统运维,服务接入,二是,云计算大大提升了效率。对于告诉发展的当今互联网来说,如果你的老板足够有良心,有远见,如果云计算厂商都有“良心”,胸怀更宽广,就应当拥抱云计算,快速让你的应用构建起来,然后去抓住市场,发展自己。

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

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

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

 

不写了。。。

分享到:
评论

相关推荐

    开源软件与云计算的关系分析.pdf

    开源产业的主体主要包括源作者、开源基金会、开源社区、代码托管平台、开源软件论坛、专家指导、产业联盟、市场宣传和法律服务等。 1. **源作者**:可能是企业、个人或工作室等主体,没有限制。 2. **开源基金会**...

    详列五款热门的开源云计算平台

    这五个开源云计算平台代表了开源社区在云计算领域的创新和多样性,每个都有其独特的特性和优势,可以根据不同的需求和场景进行选择。无论是对于企业构建私有云,还是开发者探索云技术,这些开源工具都提供了丰富的...

    构建云计算平台的开源软件综述

    通过对开源软件的深入研究和对比分析,可以有效地指导平台建设,确保所选软件能够满足特定需求,同时充分利用开源社区的优势,持续获取更新和支持。随着云计算的不断发展,开源软件在云计算平台中的角色只会变得更加...

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

    云计算开源领域的未来趋势包括更加紧密的社区协作、跨平台兼容性的提升、以及AI和大数据等新技术与开源云计算的深度融合。同时,随着云计算市场规模的扩大,如何保障数据安全、隐私保护以及合规性也将成为重要的挑战...

    中国云计算开源发展调查报告(2018年)1

    开源技术的应用不仅体现了企业对技术创新的追求,也反映了开源社区的繁荣发展,社区规模不断壮大,新技术层出不穷,应用领域日益多样化。 报告重点关注了OpenStack、容器技术和软件定义存储等云计算开源技术的用户...

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

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

    OpenStack开源云计算方案.pptx

    OpenStack是一种开源的云计算平台,致力于提供基础设施即服务(IaaS)的解决方案。自2010年成立以来,OpenStack已经发展成为一个拥有574家公司的庞大社区,超过37,000名研发人员参与其中,贡献了2000多万行代码。其...

    开源模式下的云计算和大数据现状.pdf

    开源社区的合作者不断更新开源软件,技术得以持续完善和发展。云计算和大数据的发展与开源技术的结合,以及如何在云上实现大数据项目,是当前实践中的新领域。 开源云计算的现状体现在多个方面。企业对于云服务的...

    开源云计算已成潮流.pdf

    在此背景下,开源云计算平台如OpenStack因其功能丰富、社区和基金会的影响力而受到广泛关注。尽管存在部署复杂和版本兼容性问题,但其开源的本质能够鼓励用户自由修改和扩展,吸引了大量用户和企业的关注。在未来,...

    云计算概论 云计算把虚拟

    开源软件不仅降低了云服务提供商的成本,还鼓励了社区的参与和创新,形成了强大的生态系统。 总结起来,云计算通过虚拟化实现了资源的高效利用,通过按需部署提供了灵活的服务模式,通过网络服务打破了传统IT的壁垒...

    云计算开源产业白皮书.docx

    开源软件产业经历了从形成到古典时代,再到移动时代和云开源时代的演变,产业链条逐渐完善。它涵盖了自发开源企业、开源产品企业和开源用户企业等关键环节。自发开源企业,如华为、腾讯和阿里,积极参与开源项目,...

    云计算-信息产业新浪潮

    开源技术在云计算领域扮演着至关重要的角色,从服务器虚拟化到虚拟化管理系统,再到公有云私有云的互操作性平台,开源项目提供了丰富的选择和高度的灵活性。Xen、KVM等开源虚拟化技术,以及Convirt、Ovirt等虚拟化...

    云计算及其应用的开源实现研究.pptx

    技术创新是指开源社区能够吸引众多的开发者,快速推进技术创新和代码迭代。成本降低是指用户可以自由选择所需的开源组件和平台,降低采购和维护成本。 在云计算领域,开源实现的应用非常广泛,例如Hadoop、...

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

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

    中文版开源和云计算-大规模的按需、创新型IT.pdf--Sun公司的WhitePaper.pdf

    同时,开源社区将继续为云计算提供动力,推动技术的进步和行业的变革。 总结,这份白皮书揭示了开源软件与云计算的紧密联系,以及它们如何共同为企业带来成本效益和创新机遇。Sun公司在开源和云计算领域的努力,...

    sun开源云计算虚拟化白皮书

    - **开源社区**的强大之处在于其能够汇聚来自全球的开发者和贡献者,共同推动技术的发展。Sun公司的开源虚拟化解决方案正是基于这样的社区支持,因此能够不断地吸收新的创意和技术改进。 #### 三、Sun公司的开源...

    开源代码及Linux系统在云计算中应用.pdf

    云计算是一种计算资源共享和服务交付模式,它将物理硬件资源如处理器和存储转化为互联网上的可扩展、可共享的服务。...随着技术的不断进步,Linux和开源社区将继续在云计算领域发挥重要作用,推动云计算的创新和发展。

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

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

Global site tag (gtag.js) - Google Analytics