职业改头:从OPS到DevOps

通过使自己摆脱平凡的服务器任务并点击内部编码器来进入DevOps Revolution

  • 在脸书上分享
  • 分享到Twitter
  • 分享LinkedIn
  • 分享Reddit
  • 通过电子邮件分享
  • 打印资源
12 第2页
第2页共2页

与您的内部基础架构编码器联系

但事实是,今天的操作工作远远超出了简单的脚本。实际上,由于它已经投入了大量资金来构建虚拟化基础架构和云,因此基础架构本身已成为代码。

考虑一下您今天如何部署和管理服务器。也许您已经设置了一些脚本来自动化某些过程,但是脚本本身必须由人类启动。如果是这样,您要花更长的时间来完成您的工作,并且您可能会解决许多可以预防的错误。换句话说,您可能正在脚本编写,但是您尚未完全接受内部基础架构编码器。

因此,是时候摆脱“服务器思维”,而是采用更多的“服务思维”思维定势,这是大多数开发人员在从事项目时使用的那种。通过代码构建,配置和破坏服务器的功能是一件事情。与服务器相比,不断发展一个抽象层以更多地考虑工作负载和服务,这是成为基础架构编码器而不是基础架构管理员的关键。服务器不是独特的实体,而是软件服务的功率来源。我们现在没有时间将精力集中在单个服务器上。这一切都与您可以使用代码控制的服务有关服务器的更大图表。

将您的基础架构重建为代码

定义您的基础架构(计算,存储和网络),因为代码正在成为当今管理IT资源的重要概念。

在其最基本的“基础架构作为代码”上是指将您的基础架构视为软件。该代码不是在服务器上执行的代码;它是为了构建服务器而写的。从传统的软件角度来看,它可以将其视为将代码降低到一层堆栈。基础架构代码中的新功能不是在网页上添加新功能的软件开发人员,可以是在云中而不是在场所中提供服务器,或者可以根据流量级别自动启动新的虚拟机。这是关于定义每个组件的状态,并使用工具确保其保持这种方式。

例如,传统上,新服务器的请求需要提交帮助台票,然后ops解释以试图衡量在哪里构建新的虚拟机以及在哪些存储空间上,这一过程意味着服务器请求在一个数字中满足了一个数字几天,即使不是几个星期。取而代之的是,想象一下拥有一个自助服务门户,客户和同事可以在其中提出请求,并且其虚拟机是根据预先建立的模式自动提供的。基础架构作为代码是可能的。

基础架构作为代码允许您定义任何给定的基础架构组件的外观。从那里,有关如何提供该组件已经构建的所有逻辑。因此,开发人员和业务用户可以简单地构建自己的VM。您已提前定义了VM的所有标准,这只是编码执行构建指令清单的问题。

品尝源控制

软件开发人员使用源控制来管理更改。通过诸如GIT,CVS,Mercurial,Team Foundation Server等服务的来源控制,使整个开发人员都可以同时在代码库上工作。开发人员定期检查其代码,源控制会跟踪更改,使开发人员能够合并更改,检测冲突等等。源控制工具还允许您随意回滚更改。

想象一下,只能在一刻的通知中简单地回滚服务器上的任何更改。另外,您知道谁今天停止服务或谁删除了该重要文件?如果您的所有更改均以代码执行并将其检查到源控件中,则更改就像查看更改集中的哪个帐户一样容易。

源控制起初似乎是陌生的。诸如“存储库”,“分支”,“更改”和“合并”之类的术语甚至可能听起来像希腊语。在最基本的情况下,源控制使您可以保留对更改一堆文本文件的版本控制。例如,典型的基础架构代码可能包含用于构建和维护特定应用程序服务器的所有参数。该应用程序服务器对业务至关重要,必须遵守一组特定的配置项目。您的公司可能很快推出了需要调整网站的新功能。通过使用源控制和练习基础架构作为代码,您可以将新的配置项目添加到计算机上的本地脚本中,然后将脚本检查为源控制,然后将所有适用的服务器上的更改启动为该应用程序目的而构建的任何新服务器。

源控制的另一个好处是能够倒退变化。也许您修改了错误的项目,并且立即改变了生产。没问题 - 只需倒退您的更改,并让服务器抓住折回配置并以新状态提供。

