##Devops定義python
devops就是爲了讓開發、運維和QA能夠高效協做的流程。(能夠把DevOps看做開發、技術運營和質量保障(QA)三者的交集。)
##DevOps對應用程序發佈的影響ios
在不少企業中,應用程序發佈是一項涉及多個團隊、壓力很大、風險很高的活動。然而在具有DevOps能力的組織中,應用程序發佈的風險很低,緣由以下 : (1)減小變動範圍 與傳統的瀑布模式模型相比,採用敏捷或迭代式開發意味着更頻繁的發佈、每次發佈包含的變化更少。因爲部署常常進行,所以每次部署不會對生產系統形成巨大影響,應用程序會以平滑的速率逐漸生長。 (2)增強發佈協調 靠強有力的發佈協調人來彌合開發與運營之間的技能鴻溝和溝通鴻溝;採用電子數據表、電子數據表、電話會議和企業門戶(wiki、sharepoint)等協做工具來確保全部相關人員理解變動的內容並全力合做。 (3)自動化 強大的部署自動化手段確保部署任務的可重複性、減小部署出錯的可能性。
##實現DevOps須要什麼?redis
硬性要求:工具上的準備 上文提到了工具鏈的打通,那麼工具天然就須要作好準備。現將工具類型及對應的不徹底列舉整理以下: 代碼管理(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、zabbix 性能監控: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 在工具的選擇上,須要結合公司業務需求和技術團隊狀況而定。 軟性需求:文化和人 DevOps成功與否,公司組織是否利於協做是關鍵。開發人員和運維人員能夠良好溝通互相學習,從而擁有高生產力。而且協做也存在於業務人員與開發人員之間。