使用云服務(wù)的挑戰(zhàn):錯誤架構(gòu)意味著僵化和失敗
譯文云服務(wù)的遷移工作是非常巨大的。但不幸的是,我們往往會通過之前使用內(nèi)部部署的狹隘經(jīng)驗來看待和理解云服務(wù)。大多數(shù)公司將業(yè)務(wù)遷移到云上,是為了能夠發(fā)掘新的商業(yè)機會。但許多公司之所以遷移的步履蹣跚,是因為他們?nèi)匀皇褂昧诉m用于內(nèi)部部署的架構(gòu)。這種架構(gòu)會導(dǎo)致在云上部署時,往往會過度利用某一部分的資源,而對另一部分的資源利用不足。而一個創(chuàng)新和穩(wěn)健的架構(gòu)通常需要均衡和全面的使用資源。
想象一下,你的IT業(yè)務(wù)運行在公司地下室的服務(wù)器上。如果只是把這些服務(wù)器搬到辦公室的一樓會給你的生意帶來新的機會嗎?當(dāng)然不會。將服務(wù)器轉(zhuǎn)移到云端可能會為您節(jié)省一些資金,但這肯定不會讓您有更進(jìn)一步的發(fā)展。關(guān)于云服務(wù),首先也是最重要的一點是,上云不是一個部署位置的遷移,而是一個全新的架構(gòu)模型。構(gòu)建云服務(wù)最需要的是心態(tài)的改變,而不是位置的改變。
云服務(wù)與內(nèi)部部署架構(gòu)有什么不同?
在十年前,內(nèi)部部署架構(gòu)是大多數(shù)人的共同參照系,也是我們理解和解釋云的唯一方式。在今天,仍然通過傳統(tǒng)架構(gòu)來理解云是過時和有害的,傳統(tǒng)架構(gòu)已經(jīng)無法讓我們更好的發(fā)揮云服務(wù)的力量了。今天我們可以參考Netflix來設(shè)計我們的云服務(wù)架構(gòu),而不是繼續(xù)參考那些傳統(tǒng)架構(gòu)。同時我們必須更加關(guān)注兩者的差異,而不是其相似之處。
在內(nèi)部部署架構(gòu)時代,我們可以使用的服務(wù)和產(chǎn)品是有限的,因為我們使用的每個服務(wù)和產(chǎn)品都需要許可證(更不用說維護(hù)大量的各種服務(wù)是不可行的)。在云計算時代,我們可以管理大量的、面向任務(wù)的產(chǎn)品和服務(wù),這些資源都是按量付費的,因此沒有入門成本。
接下來的一個差異可能會更加觸動您。下面的屏幕截圖是Azure中一個名為App Service 的PaaS服務(wù)。通過這個服務(wù)您可以部署Web業(yè)務(wù)。該服務(wù)提供了一系列開箱即用操作功能列表(例如,彈性伸縮、備份、監(jiān)控、身份驗證、API管理)。當(dāng)然您也可以在VM中手動部署Web服務(wù)器,但是您需要思考,在手動部署的Web服務(wù)器上實現(xiàn)所有這些功能需要付出多少努力?即使真的實現(xiàn)了這些功能,要讓這些虛擬機和Web服務(wù)器保持最新狀態(tài)并得到良好管理,又需要付出多少努力?
不單是App服務(wù),事實上Azure還提供了數(shù)十種的功能非常全面,開箱即用的PaaS(或Serverless)服務(wù)。通過使用這些云原生和面向任務(wù)的服務(wù),您不要浪費時間和資源來構(gòu)建和維護(hù)基礎(chǔ)設(shè)施,可以將注意力專注于開發(fā)業(yè)務(wù)解決方案上。
云服務(wù)的挑戰(zhàn):使用哪種服務(wù)?
一個令人不安的事實是:大多數(shù)組織都知道云服務(wù)與內(nèi)部部署架構(gòu)的不同,他們中的大多數(shù)也知道兩者主要的區(qū)別。然而,他們并沒有使用更新,更好的架構(gòu)。這是因為大多數(shù)組織都面臨一個同樣的挑戰(zhàn):在云廠商提供的眾多服務(wù)中,哪一種才是最適合具體業(yè)務(wù)場景的?如果有太多的選擇,反而會導(dǎo)致開發(fā)人員和架構(gòu)師陷入決策困難。為了避免決策困難,技術(shù)人員往往會傾向于使用最熟悉的架構(gòu)。對于習(xí)慣于基于內(nèi)部部署架構(gòu)構(gòu)建的組織來說,這通常意味著繼續(xù)選擇舊的技術(shù)棧(VMs/容器編排集群),而不考慮其他選擇。
如何在數(shù)十個云服務(wù)之間選擇確實是一個艱難的挑戰(zhàn)(在撰寫本文時,Azure有400多個不同的服務(wù),每個服務(wù)可能有數(shù)十個內(nèi)置功能)。然而這個挑戰(zhàn)仍然是值得面對的。這是因為,如果您不解決這個問題,您就需要面對如何讓云服務(wù)運行得像內(nèi)部部署環(huán)境的問題。
解決第一個問題(使用哪種服務(wù))可以有效地釋放云服務(wù)的力量,而解決第二個問題只會讓您在傳統(tǒng)架構(gòu)中陷得更深。使用云服務(wù)的挑戰(zhàn)是真實存在的,但從長遠(yuǎn)來看,解決它會給您帶來非常好的回報。我多次看到,在云上使用了錯誤架構(gòu),往往會很快達(dá)到性能的極限,而在錯誤的架構(gòu)上進(jìn)行進(jìn)一步的開發(fā),則會導(dǎo)致對業(yè)務(wù)的投資變得低效甚至失敗。
如何解決上云的挑戰(zhàn)
我不知道是否有靈丹妙藥可以完美地解決上云的挑戰(zhàn),但是下面這些建議可以幫助你:
- 使用參考體系架構(gòu):下面是Azure參考體系結(jié)構(gòu)。當(dāng)你開始使用云服務(wù)時,這些參考架構(gòu)將有助于為你的需求找到合適的云服務(wù)。
- 讓更多團隊參與進(jìn)來:首席信息官(或任何個人)了解IT與之相關(guān)的全部知識的日子已經(jīng)一去不復(fù)返了?,F(xiàn)代化的云服務(wù)提供了許多低代碼/無代碼選項,讓更多的員工(技術(shù)人員和非技術(shù)人員)參與IT解決方案。這可以讓眾多非技術(shù)人員也成為創(chuàng)造創(chuàng)新解決方案的巨大力量。
- 忘記內(nèi)部部署模型:如果你在上云的過程中看到的仍然是一個一個的VM、vNet、存儲和防火墻等資源,那么不管你在云解決方案上付出了多少努力,最終你還是會得到一個內(nèi)部部署模型的解決方案,只不過它可能位于云上而已。
最后,我不想忽略上云帶來的節(jié)約成本的重要性,但即使業(yè)務(wù)部署遷移的場景中,如果需要將節(jié)約成本發(fā)揮到最大,也只能通過采用云服務(wù)架構(gòu)模型來實現(xiàn):在不需要資源時銷毀資源,在需要時重新創(chuàng)建資源,并按需擴展資源。總之,上云不單是一個部署位置的變化,而是一個全新的架構(gòu)模型。
譯者介紹
吉鍇,51CTO社區(qū)編輯,18年軟件開發(fā)經(jīng)驗?,F(xiàn)在阿里云全球培訓(xùn)中心任講師,負(fù)責(zé)云計算,云原生,數(shù)字化轉(zhuǎn)型等領(lǐng)域的課程設(shè)計,交付。先后于富士通,聯(lián)想集團,歡聚時代,搜狗任職,手機YY首任架構(gòu)師。2014年開始從事專業(yè)技術(shù)培訓(xùn)和顧問工作。
原文標(biāo)題:??The Cloud Challenge: Choice Paralysis and the Bad Strategy of “On-Premising” the Cloud??,作者:Alaa Tadmori