云計算成功靠的是什么?

51cto
云原生計算或Serverless computing是描述部署和管理應(yīng)用程序的最新趨勢術(shù)語。這個想法很簡單:每個應(yīng)用程序或流程都被打包到自己的容器中,而容器又是跨節(jié)點集群動態(tài)編排(即調(diào)度和管理)的。

云計算成功的關(guān)鍵在于基礎(chǔ)設(shè)施即服務(wù)(IaaS)的概念,以及它通過管理程序的API為虛擬機提供服務(wù)的能力。管理程序允許您在同一物理硬件上托管多個操作系統(tǒng)(即虛擬機)。大多數(shù)現(xiàn)代管理程序設(shè)計為模擬多個CPU體系結(jié)構(gòu),其中包括Intel (x86和x86-64)、ARM、PowerPC和MIPS。在云計算下,通過基于web前端,您可以完全控制所有分配的計算資源,并且能夠在幾分鐘內(nèi)獲得并啟動一個新的服務(wù)器實例。

試想您可以在幾分鐘內(nèi)同時委托一臺服務(wù)器或數(shù)千個服務(wù)器實例。所有這些都是由web服務(wù)API控制的,對于那些不太熟悉的人來說,API就是將服務(wù)、應(yīng)用程序和整個系統(tǒng)粘合在一起的東西。通常,API通過公開業(yè)務(wù)功能和服務(wù),充當公司或產(chǎn)品的公共角色。針對云的API可以從瀏覽器、移動應(yīng)用程序或任何其他支持互聯(lián)網(wǎng)的端點調(diào)用。

同樣,對于每個部署的服務(wù)器實例,您都可以完全控制。換句話說:您對每一個都有root訪問權(quán)限(帶有控制臺輸出),并且能夠根據(jù)需要與它們交互。通過相同的web服務(wù)API,您可以啟動或停止任何需要的實例。云服務(wù)供應(yīng)商允許用戶選擇(虛擬)硬件配置——即內(nèi)存、CPU和帶有驅(qū)動器分區(qū)大小的存儲。用戶還可以從多個操作系統(tǒng)(包括Linux發(fā)行版和Microsoft Windows Server)和軟件包的列表中選擇安裝。最后,值得注意的是,選擇的資源越多,服務(wù)器實例的成本就越高。

容器

在運行虛擬機時,容器幾乎是光禿禿的金屬。托管虛擬機的開銷很小甚至沒有。該特性限制、考慮并隔離一個或多個進程的CPU、內(nèi)存、磁盤I/O和網(wǎng)絡(luò)使用。從本質(zhì)上說,容器將軟件應(yīng)用程序與操作系統(tǒng)解耦,為用戶提供一個干凈的、最小的操作環(huán)境,同時在一個或多個隔離的“容器”中運行其他所有操作。

這種隔離防止在給定容器中運行的進程監(jiān)視或影響在另一個容器中運行的進程。而且,這些服務(wù)不會影響或干擾主機。能夠?qū)⒎稚⒃诙鄠€物理服務(wù)器上的多個服務(wù)合并到一個服務(wù)器上的想法是數(shù)據(jù)中心選擇采用該技術(shù)的眾多原因之一。這種隔離方法通過限制安全違反或違反所造成的損害,增加了技術(shù)的安全性。如果入侵者成功地利用了在該容器中運行的某個應(yīng)用程序上的安全漏洞,那么入侵者將被限制為該容器中的一組操作。

在云環(huán)境中,容器極大地簡化了應(yīng)用程序部署,不僅將應(yīng)用程序從一個完整的操作系統(tǒng)(虛擬)中隔離出來,還能夠部署最低數(shù)量要求的軟件和硬件,進一步減少維護成本。

Serverlesscomputing

云原生計算或Serverless computing是描述部署和管理應(yīng)用程序的最新趨勢術(shù)語。這個想法很簡單:每個應(yīng)用程序或流程都被打包到自己的容器中,而容器又是跨節(jié)點集群動態(tài)編排(即調(diào)度和管理)的。這種方法將應(yīng)用程序從物理硬件和操作系統(tǒng)依賴轉(zhuǎn)移到它們自己的自包含的沙箱環(huán)境中,可以在數(shù)據(jù)中心的任何地方運行。云原生方法是關(guān)于分離應(yīng)用程序交付的各種組件的。

這聽起來可能與在云中運行任何其他容器相同,但云原生計算的獨特之處在于,您不需要擔心管理該容器(意味著開銷更少)。這項技術(shù)對開發(fā)人員是隱藏的。只需上傳您的代碼,當啟用了指定的觸發(fā)器時,API網(wǎng)關(guān)(由服務(wù)提供者維護)將按照它打算處理該觸發(fā)器的方式部署您的代碼。

首先想到的是亞馬遜的AWS Lambda。同樣,在此模型下,不需要提供或管理物理或虛擬服務(wù)器。假設(shè)它處于穩(wěn)定或生產(chǎn)狀態(tài),只需上傳代碼就可以了,您的代碼只是部署在一個隔離的容器化環(huán)境中。在Lambda的例子中,Amazon為開發(fā)人員提供了一個框架來上載他們的事件驅(qū)動的應(yīng)用程序代碼和響應(yīng)事件(如網(wǎng)站點擊在毫秒內(nèi))。容器中提供了運行大量代碼的所有庫和依賴項。

至于應(yīng)用程序類型的事件觸發(fā),亞馬遜可以實現(xiàn)以下場景:網(wǎng)站訪問或點擊,REST HTTP請求API網(wǎng)關(guān),傳感器在物聯(lián)網(wǎng)設(shè)備上讀數(shù),甚至向S3 bucket上傳照片。

那么,這些組件是如何組合在一起的呢?首先,用戶通過網(wǎng)站或移動設(shè)備上的應(yīng)用程序訪問服務(wù)。web服務(wù)器和它所依賴的各種組件可能來自本地管理的容器甚至虛擬機。如果web服務(wù)器或移動應(yīng)用程序需要某個特定功能,它將接觸第三方身份驗證服務(wù),如AWS身份和訪問管理(IAM)服務(wù),以獲得訪問API網(wǎng)關(guān)之外托管的無服務(wù)器功能所需的適當憑據(jù)。當被觸發(fā)時,這些函數(shù)將執(zhí)行必要的操作,并返回web服務(wù)器或移動應(yīng)用程序所請求的內(nèi)容。

安全

通常認為私有云和本地解決方案比公共云更安全,但最近的研究表明情況并非如此。公共云服務(wù)供應(yīng)商花費更多的時間和資源咨詢安全專家,并更新他們的軟件框架,以限制安全漏洞。盡管這可能是真的,但在利用公共云服務(wù)方面真正的安全挑戰(zhàn)是以安全的方式使用它。對于企業(yè)組織來說,這意味著應(yīng)用最佳實踐來采用安全云,盡可能減少鎖定,最大化可用性和正常運行時間。

我們已經(jīng)提到了身份和身份驗證方法,當涉及到公開的服務(wù)時,這個特性變得越來越重要。這些身份驗證服務(wù)允許用戶管理來自其供應(yīng)商的對云服務(wù)的訪問。例如,AWS有一個叫做IAM的東西。使用IAM,您將能夠創(chuàng)建和管理AWS用戶/組,并具有允許/拒絕他們訪問各種AWS資源或特定AWS服務(wù)API的權(quán)限。對于更大(甚至更小)的部署,這個權(quán)限框架簡化了對組成云的各種組件的全局訪問。它通常是由主要供應(yīng)商提供的免費服務(wù)。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論