最近幾年DevOps的概念越來越火,各個企業也逐漸意識到DevOps對項目研發效率的重要性,也有不少第三方企業提供整套流程成熟的解決方案。隨著國內軟件開發敏捷化的推進,DevOps已經被越來越多的企業所關注,但是隨著對DevOps的了解的逐漸加深,很多企業都在思考:要不要開始DevOps,面對企業現狀應該怎么做?我要投入多少?
其實目前我國很多企業都是在進行初期的敏捷探索,完全談不上企業級敏捷管理,但是又由于市場與業務所帶來的壓力讓他們都向開始進行DevOps轉型,這時DevOps的推進就使很多企業感覺無從下手,今天我們就討論一下,如何才能在最小的風險下,投入最少的成本做到一個較高程度的DevOps。這里我們先分析一下DevOps是什么。大部分人對DevOps的解釋都是從這個單詞直譯過來的就是開發運維一體化,其實這樣理解很片面。其實我們不難從Patrick提出DevOps的過程得出結論,DevOps的精準解釋應該是通過敏捷的軟件開發與敏捷的運維管理相結合達到業務的快速、靈活響應,也就是DevOps = Dev Agile + Ops Agile。那么我們在重新組合整理下,DevOps就是敏捷管理與軟件的持續交付。
DevOps早在九年前就有人提出來,但是,為什么這兩年才開始受到越來越多的企業重視和時間呢?因為DevOps的發展是獨木不成林的,現在有越來越多的技術支撐。微服務架構理念、容器技術使得DevOps的實施變得更加容易,計算能力提升和云環境的發展使得快速開發的產品可以立刻獲得更廣泛的使用。技術的發展使得DevOps有了更多的配合。早期時,大家雖然意識到了這個問題的,但是苦于當時沒有完善豐富的技術工具,是一種“理想很豐滿,但是現實很骨感”的情況。DevOps的實現可以基于新興的容器技術;也可以在自動化運維工具Puppet、SaltStack, Ansible之后的延伸;還可以構建在傳統的Cloud Foundry、OpenShift等PaaS廠商之上。
而對于工程師而言,他們也是DevOps的受益者。微軟資深工程師Scott Hanselman說過“對于開發者而言,最有力的工具就是自動化工具”(The most powerful tool we have as developers is automation)。工具鏈的打通使得開發者們在交付軟件時可以完成生產環境的構建、測試和運行;正如Amazon的VP兼CTO Werner Vogels那句讓人印象深刻的話:“誰開發誰運行”。
DevOps正在增長,尤其是在大企業中:調查發現,DevOps的接受度有了顯著提高。74%的受訪者已經接受了DevOps,而去年這一比例為66%。目前,在81%的大企業開始接受DevOps,中小企業的接受度僅為70%。DevOps是一連串的工程實踐的有機組合,其中包括敏捷管理、持續交付、IT服務管理等等。DevOps是關注整個業務/應用/服務生命周期的管理,把業務和IT的戰略進行了對齊。DevOps以精益思想為基礎,強調自動化、拉動式、“拒絕浪費、創造價值”等。
目前的“瀑布流”模式開發中間有很多部門墻,從研發到測試再到運維,它們中間是完全斷層的。斷層的理念會導致我們在研發的過程中測試和運維都無事可做,這就是一種浪費。現在做的敏捷迭代、測試驅動開發讓我們組成小team模式。這種模式以業務價值流來進行交付,要能夠保證快速交付產品、模塊,并且是可以獨立運行的。DevOps讓團隊共享面向客戶的價值、共享集成目標、共享質量責任。DevOps也讓運維的作用變得更加突顯,此時需要全新的思維/平臺/方法論來實現Dev的軟件快速交付到Ops階段,并且能夠穩定地運營。
為了切實貫徹顧客滿意度第一的原則,中培組建了一支包括國內最知名的DevOps技術、管理專家等講師和咨詢顧問在內的專業教學團隊,同時邀請一批國內外知名企業的高層經理和資深專家指導加盟,使學員既能學得會理論知識,又能將其運用到實際工作中,這便保證了該機構良好的教學效果,及學員們的普遍信賴,使中培偉業本身得到了良好的發展。