实现DevOps需要什么?
硬性要求:工具上的准备
上文提到了工具链的打通,那么工具自然就需要做好准备。现将工具类型及对应的不完全列举整理如下:
-
代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion
-
构建工具:Ant、Gradle、maven
-
自动部署:Capistrano、CodeDeploy
-
持续集成(CI):Bamboo、Hudson、Jenkins
-
配置管理:Ansible、Chef、Puppet、SaltStack、ScriptRock GuardRail
-
容器:Docker、LXC、第三方厂商如AWS
-
编排:Kubernetes、Core、Apache Mesos、DC/OS
-
服务注册与发现:Zookeeper、etcd、Consul
-
脚本语言:python、ruby、shell
-
日志管理:ELK、Logentries
-
系统监控:Datadog、Graphite、Icinga、Nagios
-
性能监控:AppDynamics、New Relic、Splunk
-
压力测试:JMeter、Blaze Meter、loader.io
-
预警:PagerDuty、pingdom、厂商自带如AWS SNS
-
HTTP加速器:Varnish
-
消息总线:ActiveMQ、SQS
-
应用服务器:Tomcat、JBoss
-
Web服务器:Apache、Nginx、IIS
-
数据库:MySQL、Oracle、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库
-
项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker