Peter+Horadan
您不必在云中分配虛擬機,而是上傳功能,讓IaaS服務提供商知道怎樣部署、運行和擴展這些功能
編譯 charles
無服務器計算是一種顛覆性的應用程序開發方式,程序員不需要花很多的時間解決硬件規模問題,這種開發方式在事件驅動編程領域迅速得到了越來越多的應用。企業現在應該開始抓住這個機會,看看是否能幫助他們大幅降低成本,同時確保應用程序以最佳性能運行。
在過去十年中,軟件團隊已經遠離直接管理數據中心硬件,而是從基礎設施即服務(IAAS)供應商(如亞馬遜網絡服務(AWS)和Microsoft Azure)那里租用計算功能。很少有軟件團隊通過直接管理硬件來創造獨特的價值,全世界的軟件團隊都歡迎有機會將這種無差別的硬件重負載交給IaaS供應商。
遷移到IaaS的第一波涉及在云中復制數據中心。例如,在其數據中心有10臺機器的團隊可能在IaaS中創建10個虛擬機,并將每臺服務器逐個復制到云中。這工作得很好,但業界很快就意識到IaaS不僅僅是一種卸載硬件管理的方法。相反,它是構建應用程序一種完全不同的方式,能帶來更大的機會。
無服務器計算就是這個過程的下一步。使用無服務器計算,軟件團隊只需上傳功能,讓IaaS供應商知道怎樣部署和運行這些功能,而不是分配虛擬機并向其部署代碼。IaaS提供商還負責擴展基礎設施,以便功能按照預期執行——無論它們被如何頻繁的調用。所有的軟件團隊都會擔心的是編寫代碼并將其上傳給IaaS供應商。
無服務器計算的承諾是,團隊完全不必擔心運行代碼的機器:高峰時間需要多少臺機器,這些機器是否已經打了補丁,機器是否有正確的安全設置,等等。相反,團隊只需要專注于讓代碼更好,而IaaS供應商負責大規模運行代碼。
作為一個實際的例子,考慮一個應用程序,它支持用戶上傳照片自動去除紅眼。如果團隊管理自己的硬件,過度設定了專用于應用程序的服務器數量——而上傳的照片相對較少,那么服務器大部分時間被閑置,這意味著資源的浪費。但是,如果服務器數量不足,用戶將在峰值使用期間遭遇嚴重的延遲。如果提供了自動擴展服務,會有額外的投入用于進行管理。無服務器計算消除了所有這些問題。
無服務器計算不但使得軟件團隊不必去考慮硬件,讓軟件團隊受益,而且還大幅度降低了成本。在直接管理虛擬機的環境中,系統中幾乎總有過剩的容量,這帶來了直接成本。此外,大多數IaaS供應商為簽訂合同購買“保留”容量的團隊提供折扣。
在管理機器的環境中,這給軟件團隊帶來了不受歡迎的負擔:他們不僅要必須管理機器,還必須對下一年需要的容量進行預測,并與他們的IaaS供應商簽訂長期合同。如果一個團隊高估了需求,會浪費資金去購買用不到的保留容量。相反,如果團隊低估了需求,它必須完全按照“零售”價來購買合同以外更多的容量。對于管理IaaS支出的人來說,這種財務花招是眾所周知而且令人不快的現實。
無服務器計算避免了這類花招。在無服務器環境中,團隊只是上傳代碼,沒有必要提前考慮容量或者制定長達數年的服務器預留合同。
這節省的成本可不是一星半點兒。根據我們自己的經驗,我們有的項目每個月在預留虛擬機上要花費5000美元,而無服務器計算模式每月的費用降低到不到200美元。
在規模上也節省了成本,提高了效率。回到紅眼消除應用程序:采用標準IaaS,開發人員編寫應用程序,在本地計算機上測試,從IaaS提供商那里租用服務器,確保服務器打了所有最新的補丁(一直會有的要求),然后從戰略上、財務上和合同上開始打算需要多大的規模。使用無服務器計算,供應商發布允許開發人員上傳功能的API,供應商處理所有服務器的維護和擴展工作。然后,供應商為用戶提供訪問應用程序的URL,僅此而已。
由于其簡單性和低成本,無服務器計算看起來是理想的開發環境,但還有一些重要的注意事項。首先,您需要非常信任供應商。無服務器計算的好處是您不必為細節而煩惱;缺點是您不知道任何細節。您必須信任供應商可以根據需要立即進行擴展,而且不會降低性能。
因此,今天,提供企業級、低延遲、高可用性服務的大多數企業可能仍然傾向于管理自己的服務器,或者至多是使用IaaS提供的服務器。對于沒有這樣嚴格要求的應用程序,無服務器計算可能會是非常好的低成本替代方案。
無服務器計算的另一局限是,如果一個公司的大型應用程序是由很多功能拼在一起的,那么在IaaS系統中沒有“編譯器”來完成拼接。相反,每個功能都是單獨上傳的,必須由軟件團隊管理才能一起工作。這比鏈接到相同的可執行文件中的功能效率低得多。測試和調試更有挑戰性,因為功能是單獨管理的,可能在不同的環境中有不同的版本。
最后,IaaS供應商目前僅支持有限數量的編程語言,這可能意味著需要為現有團隊提供額外的培訓,或者需要招聘新的團隊成員。新工具正在不斷地被交付,我預計這些問題會慢慢解決,但至少目前,無服務器計算仍然是“需要一些組件”。
隨著供應商克服或者消除這些障礙,無服務器計算的應用很快會越來越普及。最終,團隊一直相信IaaS供應商在硬件管理方面比他們自己更好,因此,即使是最關鍵的工作負載也將遷移到這種環境中。
每家公司都會受益于開發人員不再擔心基礎設施問題,而且會有更多的時間實現差異化的功能和特性。無論是時間有限、成本有限的剛實現從創意到產品的初創公司,還是能夠降低成本和提高靈活性的現有企業,“無服務器計算”很快將成為“計算”,今天出生的程序員可能永遠不會知道術語”服務器”。
(作者Peter Horadan,工程執行副總裁兼CTO,Avalara。Avalara的合規云平臺幫助各種規模的企業管理世界各地的州、地方和其他稅務機關復雜和繁重的稅務合規要求。每年,Avalara處理數十億間接稅務交易,提交數十萬份合規文件和退稅文件,并管理數百萬份豁免證書和其他合規相關文件。)
原文網址:
http://www.networkworld.com/article/3164209/cloud-computing/serverless-computing-s-future-is-now-and-why-you-should-care.htmll