“復雜性會致命,”Lotus Notes 作者和微軟資深工程師 Ray Ozzie 在 2005 年的一份內部備忘錄中寫道?!八鼊儕Z了開發人員的生命;使產品難以規劃、構建和測試它帶來了安全挑戰;讓用戶和管理員感到沮喪?!?nbsp;
如果 Ozzie 當時就認為軟件開發過于復雜的話,你會忍不住好奇他會如何看待軟件開發人員在云原生時代所面臨的復雜性。從你可以觸摸的服務器上托管的整體架構中構建應用程序到將它們拆解成多個微服務,打包進容器,與 Kubernetes 調諧并托管在分布式云環境中,這種轉變標志著軟件的復雜程度激增。加上對功能豐富的消費級體驗的期望,要求安全和富有彈性,這對開發人員提出了前所未有的高要求。
亞馬遜首席技術官 Werner Vogels 在 2019 年 AWS 峰會期間表示:“當你遷移到如此普遍的微服務環境時,復雜性明顯增加了。一切都在單一整體中的日子是否更容易?是的,對于某些部分肯定如此?!被蛘?,正如他的同事、AWS 的 DevOps 產品營銷主管 Emily Freeman 在 2021 年所說的那樣,現代軟件開發是“一項關于熵的研究,并沒有變得更簡單?!?另一方面,復雜的技術從未像現在這樣現成、簡單、易用,通常是通過一個API——從基本庫和框架到圖像識別功能甚至是整個支付堆棧。只要在上面組裝和構建你的業務邏輯就可以了,但真的有那么簡單嗎?