一旦掌握了源控制,您很快就会看到这将是实现配置更改的方法,而不是您之前可能正在进行更改的临时方式。

速度

当您将基础架构视为代码时,部署配置更改为数百个服务器,只需编辑文本文件即可。您的自动化工具将完成其余的工作。您也可以快速恢复任何不必要的更改。如果在代码之外发生更改,则工具可以在几分钟内恢复更改,并将服务器保持在您为其定义的状态下。这样可以确保所有服务器始终处于一致的状态。

通过管理基础架构来实现的速度将被证明是必不可少的,因为服务器生命周期中的每个过程都必须快速闪电。毕竟,您将不得不跟上开发人员,他们在接受DevOps/Agile方法论时将自己快速移动。您必须利用开发人员的恒定深力图心态,这些思想与客户的不断反馈一起发布了新功能和补丁错误。将自己视为敏捷的操作,将基础架构迅速迭代,以支持开发人员通过持续更改代码加快速度。

训练新工具

许多新工具在等待您的DevOps转换。如果您管理Windows服务器,我强烈建议您学习Windows PowerShell,一种无价的脚本语言,用于自动化服务器部署,维护等。将PowerShell放下后,重点关注所需的状态配置(DSC)。Microsoft建立了DSC作为一个平台,在该平台上,运营团队和技术供应商可以创建工具。与其他配置管理技术一样,DSC是一种声明性管理基础架构的方式。只需编写配置脚本并将其部署到服务器 - 它可以遵守被告知的状态!

对于异质环境,您需要查看配置管理工具,例如厨师,木偶,Ansible,saltstack和Cfengine。这些工具支持Linux的Windows和各种口味,从本质上讲,在基础架构的顶部应用了管理层。到现在为止,您知道如何安装IIS或Apache。为什么每次需要新的Web服务器时都应该被迫通过该操作?你不应该。配置管理工具已经知道如何做到这一点。使用它们来管理更高级别的基础架构,并花费时间管理Web服务器服务的软件,而不是Web服务器本身。毕竟,这可能是您组织的业务优势所在的地方:在软件或服务中。

拥抱不变的基础设施

软件开发世界中有一个术语:“不变的对象”。在面向对象的编程中,这仅意味着一个不会更改的对象。这是确保对象具有特定状态并保持原状的一种方式。如果需要更改,则整个对象将被破坏,并创建另一个对象。采用此概念并将其应用于虚拟机,存储LUN,网络VLAN或容器,并且您拥有不可变的基础架构。

当基础架构是物理的时,我们无法一时兴起重建服务器。它需要很多工作!现在,基础架构被视为代码,可以将基础架构中的组件视为对象。因此,由于我们进行更改的速度,我们现在可以将基础架构组件视为一次性。

一旦确定了这个概念,您的基础架构将获得导航恒定更改所需的可预测性和标准化。能够管理企业体系结构的不断通量至关重要。但是,试图控制每一个小变化都是令人讨厌的。为了确保任何给定的服务器都处于所需状态,您可以简单地将其吹走并创建另一个。由于您的整个基础架构是在代码中定义的,因此所有指令都存储在源控制中。在PowerShell中重建服务器可能仅仅是Get-Server的问题|删除服务器–PassTrhu |新服务器。实现这一目标的所有逻辑和指示已经存在。

DevOps做对了

操作需要发展以保持相关性。该行业继续以软件为中心。现在一切都是一项服务,许多企业正在选择云而不是传统的本地解决方案。为了跟上,我们必须拥抱我们的内部开发人员并将基础架构视为软件并将其处理。我们必须将服务器作为牛管理 - 仅在地球上的匿名生物来提供寄托,而不是宠物,而不是宠物。这是根据我们编写脚本以充分利用脚本的能力的代码和新工具的。

在过去的几年中,开发人员和运营不可能并排工作。现在,我们能够将传统的物理组件表示为软件,操作可以通过代码作为开发人员的共同点。但是,这样做将使开发人员对您的传统管理任务的看法。

相关资源

这个故事是“职业改头:从Ops到Devops”最初由Infoworld

加入网络世界社区有个足球雷竞技appFacebookLinkedIn评论最重要的主题。
有关的:

版权所有©2016 IDG ComRaybet2munications,Inc。

12 第2页
第2页共2页