当前位置: 首页 > news >正文

应用生命周期终极 DevOps 工具包

【编者按】本文作者为 Kevin Goldberg,主要介绍了在开发、运营应用的完整生命周期当中,可能用到的 DevOps 工具大集合。文章系 OneAPM 工程师编译整理。

DevOps工具包中合适的工具可以帮助你在企业内成功实施DevOps,增强敏捷发布过程和团队协作。笔者想先声明,DevOps不仅涉及工具,如果背后没有合适的人员与文化,即使拥有最好的工具,也不能成功实施DevOps。不幸的是,没有“文化”工具可供你使用,让你能够立刻在团队之间培养协作和反馈。

合适的工具可以提供框架,帮助公司成功实施DevOps。你选择的工具,应该鼓励反馈,并防止进一步形成孤立。工具还应该帮助统一和协调团队。确定采用的DevOps工具包,是实现DevOps目标和量化成功的关键第一步。虽然工具的特性集和解决方案是很重要的,也要确保重视工具组合起来的效果。无法整合的工具可能会需要过多的维护,成本,或产生冲突的信息。

在一个非常简化的应用生命周期视图中,笔者将过程划分为四个主要步骤:规划,设计,部署和维护。在每一个步骤中,都有可以增强这一环节的工具。同样重要的是,这个过程不是一次性的,这是一个持续的循环。这种持续的反馈周期,是DevOps成功的必要基础。

与其通过一系列的产品列表来选择DevOps工具,你应该考虑自己的应用生命周期,根据特定的目标来做出选择。

基础

虽然有多款工具可以支持你的DevOps规划,但几乎每一种规划都依靠相同的基础:借助应用智能在云中进行构建。如果没有云,自动化和敏捷性几乎是不可能的——让我们在云的假设下继续。

使用虚拟化支持,在云中构建,你可以根据需求,适当调整,实现动态扩展的灵活性。云的好处是成本与需求成线性比例,所以你只需支付自己使用的部分。

要有效管理DevOps环境,你需要联合高管、开发人员与运维,并监测应用程序和终端用户的性能。不同团队和个人在一个控制台相互协作,并获得相关应用智能的访问权限,从而优化软件战略,对实现DevOps是至关重要的。

云/基础设施

  • Azure

  • AWS

  • Rackspace

  • Joyent

  • Cloud Foundry

虚拟化工具

  • VMware

  • Xen

  • VirtualBox

应用智能

  • AppDynamics

  • OneAPM

规划

开发一个新的应用,或更新现有的应用,都应该从规划开始。让开发人员了解应用的商业目标可以鼓励他们带有目的地进行思考,同时开启反馈循环。

同样,重要的是,无论你最终选择哪个工具,都应该能建立于你的应用基础之上,或与之相整合。

数据库

  • MongoDB

  • Cassandra

  • hBase

  • MySQL

  • PostgreSQL

  • Redis

搜索

  • Solr

  • ElasticSearch

Web服务器

  • NGINX

  • Apache

设计与架构

企业和开发人员经常犯的一个错误,就是在真空或孤立筒仓中设计应用程序。若没有任何反馈机制,你只是在构建自己认为有用的功能。

其实,有各种各样的工具和方法都可以优化这一阶段的DevOps开发。现有应用的实时用户监测和分析,可以有效判断客户的真正需求。它可能是一个没有必要的功能或特性,或者只是因为太复杂而没有被使用,或者有性能问题,无法正常工作。你可以监测哪些特性和功能使用得最为频繁,哪些根本不使用。最重要的是,通过分析使用量和性能,你可以识别潜在的问题。

扩展

  • ActiveMQ

  • RabbitMQ

  • Memcached

  • Varnish

部署

配置管理工具,容器和自动化测试真正改变了开发格局。DevOps的流动性和快节奏是其基础和优势之一,但它也是一个挑战,需要维持稳定的网络访问。 配置管理工具, 比如Puppet,Chef,和Ansible让企业可以管理IT配置,通过模块组件和自动化实施,从而确保持续、可靠、稳定的环境。它们使你能将基础设施作为代码。

容器

  • Docker

  • Kubernetes

持续集成

  • Jenkins

  • Travis CI

  • Circle CI

配置管理

  • Puppet

  • Chef

  • Ansible

维护

你的应用上线了,部署完成了,并不意味着你的工作就结束了。性能问题,停机时间,崩溃仍有可能困扰你的应用,进而影响业务。作为一个新的DevOps团队,你需要做好运营工作。当有问题时,收到告警,进而找到问题的根源是至关重要的,可以确保积极、无缝的用户体验。

告警

  • OneAlert

  • PagerDuty

  • ServiceNow

  • VictorOps

  • BigPanda

日志记录

  • Splunk

  • SumoLogic

  • Loggly

  • Logentries

DevOps是持续的,没有明确的生命周期起点或终点。这一切都始于接受DevOps文化,建立云和虚拟化的坚实基础。除此之外,规划、设计、架构、实施,部署,维护和运行应用的生命周期是一个循环往复的过程。

DevOps环境太复杂和多变,很难通过人工流程管理;使用最传统的方法监测,是无法跟上步伐的。为了有效地循环和往复,企业需要专为DevOps设计一个监测解决方案。

想进一步了解?请阅读电子书——《终极 DevOps 工具包与拥抱 DevOps 生命周期》。

本文系 OneAPM工程师编译整理。OneAPM Cloud Insight 集监控、管理、计算、协作、可视化于一身,帮助所有 IT 公司,减少在系统监控上的人力和时间成本投入,让运维工作更加高效、简单。想技术文章,请访问 OneAPM 官方技术博客。

本文转自 OneAPM 官方博客

原文地址:
https://blog.appdynamics.com/devops/the-ultimate-devops-toolkit-for-the-application-lifecycle/

相关文章:

  • ASP.NET项目与IE10、IE11不兼容的解决办法
  • Selenium webdriver 操作日历控件
  • Qt一步一步实现插件调用(附源码)
  • 如何提高Linux下块设备IO的整体性能?
  • 演示:取证分析IPV6组播地址与MAC地址的映射关系
  • 类的运用(一)
  • ODI中通过配置表和自定义逆向工程获取数据库信息
  • vim的Tab键
  • js prototype之诡异
  • 仿博彩业的转盘功能演示
  • 混合敏捷研发(一)SpecDD:混合的敏捷方法
  • 如何在Android模拟器上安装apk文件
  • 【转】iOS 宏(define)与常量(const)的正确使用-- 不错
  • 程序自动生成Dump文件
  • Python:urllib 和urllib2之间的区别
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【笔记】你不知道的JS读书笔记——Promise
  • 07.Android之多媒体问题
  • github从入门到放弃(1)
  • input的行数自动增减
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Mac转Windows的拯救指南
  • Making An Indicator With Pure CSS
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • Vue2.x学习三:事件处理生命周期钩子
  • webpack入门学习手记(二)
  • 成为一名优秀的Developer的书单
  • 从零开始的无人驾驶 1
  • 动态魔术使用DBMS_SQL
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 你真的知道 == 和 equals 的区别吗?
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 算法---两个栈实现一个队列
  • 数据可视化之下发图实践
  • 整理一些计算机基础知识!
  • (4)事件处理——(7)简单事件(Simple events)
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (九)c52学习之旅-定时器
  • (四)图像的%2线性拉伸
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET 常见的偏门问题
  • .NET 回调、接口回调、 委托
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .NET处理HTTP请求
  • .NET建议使用的大小写命名原则
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)