爱学DevOps编程语言Top 5的小伙伴,今天给大家推荐几个知识点,想要学习的小伙伴可以参考一下。里面有一些小细节,一定要认真的阅读哦!
在当下,了解服务器的架构和技术栈不是一个强需求的技巧。大多数的企业都不会自建物理数据中心,相反,正在设计和构建托管在公有云环境中的服务,通过代码配置、部署和管理基础设施。而这正是DevOps的核心——当代码行可以定义基础架构时,数据中心中大部分(如果不是全部)任务的自动化将成为可能。
在过去,通过高度的自动化实现持续集成/连续交付(CI / CD)是不可能的。 CI / CD工作流使应用程序的传递无缝连接——开发人员可以将代码推送到源存储库,自动部署基础架构,将测试后的应用程序投入到生产环境而无需人为干预。
基础设施团队将他们的能力从维护服务器转移到支持CI / CD,这就意味着要学习代码。YAML中构建的模板文件,Python中的基础架构部署脚本以及通过Groovy定义部署的Javascript应用程序。应用程序代码本身正在越来越接近基础架构。现在,应用程序开发人员可以在其应用程序中构建日常操作,通过基础设施API扩展并处理故障转移。这就是个人投入大量时间去学习代码的原因。
专注学习DevOps过程中涉及很多开发语言,以下是最相关的五种:Python,Ruby,JavaScript,Go和C.
Python
Python已经成为基础设施领域中的多用途语言,它可以用于构建诸如OpenStack之类的云基础设施项目,甚至通过诸如Django之类的框架支持Web应用程序。 Python是一种易用的语言,具有广泛的用途。
Codecademy:在Codecademy学习Python。Codecademy上Python项目有很好的介绍
Safari Books在线培训:在这里学到了Jessica McKellar在Safari Books Online上优质的Python教程。Safari服务是昂贵的,但会员有五折优惠。Safari Books还有O'Reilly会议视频,包括演讲和实验室。
DevOps的引入能对产品交付、测试、功能开发和维护(包括──曾经罕见但如今已屡见不鲜的──“热补丁”)起到意义深远的影响。在缺乏DevOps能力的组织中,开发与运营之间存在着信息“鸿沟”──例如运营人员要求更好的可靠性和安全性,开发人员则希望基础设施响应更快,而业务用户的需求则是更快地将更多的特性发布给最终用户使用。这种信息鸿沟就是最常出问题的地方。
以下几方面因素可能促使一个组织引入DevOps:
使用敏捷或其他软件开发过程与方法
业务负责人要求加快产品交付的速率
虚拟化和云计算基础设施(可能来自内部或外部供应商)日益普遍
数据中心自动化技术和配置管理工具的普及
有一种观点认为,占主导地位的“传统”美国式管理风格(“斯隆模型vs丰田模型”)会导致“烟囱式自动化”,从而造成开发与运营之间的鸿沟,因此需要DevOps能力来克服由此引发的问题。
DevOps经常被描述为“开发团队与运营团队之间更具协作性、更高效的关系”。由于团队间协作关系的改善,整个组织的效率因此得到提升,伴随频繁变化而来的生产环境的风险也能得到降低。
Ruby
Ruby用于许多基础设施项目。例如,ManageIQ就是一个Ruby on Rails应用程序。我在红帽时,经常与ManageIQ(和CloudForms)的客户开玩笑,只用10行Ruby代码可以做任何事情。
Codecademy:与Python一样,我从Codecademy中学习Ruby知识。
文档:帮助理解Ruby的另一个资源是文档,如Peter McCowan的“ 掌握CloudForms自动化” (可以免费获得PDF)。使用构建状态和高级自动化工作流的CloudForms有助于对Ruby构造的理解。
播客:我也听Ruby on Rails Podcast和Ruby Rogues 。
JavaScript
JavaScript相关的框架和项目生态继续以惊人的速度发展壮大。从客户端到服务器端框架,大量业务运行在JavaScript上。
#p#分页标题#e#
FreeCodeCamp:学习JavaScript,我主要通过FreeCodeCamp。FreeCodeCamp有一个优秀的免费程序,提供实践分享,并推动学生动手操作。我学到的最完整课程就是基于这个“深入开始”的教学方式,真心推荐。
播客:我也听JavaScript的重点播客,如JavaScript Jabber和FiveJS 。
Go
Go语言自2009年推出以来,已经在市场上占有一席之地。该语言的设计者专注于制作一种人类可读的静态类型语言,其在规模上也表现良好。
golang.org:我从golang.org开始学习使用Go。
YouTube上的Google Developers频道:我也在Google Developers频道观看影片,其中包括Go for Pythonistas ,Get Started with Go和Go Programming 。
Safari Books在线培训:2017年我更加关注Go语言,因为它支持了一些重要的网络技术,如Docker,Kubernetes等。Safari Books Online是另一个很棒的学习资源,包括Master Google's Go。
C
C是我多次尝试学习的语言。每次接触C语言时,都设定了目标。很想学习这种语言,因为世界上很多代码都是用它编写的,语言中的许多结构都与其他语言通用。当加入红帽时,我很快就明白了FOSS社区的格言:最好的文档是代码。正如我已经设法了解KVM,libvirt和QEMU这样的项目,需要学习C来了解基本情况。
Learn C the High Way:要学习C,可以选择“Learn C the High Way”( https://learncodethehardway.org/c/ ),这已被证明是一种独特的语言学习方法。喜欢作者的写作风格和编码练习方法。免费在线阅读,或者购买,都可以获取代码示例和影音文件。
结束语:看完文章的小伙伴学会这几个知识点了吧!其实小编因为时间问题只写了一部分,如果还想了解的更多的话,随时可以登陆课课家,小编将会在最短的时间写出更多这方面的内容。