应用生命周期终极 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 官方博客
原文地址:
https://blog.appdynamics.com/devops/the-ultimate-devops-toolkit-for-the-application-lifecycle/
应用生命周期终极 DevOps 工具包相关推荐
- DevOps教程:DevOps 生命周期
[注]本文译自:https://www.javatpoint.com/devops-lifecycle DevOps定义了运营与开发之间的敏捷关系.从产品的开始到最终阶段,开发团队和运营工程师共同 ...
- DevOps生命周期,你想知道的全都在这里了!
推荐阅读: 这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试 毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题 最全面试题新鲜出炉:70+算法题 ...
- 如何管理应用的生命周期?
文章目录 1. 简介 2. 研发模式 2.1 瀑布模式 2.2 迭代模式 2.3 敏捷模式 3. CI/CD:自动化构建和部署应用 4. DevOps:研发运维一体化 4.1 AIOps:智能运维 4 ...
- LTV 即用户生命周期价值
20220321 https://mp.weixin.qq.com/s/kPoojfRCbvCCV4zpnCimmQ 指标计算详细介绍 数据分析|如何做好用户生命周期价值分析 LTV https:// ...
- Android-Lifecycle超能解析-生命周期的那些事儿
版权声明:本文已授权微信公众号:Android必修课,转载请申明出处 众所周知,Android凡是需要展示给用户看的,都包含着生命周期这个概念,例如Activity.Fragment.View等都与生 ...
- 华为云平台使用手册_华为云首发全生命周期应用平台,四大能力解决政企上云五大难题...
9月19日,在华为全联接大会上,华为云正式发布全生命周期应用平台.华为云应用平台服务产品部副总经理汪维敏介绍,华为云无缝整合三大尖刀产品(华为云DevCloud.ServiceStage.ROMA), ...
- 页面生命周期_微信小程序的生命周期学习笔记-应用篇
在我们学习微信小程序的过程当中,我们会参考很多资料.在这些资料中,我们经常能够看到"生命周期"四个字,在前面的课程中也提到过.在这里做一个说明. 生命周期是一类函数的统称,这些函数 ...
- .net组件开发系列之武术系列 武术招数 控件生命周期与控件事件机制
.net组件开发系列之武术系列 武术招数 控件生命周期与控件事件机制一.控件生命周期 先回述上篇,可能表述没有不清晰,也可能跨度大了点,好的,我们来一个循序渐进过程,大家都知道,武术都有招术的,先出什 ...
- js合并同类数组里面的对象_通过同类群组保留估算客户生命周期价值
js合并同类数组里面的对象 This is Part I of the two-part series dedicated to estimating customer lifetime value. ...
最新文章
- python多版本共存使用pip
- 一文讲解图像插值算法原理!附Python实现
- 语音增强原理之噪声估计
- ActiveX(二)
- SpringBoot中实现连接多个Redis分别读写数据
- java 返回值void_Java的返回值voidspeak
- springmvc controller接收前端发送数组
- 在谈PHP中的 抽象类(abstract class)和 接口(interface)
- WTM框架使用技巧之:Layui版本嫁接Vue+ElementUI
- 【结论】棋盘(jzoj 2297)
- LVS的四种模式的实现
- Android_adb shell am/pm使用
- @EnableWebMVC注解理解
- OpenGL 编程指南 ( 原书第 9 版 ) --- 第一章
- CorelDRAWX4的VBA插件开发(二十)创建进度条来显示程序运行进度
- Makefile中调用make命令,-C和-f选项的区别
- 问答WAP版重新改版上线
- 计算机主板运算放大器电路,常用运算放大器电路图 (全集)
- 什么是黑盒测试?它的常用方法有哪些?
- 仰望流年纯白世界那抹城光(二)