云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

金山云_已备案域名交易_免费

小七 141 0

持续讨论的主要收获(c9d9)第47集:开源和DevOps

上周,我们主持了另一期持续讨论(c9d9)视频播客,由专家小组成员讨论使用开源工具的好处,以及DevOps如何在将开源纳入应用程序代码、环境和工具链时减轻质量和安全风险。我们的专家组成员包括:Chris Stump,他是芝加哥Ruby on Rails的全栈开发人员,在Docker、Linux和DevOps方面很有造诣,目前在Spaceport Technologies工作;Eduardo Piairo,Celfinet的数据库管理员;Moritz Lenz,软件工程师、架构师,以及在noris network工作的Perl6语言的贡献者,在那里他建立了他们的连续输送管道;而且,我们自己的安德斯·沃格伦和萨姆倒下了。在这一集中,小组成员告诉观众他们在代码和流程中使用开源的地方,并讨论了与使用开源工具相关的质量、安全性和法律含义,以及DevOps如何提供帮助。开源——免费啤酒还是免费小狗?如果你是开源新手,你会觉得开源是"免费的,就像小狗一样"——@ccstump#c9d9#DevOpspic.twitter.com/so0MqxvpYW-CloudBees(@electricloud)2016年8月9日当你是一个初创企业,你会使用很多开源工具,然后随着你的成长,你开始重新思考你的工具-@EdPiairo#c9d9-CloudBees(@electricloud)2016年8月9日Stump说开源可以像啤酒和小狗一样免费:"我认为两者都是。如果你是一个新的开源软件,你肯定会觉得它是新的,因为你在一个不熟悉的领域,你想做的任何一个任务都会让你觉得有上百万个不同的项目。一旦你有了工具,你就知道每个人都在使用什么,什么东西得到了很好的支持,那么它就变得非常容易了,而且变得更像是免费的啤酒。"Piario解释说开源并不是完全免费的:"在开源中,你总是有成本的,这取决于你的团队规模、任务的复杂性和变更的频率,每一次变更都有成本。开源的好处在于,您可以为变革做出贡献,并朝着自己的方向发展。"开源允许思想自由流动,Lenz解释道:"一些大公司,比如Google和Facebook,他们会把自己的东西开源,他们会得到关于如何使用他们的工具以及如何改进它们的额外想法。它们也有图案。但我认为创意是最主要的,因此开源也让我们可以自由地流动思想,然后你可以将其用于商业产品。"Fall进一步阐述了开源中的思想流:"与一群人的潜在创新进行竞争的想法是一件很难做到的事情。你会发现很多外部/内部的想法和对这些想法的热情。"文化是成功的开源的重要组成部分,沃格伦说:"与公司一样,有些社区拥有良好的开源文化,有些社区的开源文化很差,因为这是人。有些开源社区是开放的,是受欢迎的,他们知道自己的缺点和优势。还有一些开源社区会说‘是的,很抱歉,我们真的不需要你的贡献’,而且很难让事情继续下去。"你在哪里使用开源?对我们来说,开源无处不在——在这个行业中,我们没有一个领域是以专有软件为基础的|@nogoodnickleft | c9d9-CloudBees(@electricloud)2016年8月9日与我们交谈的大多数客户使用大约60种不同的工具!@samueldfell c9d9开源pic.twitter.com/l1wATrg0Ia-CloudBees(@electricloud)2016年8月9日一些公司使用几十种不同的开源工具,fall解释道:"当我们与客户或潜在客户交谈时,他们中的大多数都有大约60种工具,60种不同的组合只是为了将一些东西从源代码存储库移到生产环境中,以帮助进行各种配置或监视我们需要这样做。"Stump在他的产品线中没有任何地方不能使用开源:"作为一个开源的Ruby on Rails开发人员,我几乎从前端一直到后端使用Angular或React JavaScript框架,到一个Postgres数据库,其中包含了位于它们之间的所有Ruby Gems,并使我们的项目得以运行。对于服务器,我们肯定会使用一些Debian变体,通常在Ubuntu服务器的容器化上使用Docker。"Wallgren建议质疑使用开源工具需要什么:"你需要关心的是,拥有这个工具的成本是多少?它是必须和我一起成长的东西吗?如果它坏了,那会是个大问题吗?或者,我有其他选择吗?有些事情你必须担心,但在大多数情况下,我几乎在任何地方都使用开源。这只是另一种工具。"Lenz基本上在管道的每一部分都使用开源工具:"我们在某些领域使用它,因为它是最合适的,但是只要开源做得好,我们就会使用它,这基本上就是我们所做的一切的90%。我们使用Puppet,我们使用Ansible,我们使用Perl和Python的所有不同的测试框架,用于浏览器的自动化,Selenium,所有这些好东西,在产品内部作为库,作为支持服务,用于身份验证,然后在管道中,在构建工具链中,测试,部署,所有的东西。。。统计,监控,你可以说的。"Piario就如何选择合适的开源工具给出了自己的建议:"作为一家初创公司,我们从很多开源工具开始,随着发展和复杂性的提高,我们开始迁移到商业工具上。我们说‘先试后买’。我们开始尝试不同的组合,Jenkins、TFS、TFS build、TFS Release—对于测试,我们使用tSQLt来测试数据库。"质量问题?仅仅使用开源产品@nogoodnickleft c9d9,质量不会变得更好或更差-CloudBees(@electricloud)2016年8月9日@EdPiairo |#c9d9说,一个高质量的开源工具将支持管道pic.twitter.com/pG1D4ZiNsh-CloudBees,2016年8月9日为了衡量开源工具的质量,Lenz建议问:"你是否正确地使用了产品?当你在评估质量时,查看源代码是非常重要的,因为你可以看到其他人是如何使用它的,如果它是一个库,你可以在Github上做一个代码搜索,看看他们是否以与你相同的模式使用它;如果不是,你可以问自己是否做出了正确的选择评估开源工具的质量,每一个Stump:"你必须知道如何在开源工具中找到质量,通常可以归结为:社区有多活跃,软件的使用有多广泛,特定项目背后是否有一个强大的领导团队(他们是否有良好的质量控制实践)。一旦你发现一个工具具备了你想要完成的事情的所有这些属性,我认为质量是不相上下的,如果不比很多专有解决方案更好的话。"fall认为,开源质量需要个人承担责任:"当你将开源组件作为产品的一部分时,从质量的角度来看,你有哪些风险敞口?并不是说它们的质量比你自己做的好,但这并不能让你放弃对它的责任。如果有质量问题,如果是开源的,你可以去解决,但如果他们不接受你的更改,那么你就陷入困境。"Piario说:"如果你的产品中加入了开源,就要采取额外的质量预防措施:"如果工具支持你的流水线,你可以更好地管理出错的风险,但是如果你的产品中包含了这个工具,你就必须确保质量。如果出现问题,您的客户会与您交谈,而不是工具的制造商。"Wallgren说,即使你有在开放源码中修改源代码的自由,但这并不是一件容易的事,即使你有了源代码,你也可能会被搞砸了,因为你可能无法构建它,你可能不理解它,你可能无法记录它——你现在必须去解决一个好问题让别人帮你解决问题。"安全问题?透明性是开源的关键——这些漏洞会被实现吗?@萨缪尔德费尔c9d9-CloudBees(@electricloud)2016年8月9日惠普安全部门去年的研究发现,调查的安全漏洞中有一半是2016年8月9日@nogoodnickleft-CloudBees(@electriccloud)两年或更长时间的漏洞Piario说,在开源领域,质量问题胜过安全问题:"我主要关心的是质量,至于安全性,这是一个封闭的环境,因此更容易控制。我们尽量不向客户提供开源软件,而是使用它来支持我们的活动。"拥有正确的工具链对于确保开源安全非常重要,Lenz说:"去年,惠普安全部(HP security)的一项研究表明,他们调查的漏洞中有一半是已知两年或更长时间的漏洞。无论该批产品是在本周发布,还是可能在两周内发布,这一问题往往是:我是否有工具链来注意我必须构建一个新产品,并在理想情况下自动升级、构建、集成、测试然后发布产品。"Stump说:"如果代码易于被任何人看到,那么在开源环境下,缺陷实际上可以更快地修复。我想说的是,开源就像一把双刃剑,因为代码是开放的,所以有更多的眼球在代码上寻找安全漏洞,但代码上也有更多的眼球可以利用这些漏洞。但大多数时候,我认为这会导致它们很快被发现和修补。"透明性是解决开源安全问题的关键