- 云原生架構進階實戰
- 王玉平編著
- 907字
- 2020-09-18 17:43:54
1.7 何時采用云原生
云原生架構是一個階段性產物,它符合技術的生命周期,有流行時期,也有淘汰的時間點。是否采用云原生要看各自場景的需求以及是否具有使用云原生的基礎條件。另外,云原生架構不是銀彈,如果不了解情況就貿然上云原生架構,會帶來各種成本極大浪費,也解決不了所有問題。
在選擇上云原生之前,讀者可以問自己幾個問題:
(1)企業的現有基礎架構是否敏捷?所謂敏捷是指可以通過API來自動分配、銷毀資源,也就是說,現有IaaS層是不是API可控制的。云原生應用需要系統抽象,在應用中不能硬編碼系統主機名,也不能捆綁應用到特定機器,從而排除人為操作應用和系統之間的映射。換句話說,當應用不再關注底層系統的情況時,就可以嘗試云原生架構。
(2)企業的開發團隊、部署團隊、運維團隊是否獨立?技能是否相通?如果多個團隊各自獨立運作,互相之間技術不了解,這種情況下采用云原生架構,則勢必帶來磨合成本和高昂的學習成本。如果采用云原生架構,將打破這種獨立運作的組織架構,由傳統縱向分割團隊改為橫向分割團隊,每個小組可以自己負責縱向的所有事宜,從而更好地協作。
(3)企業的業務是否需要更快地迭代,是慢步速應用還是快步速應用?如果是慢步速應用,則完全可以不采用云原生架構,直接在一臺物理服務器或者云服務器上一次性部署會更加節約成本。采用云原生架構的應用,就是為了快速響應業務變化,并快速部署應用,只有業務變化快的業務才能充分發揮云原生架構的作用。
(4)企業是否有云原生應用?是否有滿足十二要素的應用?是否有微服務等應用?如果以上都沒有,那么企業可能還需要做更多工作才能采用云原生架構。適合云原生架構的應用必須職能單一、與系統無綁定,能夠動態擴展實例數量。這就要求能夠以無人值守的方式擴展應用實例,也要求狀態持久化的存儲服務獨立于應用所在的服務器。符合十二要素是最好的實踐。
如果以上問題的答案都是“是”,那么企業完全可以毫無顧慮地采用云原生架構。如果以上問題的回答有“否”,也不是說企業不能采用云原生架構了。實際上,對于一個非互聯網企業或者高校、政府機關來講,能夠部分采用云原生架構,能夠部分借鑒云原生應用的理念,也是一種改進的成果,為轉向云原生架構做準備工作。