运维与开发在公司内互相角力已经成为每日必修课。选择适合的DevOps工具,有机会让开发与运维双剑合璧。
DevOps初期对开发非常有优势,但随着版本更新与供应商的合作关系,运维逐渐成为重要角色。
有很多方法可以让开发者像IT运维经理那样思考——把他们加入凌晨2点的值班名单是个不错的方法——但为组织内扮演不同职责的两类人提供信息共享工具,可以在整个应用程序生命周期内让所有人都获得一致的信息。
若应用程序没有按照设计的那样工作,将是一场灾难,PJM互联电网公司IT运营中心经理Colin Brisson说。该公司位于美国东北部,经营着一家日前市场。如果应用程序无法在同一时间关闭掉每位用户的买盘,那么市场是不公平的。
“你需要了解这些应用程序何时会出现问题,” Brisson说,只是这样做是无法发现开发中所有问题的。当留个主要程序在同一个基础设施上运行后——将产生复杂的相互作用,他说。
适合的工具
共享某个DevOps工具并不像听起来那么容易——“发布”、“部署”与“自动化”对双方皆有不同含义。
“开发与运营之间存在着一个完整的语言障碍,这里指的不是方言,”Gartner公司的分析师Gonni Colvile在2014年IT基础架构与运营管理峰会期间说。
工作负载自动化与管理简化,是应对业务快速变化必不可少业务应用程序,所以选择适合的DevOps工具对应用程序性能的影响与底层硬件是一样的。
然而,这是一个困难的决定。部分原因是DevOps工具集功能无法一刀切;没法双击鼠标就安装好DevOps。“要明白每个工具在特定场景下,能为应用程序生命周期的每个阶段提供何种功能,”Colville说。需要找到一款可以与开发、测试再到生产相适应的工具。
应用程序生命周期
在应用程序生命周期的初期,开发者占据统治地位。然后,重点将转向上线前的部署任务,接着再转移到监控系统,以监控运行的应用程序。如果应用程序的价值持续增长,生产效率率——应用程序如何工作,其可以怎样帮助公司增长或怎样才是最好的服务架构将正为之后的焦点。
对于易扩展和更新的应用程序,开发需要考虑自动化。Chef,一款资历悠久的DevOps工作流管理工具,与Docker集装箱容器平台集成,通过镜像部署的轻量级虚拟化方式独立运行应用程序。容器集装箱主机能够提供共享内核的轻量级虚拟机,满足业务孤立运行。
Docker集装箱式部署替代传统运用程序部署采用安装包的方法,可以快速将应用程序更新同开发环境部署到正式环境中。
Chef可以基于服现有的服务器模版创建Docker镜像。这些镜像存在一个库中,类似另外一款开源工具Git。DevOps团队可以选择何时何地进行部署,并且可以进行双向配置变更,例如数据库服务器的地址并没有包含在初始镜像中。
团队可以依赖的DevOps工具,除了Chef还有其他竞争者,Puppet可以关联生产环境管理人员与代码之间的交流沟通。
另一家厂商,JumpCloud,提供自动化平台,可以让IT团队使用最擅长的脚本语言进行操作。这样开放的应用程序对运维人员来说,只需要掌握脚本语言,而不需要开发人员的专业编码知识,JumpCloud高管说。
基于日志的DevOps工具同样可以让运营与开发链更紧密衔接。Splunk和Logentries这样的工具,以及其他各种开源软件,可以跟踪日志时间并分析数据以帮助分析和故障诊断。这样能够为不同的团队提供一个共同的预约,方便大家在代码问题上达成共识。团队也可以通过其他来源添加额外数据,包括服务器或应用程序性能监控工具。
整体目标是通过应用程序层级或更低层级的配置变更,让应用程序和运营团队看到代码更新对应用程序效率的影响,或协助排查故障问题,这些都是根据实际情况而定。
Logentries是一款可以添加注释到DevOps工具仪表板上的工具,IT团队的不同人员,可以查看日志事件中上下文信息和知识。
“记录事件描述与解决方案,这样的情报可以节约其他人四小时的工作时间,”公司首席科学家Trevor Parsons说
由于不同产品能够在开发、质量保证、测试、预生产和生产阶段提供更好的的功能,投资DevOps工具组合是十分必要的。你还可能需要一套工具集,因为不同应用程序有着不同的生命周期,而且基于云计算的应用程序可能需要不同的DevOps工具,与托管的物理或虚拟机有所区别。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
微服务器和无服务器可改变应用交付
云服务已经改变了IT基础设施,但最新的云趋势表明了重组作业更根本性的转变。较新的云服务和应用程序设计理念(如微服务,无服务器计算和函数即服务)对IT运营人员和开发人员都有重要的影响。
-
无服务计算就不需要服务器吗?
在云计算基础架构即服务(IaaS)中,你不需要管理你的物理基础架构;而在云计算的无服务计算中,你甚至不需要管理任何虚拟机、操作系统或者容器……
-
私有云之死
随着公有云的接纳程度不断地增加,还遗留着一个问题:到底私有云现在变得怎么样了呢?私有云本应该在拥有公有云提供的灵活性、自服务和弹性之余还不依赖于任何厂家的设备……
-
跟上DevOps、微服务和混合云:网络需要自动化
网络正朝向基于软件的系统迅速发展,提供自动配置、改进的管理与安全性,以更好地支持DevOps风格的应用程序开发……