2019年8月17日 星期六

筆記 | What is DevOps? Why DevOps?


Source: What is DevOps? - In Simple English( https://www.youtube.com/watch?v=_I94-tJlovg)


因為這幾年手邊專案和Cloud 越來越相關( AWS and Azure),Peggy也就默默地對相關技術和討論有些注意。最近因為加入learning school,幸運的,就有更多機會和專家們討教與交流。在聊到DevOps時,發現有趣的是,不見得每一個人對於DevOps的定義和認知是完全一樣的(和Scrum一樣XD)

那到底甚麼是DevOps呢?Why DevOps?因為要解決甚麼問題和挑戰嗎?以下是Peggy參考了一些資料做的整理。

DevOps 是由哪 2 個英文單字組成的 ?


顧名思義就是"開發"和"維運"。那為什麼要把過去專業分工好好的 Development 和 Operation "黏"在一起呢?

讓我們從以下這個在youtube上約有140多萬人次觀看的的Video ( What is DevOps? - In Simple English)來得到一些基本了解(七分鐘左右)。 


沒有七分鐘的朋友可以參考Peggy 以下的3分鐘摘錄 XD。


///// 3分鐘摘要 /////



在Dev and Ops分開的process上....

Dev team (Dave)
  • 常suffer到寫完的新功能要等數周才能上線,更影響到Time to Market(等真的release時,客戶可能都另結新歡了....)。
  • 也常struggle 於管理old code, pending code, new features, new productions.
  • 通常在Dev環境開發,和真正的production環境有所不同


Ops team (Anna)
  • 因為要把Dev team寫出來的code fit in 進去 production 環境,通常要耗時耗力的進行調整和測試,常見原因包含環境/config不一致等等。所以通常要數周的時間才能讓Dev的new code上線。
  • 另一個困難點是Ops team 同時間要operation/monitor 的系統會越來越多,而所使用tool又常不夠有效。
  • 另外,上線後的monitor以及是否因為這個new code change導致出問題,也是Ops的責任。Ops常覺得Dev team常只是把Code產生出來就丟給Ops team,然後似乎就不聞不問....
"What can be done to help Dave and Anna work better?" 

"They all want Happy customers!"

What if ?...

Source: What is DevOps? - In Simple English

Source: What is DevOps? - In Simple English

在實務上會發生的改變包含盡可能的自動化,含測試, workflow, infrastructure , monitoring and so on. 常提到的CI/CD, Microservices, Infrastructure as Code 等行話也因應而生。


Summary: DevOps 想帶來的好處& DevOps是甚麼

Source: "What is DevOps? - In Simple English" & Peggy 再製.




/////DevOps@維基百科&AWS, Microsoft ////


接下來來看一看維基百科以及著名企業 AWS, Microsoft怎麼定義 DevOps。

AWS
DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity. (DevOps 是集文化哲學實務工具於一身的結合,可提升組織快速交付應用程式和服務的能力)相較於使用傳統軟體開發與基礎設施管理程序的組織,這種作法能更快速地開發和改進產品。

Microsoft
DevOps is the union of people, process and tool to enable continuous delivery of value to our customers.


Wiki 

DevOps is a set of software development practices that combine software development (Dev) and information-technology operations (Ops) to shorten the systems-development life cycle while delivering features, fixes, and updates frequently in close alignment with business objectives



//// 小結 ////


"DevOps is a way to deliver software with shared pain and responsibility" ...

Peggy 個人蠻喜歡上面這句話。

DevOps 是一種文化、mindset,透過實務經驗和新技術/工具的支援,以更快速反應Business need.在負責/了解整個application/service的生命週期的過程中,了解對方的pain,一起當責,承擔整個專案。

Source: https://www.trendmicro.com/aws/securing-containers-cicd-pipeline-aws/

 DevOps 模型之下,Dev and Ops不再那麼的壁壘分明與對立,就如同現今的RD and QA發展趨勢。




/////  參考資料 /////





沒有留言:

張貼留言

Peggy的實驗空間| 小書庫 Index card ( 讀書筆記總目錄 )

  一直很喜歡閱讀,也常從閱讀好書中與讀書會得到許多的力量與啟發,不管是在人生的低潮抑或是順遂的時候。在閱讀之路上,這幾年也保持一個習慣。當閱讀到喜歡的書籍,且那陣子時間允許,就會提醒自己閱讀完後整理出心得筆記。一方面藉機鍛鍊寫作肌肉與思路,方便之後的複習和查閱。另一方面,也可以...