本文列出了Github上推荐的12款DevOps开发工具,这些工具可以帮助你更快更好的部署和管理服务器。
DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。
以下是Github上推荐的几个DevOps开发工具,这些工具可以帮助你更快更好的部署和管理服务器:
Capistrano
Capistrano是一种在多台服务器上运行脚本的开源工具,它主要用于部署web应用。它自动完成多台服务器上新版本的同步更新,包括数据库的改变。Capistrano最初由Jamis Buck用Ruby开发,并用RubyGems部署渠道部署。现在Capistrano不仅限于应用Ruby on Rails的 web应用框架,而且可以用于部署用其他框架的web应用程序,比如用PHP开发的。( 项目详情)
代码托管地址: https://github.com/capistrano/capistrano
推荐相关文档:
- Capistrano开发日记(1)( 2)
- 自动化部署实践capistrano
- 用 Capistrano 边写 Ruby 边部署迭代
- 用capistrano写一个简单的deploy脚本
- 使用 Capistrano —— Rails应用快速部署工具
- 使用Capistrano部署apache+mongrel cluster
Chef
一个系统集成框架,为您的整个基础设备提供配置管理。使用Chef,你可以:
1.编写代码来管理你的服务器,而不是运行命令(通过Cookbooks)
2.集成tightly到你的应用程序,数据库,LDAP目录等……(通过类库);
3.轻松的配置应用程序,但需要了解您的基础设备(运行的什么系统?当前的主数据库服务 器是什么?)
基本上,Chef就是一个Ruby配置管理引擎。您提供配方,希望您的系统如何去配置,然后交给厨师Chef,它将会为您配置你所希望的一切。你可以编写可爱的Ruby代码来管理你的服务器,而不需要使用命令去执行。( 项目详情)
代码托管地址: https://github.com/opscode/chef
推荐下载资源:
- chef详细配置
- chef fundamental
- Chef-Infrastructure-Automation-Cookbook-eBook.pdf
- Automated Chef cookbook testing with Drone.io and github
Docker
Docker是dotCloud开源的、可以将任何应用包装在Linux Container中运行的工具,2013年3月发布首个版本。当应用被打包成Docker Image后,部署和运维就变得极其简单。可以使用统一的方式下载、启动、扩展、删除、迁移。Docker可以用来:自动化打包和部署任何应用、创建一个轻量级私有PaaS云、搭建开发测试环境、部署可扩展的Web应用。( 项目详情)
项目主页: http://docker.io
代码托管地址: https://github.com/dotcloud/docker
推荐相关文档:
- 从coreos到docker到golang
- [Docker]初次接触
- Docker 介绍: 相关技术(LXC)
- Docker创建MySQL容器
- 一些 Docker 的技巧与秘诀
- 轻轻松松在centos上部署docker服务
推荐下载资源:
- Docker on Google App Engine
- Docker 入门教程
- Docker_MongoDB
- Docker the road ahead
- Docker中文社区:Docker with OpenStack.pdf
- 七牛云存储的首席布道师徐立:the docker way
- 桂阳:通过工作流实现Docker在CoreOS自动化部署
Logstash
Logstash 是一个应用程序日志、事件的传输、处理、管理和搜索的平台。( 项目详情)
项目主页: http://logstash.net/
代码托管地址: https://github.com/elasticsearch/logstash
推荐相关文档:
- 使用logstash分析Apache日志
- 日志文件监控利器 - logstash
- Logback和Logstash的集成
- 用 elasticsearch 和 logstash 为数十亿次客户搜索提供服务
- 使用logstash+elasticsearch+kibana快速搭建日志平台
- logstash开源日志管理系统-2-logstash配置语言介绍
OpenStack
OpenStack是由Rackspace与NASA于2010年7月共同推出的云计算开源项目,目的是提供大规模云操作系统,支持类似AWS功能的IaaS平台。目前已经成为仅次于Linux的最大的开源社区,其会员覆盖几乎所有主流的IT供应商。OpenStack广泛在互联网公司和传统企业间部署,并因经诞生了许多创业公司。OpenStack拥有非常好的架构,这体现在所有功能全部模块和API化,模块之间松耦合。( 项目详情)
项目主页: http://www.openstack.org/
代码托管地址: https://github.com/openstack/openstack
推荐相关文档:
- 如何学习OpenStack,如何成为OpenStack工程师?
- Openstack能走多远——Openstack、VMware浅析
- 【OpenStack】Openstack之Cinder服务初探
- 【OpenStack】在OpenStack上搭建OpenStack UT环境
- OpenStack学习笔记之--OpenStack Nova 架构
推荐下载资源:
Puppet
你可以使用Puppet集中管理每一个重要方面,您的系统使用的是跨平台的规范语言,管理所有的单独的元素通常聚集在不同的文件,如用户, CRON作业,和主机一起显然离散元素,如包装,服务和文件。Puppet的简单陈述规范语言的能力提供了强大的classing制定了主机之间的相似之处,同时使他们能够提供尽可能具体的必要的,它依赖的先决条件和对象之间的关系清楚和明确。( 项目详情)
代码托管地址: https://github.com/puppetlabs/puppet
推荐相关文档:
- puppet配置之puppet.conf详解中英文对照
- 开源自动化部署管理工具Puppet安装
- 集中化运维管理——Puppet管理之路
- puppet核心资源类型及其常见属性学习笔记
- 自动化运维之puppet
推荐下载资源:
StatsD
StatsD是一款运行在Node.js平台之上的网络应用,可以用来监听UDP端口的信息,并将监听到的数据生成实时图表。StatsD 0.1.0版本由Etsy发布于2012年2月16日。( 项目详情)
代码托管地址: https://github.com/etsy/statsd
推荐相关文档:
Vagrant
Vagrant是一款用来构建和部署虚拟开发环境的工具,非常适合 PHP/Python/Ruby/Java这类语言开发Web应用,可通过Vagrant封装一个Linux开发环境,分发给团队成员,成员可以在自己喜欢的桌面系统(Mac/Windows/Linux)上开发程序,代码却能统一在封装好的环境里运行。它使用VirtualBox虚拟化系统,使用Chef创建自动化虚拟环境。( 项目详情)
代码托管地址: https://github.com/mitchellh/vagrant
推荐相关文档:
Ansible
Ansible 是一个模型驱动的配置管理器,支持多节点发布、远程任务执行。默认使用 SSH 进行远程连接。无需在被管理节点上安装附加软件,可使用各种编程语言进行扩展。Ansible 提供一种最简单的方式用于发布、管理和编排计算机系统的工具,你可在数分钟内搞定。( 项目详情)
代码托管地址: https://github.com/ansible/ansible
推荐相关文档:
- tornado+ansible+twisted+mongodb运维自动化系统开发( 一)( 二)( 三)
- 在Puppet/Ansible中使用PPA
- Ansible@一个高效的配置管理工具(系列文章)
Salt
Salt是一个大型分布式的配置管理系统(安装升级卸载软件,检测环境),也是一个远程命令执行系统。作为一个强大的远程执行管理器,Salt 用于快速和高效的服务器管理。比func 更强大。扩展更为方便。( 项目详情)
代码托管地址:https://github.com/saltstack/salt
推荐相关文档:
Graphite-web
Graphite-web 是 graphite组件之一, 提供一个django的可以高度扩展的实时画图系统。( 项目详情)
代码托管地址: https://github.com/graphite-project/graphite-web
官方文档: http://graphite.readthedocs.org/en/latest/
fabric
Fabric 是一个 Python (2.5 或更高) 库和命令行工具,用于连接到 SSH 服务器并执行命令。( 项目详情)
代码托管地址: https://github.com/fabric/fabric
推荐相关文档:
- Python Fabric实现远程操作和部署
- MySQL原生HA方案 – Fabric体验之旅
- MySQL Fabric部署
- 使用Fabric部署Hadoop和HBase
- python fabric实现远程操作和部署