36

50+有用的DevOps工具(一)

 3 years ago
source link: https://mp.weixin.qq.com/s?__biz=MzAwMTEwNzEyOQ%3D%3D&%3Bmid=2650009680&%3Bidx=1&%3Bsn=8c14035ee196bb21868ef090d2da5016
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

原文: https://dzone.com/articles/50-useful-devops-tools?edition=627291&utm_medium=email&utm_source=dzone&utm_content=50%2B%20useful%20DevOps%20tools&utm_campaign=

翻译: 时序(祝坤荣)

什么是DevOps?

DevOps方法学,是由开发与运维定义的一种软件与团队管理方法,其最初提出是在2009年,之后在IT领域成为了流行的概念。

DevOps对于使用的的每个人来说都意味着很多东西,它不只是定义好的标准,软件或流程,更是一种文化。Gartner对DevOps的定义是:

DevOps代表IT文化的变化,通过对敏捷方法的适配并聚焦在快速的IT服务交付,在面向系统方法的情境中实践精益。DevOps鼓励人们(和文化),寻求改进在运维与开发团队间协同的办法。DevOps实现工具技术 - 特别是可以在研发生命周期中增强编程与动态基础架构的自动化工具。

从以上定义看出,DevOps是软件生命周期(SDLC)的多面方法,它更主要的强项是通过技术与软件来提升SDLC的效率。所以通过使用正确的DevOps方法,尤其是适配其合作的哲学并实现正确的工具,你的业务相对传统方法可以增加大约30倍的部署频率,数据来自CapGemini(https://www.capgemini.com/de-de/wp-content/uploads/sites/5/2016/03/devops-the-future-of-application-lifecycle-automation.pdf)调查。

工作使用的正确工具

这份清单想尽可能全面。文档提供了对于DevOps新手的工具,也有最近才在市场上发布的工具- 两种都可对于你和你的业务有帮助。对于已经熟练使用DevOps的你们,我希望你们可以找到对于自己增长中的企业有帮助的内容。

对于这么多可选择的工具,用哪个是没有“正确的”答案的。没有一个工具可以覆盖你可以用到的各种开发与运维团队中需要用到的东西,让我们在选择会用到的工具前看看什么会有用。

• 计划与协作:在你启动SDLC前,你需要对于哪些工具可以在你的团队中可以用于实现要有个统一思想。甚至有DevOps工具可以帮助你完成这一关键步骤。

• 构建:你需要一些工具来创建配置相同环境的工具。你最不想听到的是“但它在我的电脑是好的”

• 自动化:这就是DevOps能给你的,但自动化也能比手工方法更能快速增加生产力。

• 持续集成:工具需要能提供固定和快速的反馈,一天几次,但不是所有集成产品实现都是一样的,你选择的工具是否适合你的需要?

• 部署:部署需要是可预测,平滑,可靠并极小风险的,自动化在这个流程中可以大显身手。

脑子里记着上面的内容,我希望选择的工具对你的业务有帮助并能扩展到DevOps生命周期。

工具目录列表:

基础设置既代码

持续集成与交付

开发自动化

可用性测试

数据库与大数据

监控

测试

安全

有用的CLI工具

开发

可视化

基础设施即代码

Zf6zUju.png!mobile

1. AWS CloudFormation

如果你目前正在使用或计划使用AWS云,AWS CloudFormation是一个必选项。CloudFormation让你对你的AWS基础设施进行建模并可以平滑简单地配置所有你的AWS资源。所有东西都可以用JSON或YAML模板文件来实现自动化特性来保证你的部署是可预测,可靠与可管理。

链接:https://aws.amazon.com/cloudformation/

2. Azure Resource Manager

Azure Resource Manager(ARM)是微软对于IAC工具的回答。通过ARM模板,可描述的JSON文件,Azure Resource Manager可以提供你基础设施,处理依赖,声明不同的资源。

链接:https://azure.microsoft.com/en-us/features/resource-manager/

JVjMZzR.png!mobile

3. Google Cloud Deployment Manager

跟上面提到的工具类似,Google Cloud Deployment Manager是谷歌为Google云平台准备的IAC工具。这个工具使用YAML作为配置文件,使用JINJA2或PYTHON作为模板。一个关于部署的值得一提的特性是‘预览’,让你可以在提交前看到变更。

链接:https://cloud.google.com/deployment-manager/

4. Terraform

Terraform是HashiCorp(Vault和Nomad的提供者)提供给你的工具。Terraform与以上提到的工具有很大不同,它没有限制到一个具体的云平台,这提供处理复杂分布式应用的能力而不被绑定到一个平台。并且与谷歌云部署管理类似,Terraform也提供了预览功能:

链接:https://www.terraform.io/

本文来自祝坤荣(时序)的微信公众号「麦芽面包,id「darkjune_think」

转载请注明。

交流 Email: [email protected]

微博:祝坤荣


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK