Peter Wayner 陳琳華
“云”這個詞是IT人員在穩(wěn)定信心時經(jīng)常使用的萬能詞語。就像政客們陷入困境時,他們喜歡說解決問題的方法是“教育”,醫(yī)生們在回答患者的提問時會不假思索地說出“休息”這個詞一樣。在過去的十年或更長的時間里,從實習生到首席信息官,IT部門的每個人似乎都知道,“云”適用于所有的問題。
不過,這個詞也隱含著大量的復雜和混亂,因為多年來它們有著千差萬別的含義。在云這個詞流行起來之前,大型機公司就已經(jīng)在銷售分時系統(tǒng)。早期的主機托管公司會在Unix服務(wù)器上租用賬戶。像美國在線這樣的公司一直在以娛樂為名,提供類似于云的存儲和計算服務(wù)。
即便云計算被世界所熟知,這種發(fā)展仍然在繼續(xù)。最早的產(chǎn)品只有幾十個運行在胖服務(wù)器上的瘦虛擬機。即使實例只是機器的一小部分,用戶也可以假裝是root。FTP服務(wù)器則被重新包裝為bucket和dropbox。從那時起,服務(wù)開始出現(xiàn)爆炸式增長,“XaaS”(X即服務(wù))成了時髦的術(shù)語。
每一項新的發(fā)展成果都會促使云用戶重新思考他們想要租什么,期望自己的錢能夠買到什么。其中許多概念是重新拾起來的,但是經(jīng)過了重新包裝和炒作。許多都是為了解決上一代解決方案所產(chǎn)生的問題而推出的解決方案。所有這些都給了我們一個機會,看看我們正在建設(shè)什么,換句好聽的說法就是“讓它們重新煥然一新?!?/p>
以下是云創(chuàng)新和發(fā)展的七大重要方式。
第一代無服務(wù)器計算帶來了相對較大的計算單元。例如,AWS Lambda一開始就把所有的調(diào)用降低到了100毫秒為一計費單位,程序員很快就發(fā)現(xiàn),他們花同樣的錢能夠?qū)崿F(xiàn)快速且簡單的計算,計算規(guī)??梢蕴岣?0、30甚至100倍。即便達不到宣傳的效果,那也沒關(guān)系,花的錢是一樣的。
隨著越來越多的無服務(wù)器平臺加入競爭,最小計算粒度的大小也越來越小。AWS剛剛完成向100毫秒的調(diào)整,就開始以1毫秒為單位進行增量計費了。如果用戶清理代碼并注意改進那些低效代碼,那么他們的賬單無疑還將會降低。
現(xiàn)代操作系統(tǒng)極為復雜化,它們被設(shè)計用于處理打印任務(wù)、視頻游戲、文檔編輯和大量的其他任務(wù)。用戶是否想過為什么自己要在云實例中啟動所有的代碼,為所有任務(wù)做好準備?
Unikernel為一種去除所有這些復雜性的方法。一旦代碼運行,編譯器將構(gòu)建一個很小的包,其將位于標準管理程序之上。支持者指出,這不僅因省去了所有的額外庫而變得效率更高,而且攻擊面變得更小,更容易被保護。
為什么不直接從AWS或Google獲得小型操作系統(tǒng)呢?Google的容器優(yōu)化操作系統(tǒng)和Amazon的Bottlerocket將傳統(tǒng)的虛擬化范例應(yīng)用到了操作系統(tǒng)當中。它們的亮點是打包了微服務(wù),不借助操作系統(tǒng)的大部分功能即可處理一些小型任務(wù)。
另一種簡化部署到云端的方法是讓開發(fā)人員編寫一個簡單的函數(shù),并將所有其他工作留給云本身。在過去的幾年里,主要的云計算公司都推出了自己的工具,允許一小部分代碼,一個單一的函數(shù)來做一些決定和處理一些數(shù)據(jù)。這些都是了不起的進步,尤其是對于那些需要把許多服務(wù)整合成一個大型產(chǎn)品的人員而言。
唯一的不利因素是供應(yīng)商鎖定。雖然函數(shù)可以用多種語言編寫,但是與框架的交互是專有的?,F(xiàn)在有許多開源項目,如OpenWhisk、OpenFaaS、Kubeless、Knative、Fission,可以將函數(shù)即服務(wù)變成了一種可供用戶選擇的選項。
它們不僅僅是為Mac用戶準備的。亞馬遜的許多服務(wù)器都在使用ARM內(nèi)核的Gravitron芯片,從而使得運行成本降低了40%。當然用戶必須重新編譯自己的可執(zhí)行文件才能在ARM平臺上運行,除非使用的是更高級的語言,比如Java、JavaScript(Node.js)或PHP(Drupal、WordPress等)。
這樣是否會節(jié)約大量資金,在很大程度上取決于用戶的計算和負載的性質(zhì)。一些基準測試認為,Gravitron機器與基于Intel的機器相當。但是許多人認為基于ARM的實例在性能上稍弱一些,因此更適合運行輕代碼的情況。由于這些代碼運行時間不長因而可以節(jié)省成本。
決定是否換到ARM的唯一方法是在接近生產(chǎn)環(huán)境的環(huán)境中測試自己的工作負載,看看它們是否可以節(jié)省成本。
很久以前,F(xiàn)ortran的程序員們就發(fā)現(xiàn)Fortran添加了許多令人興奮的新功能,雖然這些程序員不知道未來的編程語言會是什么,但是他們將其稱為“Fortran”。這與今天的數(shù)據(jù)庫(原生微函數(shù)作為服務(wù)層)面臨的情況相似。以前數(shù)據(jù)庫只能存儲矩形表。現(xiàn)在它們幾乎無所不能。
開發(fā)者們開始注意到后臺的數(shù)量。例如,PostgreSQL 11有自己用于編譯查詢的JIT,其嵌入式函數(shù)現(xiàn)在可以提交或回滾處理。由于數(shù)據(jù)庫使用了JSON,因此在離開數(shù)據(jù)庫的情況下構(gòu)建完整的微服務(wù)比以往任何時候都要容易。
Azure Cosmos DB等數(shù)據(jù)庫還整合了SQL、MongoDB、Cassandra和圖形API。Google的Firebase等數(shù)據(jù)庫也提供了存儲數(shù)據(jù)以及通過復制將數(shù)據(jù)交付給客戶端的功能。它們將分發(fā)和存儲結(jié)合了起來。大量與此類似的新數(shù)據(jù)庫為“數(shù)據(jù)庫”這個術(shù)語加入了帶來了新的含義。
充滿數(shù)字、字母和公式的網(wǎng)格是bean計數(shù)器和管理器的通用語言,而不是編碼器的通用語言,但是作為一種智能文件格式和向大眾開放云的方式,它們正得到越來越多的重視?!盁o代碼”運動將程序員從循環(huán)中剔除,并通過將電子表格轉(zhuǎn)化為應(yīng)用程序的工具直接接觸宏。例如,谷歌宣稱已有公司使用AppSheet“無代碼技能”構(gòu)建和部署了35個以上的業(yè)務(wù)應(yīng)用程序。
不僅僅是電子表格。整個辦公應(yīng)用程序套件如今已經(jīng)成為了越來越多的運行業(yè)務(wù)的定制應(yīng)用程序的基礎(chǔ)。一些編碼器已經(jīng)可以構(gòu)建集成了文字處理器、幻燈片演示生成器以及由谷歌或微軟開發(fā)的其他通用工具的綜合性應(yīng)用程序,而不再為單獨的實例構(gòu)建和部署應(yīng)用程序。有了這些,大部分時間都花在處理文檔和電子郵件的企業(yè)員工的工作將會變得更加輕松。
云計算正在將越來越多的計算能力轉(zhuǎn)向網(wǎng)絡(luò)邊緣。像Cloudflare這樣的公司現(xiàn)在也開始提供智能計算服務(wù)。Cloudflare Workers在他們的200多個的數(shù)據(jù)中心中盡可能地選擇一個最靠近用戶的數(shù)據(jù)中心上運行JavaScript、Rust、C或C++。
亞馬遜的AWS for the Edge服務(wù)也有類似功能,以讓用戶的代碼更靠近用戶。那些使用亞馬遜SageMaker機器學習服務(wù)的用戶可以讓自己從主要的數(shù)據(jù)中心向邊緣轉(zhuǎn)移。目前亞馬遜正在將重點放在與新興5G蜂窩網(wǎng)絡(luò)的連接上。毫無疑問,消費者將不再是偶爾通過移動設(shè)備使用昂貴的數(shù)據(jù)服務(wù),而是將移動設(shè)備變成他們?yōu)g覽互聯(lián)網(wǎng)內(nèi)容的主力設(shè)備。
云功能的興起導致相關(guān)的設(shè)備出現(xiàn)了爆炸式增長,這也是微軟推出Azure IoT Edge的初衷。例如,Custom Vision服務(wù)為新興的攝像頭網(wǎng)絡(luò)引入了邊緣計算。
隨著云計算的增長和逐步普及,相關(guān)的用例也越來越多。只要租用比自己動手搭建來得更加容易,那么任何需要電腦和數(shù)據(jù)存儲來推動企業(yè)發(fā)展的人都會接受云計算。
本文作者Peter Wayner為InfoWorld的特約編輯。此還,Wayner還撰寫了16本涉及開源軟件、無人駕駛汽車、隱私增計強算、數(shù)字化交易和信息隱藏等不同的主題的著作。
原文網(wǎng)址
https://www.infoworld.com/article/3613054/7-ways-the-cloud-is-changing.html