devOps
是流程和管理,运维和自动化,架构和服务,以及文化和组织,更多的是一种思想。
一、什么是DevOps
传统瀑布型开发已经不满足现状,2009 年左右 DevOps 应运而生,简单地来说,就是更好的优化开发(DEV)、测试(QA)、运维(OPS)的流程,开发运维一体化,通过高度自动化工具与流程来使得软件构建、测试、发布更加快捷、频繁和可靠。
1.DevOps 的技术栈与工具链
-
版本控制&协作开发:GitHub、GitLab、BitBucket、SubVersion、Coding、Bazaar
-
任务分配技术管理:Jira,Confluence
-
自动化构建和测试:Apache Ant、Maven 、Selenium、PyUnit、QUnit、JMeter、Gradle、PHPUnit
-
持续集成&交付:Jenkins、Capistrano、BuildBot、Fabric、Tinderbox、Travis CI、flow.ci Continuum、LuntBuild、CruiseControl、Integrity、Gump、Go
-
容器平台: Docker、Rocket、Ubuntu(LXC)、第三方厂商如(AWS/阿里云)
-
配置管理:Chef、Puppet、CFengine、Bash、Rudder、Powershell、RunDeck、Saltstack、Ansible
-
微服务平台:OpenShift、Cloud Foundry、Kubernetes、Mesosphere
-
服务开通:Puppet、Docker Swarm、Vagrant、Powershell、OpenStack Heat
-
日志管理:Logstash、CollectD、StatsD
-
监控,警告&分析:Nagios、Ganglia、Sensu、zabbix、ICINGA、Graphite、Kibana