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