ChrisSaunders(RedHat)一直专注于基础架构,本文将介绍Top5DevOps编程语言和一些有用的学习资源。目前,了解服务器架构和技术栈并不是一个强需求技能。大多数企业都没有建立自己的物理数据中心。相反,他们正在设计和构建托管在公共云环境中的服务,通过代码配置、部署和管理基础设施。这就是DevOps的核心——当代码行可以定义基础架构时,数据中心中的大部分(如果不是全部)任务的自动化将成为可能。过去,持续集成/持续交付(CI/CD)无法实现高度自动化。CI/CD工作流使应用程序无缝交付——开发人员可以将代码推送到源存储库,自动部署基础设施,并将经过测试的应用程序推送到生产环境中,而无需人工干预。基础设施团队将他们的能力从维护服务器转移到支持CI/CD,这意味着学习编码。使用YAML构建的模板文件、使用Python的基础设施部署脚本以及通过Groovy定义部署的JavaScript应用程序。应用程序代码本身越来越接近基础设施。现在,应用程序开发人员可以将日常操作构建到他们的应用程序中,通过基础架构API进行扩展,并处理故障转移。这就是个人投入大量时间学习编码的原因。学习DevOps涉及多种开发语言,这里介绍最相关的五种:Python、Ruby、JavaScript、Go和C。云基础设施项目,甚至通过Django等框架支持Web应用程序。Python是一种易于使用的语言,用途广泛。Codecademy:在Codecademy学习Python。Codecademy上的Python项目对SafariBooksOnlineTraining有很好的介绍:在此处了解JessicaMcKellar在SafariBooksOnline上的优秀Python教程。Safari服务价格昂贵,但会员可享受50%的折扣。SafariBooks也有O'Reilly会议视频,包括演讲和实验室。RubyRuby用于许多基础设施项目。例如,ManageIQ是一个RubyonRails应用程序。当我在RedHat的时候,我曾经和ManageIQ(和CloudForms)的客户开玩笑说他们可以用10行Ruby代码做任何事情。Codecademy:和Python一样,我从Codecademy学习了Ruby。文档:帮助理解Ruby的另一个资源是文档,例如PeterMcCowan的“MasteringCloudFormsAutomation”(免费PDF)。使用构建状态和高级自动化工作流的CloudForms有助于理解Ruby结构。播客:我也听RubyonRails播客和RubyRogues。JavaScriptJavaScript相关的框架和项目生态继续以惊人的速度发展壮大。从客户端到服务器端框架,很多业务都在JavaScript上运行。FreeCodeCamp:学习JavaScript,我主要通过FreeCodeCamp。FreeCodeCamp有一个优秀的免费项目,提供动手实践分享,推动学生动手实践。我学过的最完整的课程就是基于这种“deepstart”教学法,真心推荐。播客:我还收听以JavaScript为重点的播客,例如JavaScriptJabber和FiveJS。自2009年推出以来,GoGo语言已在市场上站稳脚跟。该语言的设计者专注于打造一种人类可读的静态类型语言,并且在大规模应用中也表现出色。golang.org:我从golang.org开始学习使用Go。YouTube上的GoogleDevelopers频道??:我还在GoogleDevelopers频道??上观看视频,包括GoforPythonistas、GetStartedwithGo和GoProgramming。SafariBooks在线培训:2017年我比较关注Go语言,因为它支持一些重要的网络技术,比如Docker、Kubernetes等。SafariBooksOnline是另一个很好的学习资源,包括MasterGoogle的Go。CC是我多次尝试学习的语言。每次接触C语言,我都会定下一个目标。很想学习这种语言,因为世界上很多代码都是用它编写的,而且该语言中的许多结构对于其他语言都是通用的。当我加入RedHat时,我很快就理解了FOSS社区的格言:最好的文档是代码。由于我已经设法了解KVM、libvirt和QEMU等项目,因此需要学习C来了解基础知识。LearnCtheHighWay:要学习C,请选择“LearnCtheHighWay”(https://learncodethehardway.org/c/),这已被证明是一种独特的语言学习方法。喜欢作者的写作风格和编码练习的方法。免费在线阅读,或购买代码示例和视听资料。长期在IT社区学习,目前的工作重点是向客户传达云解决方案。2017年更重点的事情是帮助现在的IT人员了解市场发展趋势,以及如何参与到以IT为中心的代码世界。我希望您可以使用本文提供的一些资源来帮助正在学习的您。
