計算正在重塑整個(gè)IT堆棧,從最基本的層面到客戶(hù)的層面。應用程序層也沒(méi)有什么不同??梢院敛豢鋸埖卣f(shuō),現如今的IT行業(yè)正經(jīng)歷著(zhù)比以往任何時(shí)候都更多的變化。我預計這一行業(yè)在未來(lái)五年還有望將會(huì )發(fā)生比過(guò)去20年多得多的創(chuàng )新和動(dòng)蕩。而所有的創(chuàng )新或許都可以被歸結為一個(gè)共同的支柱:。云計算有力的推動(dòng)了這一切的創(chuàng )新和顛覆;從IT的角度來(lái)看,明白這一切對于承擔全部最重要的IT活動(dòng)的應用程序到底意味著(zhù)什么是很重要的。畢竟,應用程序是IT的全部?jì)r(jià)值所在。其他的一切只是扮演一個(gè)推動(dòng)者的角色。
十年前,當亞馬遜公司首次推出其云計算平臺時(shí),在全球技術(shù)領(lǐng)域掀起了一場(chǎng)重大變革浪潮,并使IT市場(chǎng)走上了如今已經(jīng)價(jià)值1000億美元行業(yè)市場(chǎng)的軌道。
云計算服務(wù)已經(jīng)發(fā)展成一個(gè)多元化的市場(chǎng),專(zhuān)注于提供不同類(lèi)型的虛擬基礎設施、開(kāi)發(fā)平臺和托管應用程序。VMware公司在多年前就在x86服務(wù)器上普及了(VM),而按需租用容量的能力成為一項技術(shù)和業(yè)務(wù)創(chuàng )新。
在這幾年中,很多云計算服務(wù)提供商發(fā)布了大量云計算服務(wù),這些服務(wù)遠遠超出了定義早期云計算產(chǎn)品的計算、存儲和網(wǎng)絡(luò )服務(wù),遠遠超出了應用程序堆棧。僅AWS公司在全球各地的幾十個(gè)數據中心就提供了將近200種產(chǎn)品,而且這些數字將會(huì )不斷增長(cháng)。
隨著(zhù)AWS公司的業(yè)務(wù)發(fā)展,它變得更加復雜,甚至影響了架構決策。首先,它影響了計劃云計算部署的基礎設施工程師,后來(lái)改變了開(kāi)發(fā)人員設計應用程序的方式。
與個(gè)人電腦和x86服務(wù)器的興起引起了一波客戶(hù)端服務(wù)器企業(yè)應用程序的應用浪潮類(lèi)似,對云計算的興趣激發(fā)了基于瀏覽器的應用程序的新開(kāi)發(fā)語(yǔ)言和框架。在過(guò)去的十年中,各個(gè)領(lǐng)域的開(kāi)發(fā)人員都基于、容器和自動(dòng)化工具創(chuàng )建了新的設計模式、開(kāi)發(fā)平臺和工作流。
集中和分散的周期概述了云計算的每一代應用程序開(kāi)發(fā)的定義產(chǎn)品。但是,隨著(zhù)開(kāi)發(fā)人員適應不同類(lèi)型的基礎設施和部署范例,他們同時(shí)遵循了另一種形式的架構演變。這開(kāi)始集中于軟件設計,逐步將應用程序分解成更小的組件。
大型機的成本和操作復雜性促進(jìn)了整體設計,將應用程序代碼打包并作為一個(gè)單元運行。分布式客戶(hù)端-服務(wù)器系統和基于瀏覽器的用戶(hù)界面的興起促使應用程序首次分離為模塊化的n層架構,從而將功能劃分為多個(gè)元素。
各種各樣的云計算服務(wù)(尤其是容器運行時(shí)環(huán)境、無(wú)服務(wù)器功能、托管數據庫和分析服務(wù))的可用性加速了更加精細化的趨勢。對云計算起源和意義的回顧表明,云計算是邏輯抽象各個(gè)級別上許多服務(wù)的組合。這些各種服務(wù)以及容器已經(jīng)產(chǎn)生了云原生的概念,這是應用程序架構的下一個(gè)發(fā)展。
云原生構建塊
盡管云計算服務(wù)已在許多方面影響了開(kāi)發(fā)和部署實(shí)踐,以下的重點(diǎn)是云計算演進(jìn)的下一階段也就是開(kāi)發(fā)云原生應用程序。
云原生目前還沒(méi)有一個(gè)標準的定義,這是專(zhuān)家們不斷爭論的話(huà)題。但是,將云原生應用程序描述為在上開(kāi)發(fā)的應用程序。最終,云原生應用程序旨在機會(huì )性地利用所有可用的云計算服務(wù),以盡可能低的成本實(shí)現性能、可擴展性、可靠性、安全性、適應性和可管理性的最大化。
在這種概念下,云計算服務(wù)就像一盒樂(lè )高積木,每個(gè)積木都具有一組定義的功能和標準接口(通常是API),用于功能控制和數據I/O,這些功能和標準接口組合在一起以構建應用程序。像樂(lè )高積木一樣,可以將一組零件組合成為一個(gè)模型或模板,這些模型或模板可以快速復制或重用為功能模塊。經(jīng)過(guò)十多年的發(fā)展,云計算服務(wù)現在提供了數量驚人的各種構建塊。
云原生設計需要將這些組件拼接在一起以構建自定義應用程序。精通云計算的設計師更喜歡更高的抽象級別,以最大程度地減少工作量,這使企業(yè)可以更加專(zhuān)注于應用程序的差異化特性。
云原生應用程序開(kāi)發(fā)與軟件開(kāi)發(fā)、集成、測試和部署過(guò)程緊密相關(guān)。它們通常在DevOps組織下統一,或者通過(guò)不太正式地采用DevOps原則和方法。
但是不要將兩者混為一談。無(wú)需使用DevOps即可進(jìn)行云原生開(kāi)發(fā)。并非所有DevOps組織都針對云計算優(yōu)先的應用程序。但是,DevOps流程可以增強云原生開(kāi)發(fā)。同樣,DevOps流程從可編程的云計算開(kāi)發(fā)服務(wù)中受益匪淺,這些服務(wù)將可重復的流程實(shí)現系統化和自動(dòng)化。
例如,與不使用標準化、可重復、自動(dòng)化流程的組織相比,具有高級DevOps流程和文化的組織往往具有更短的應用程序部署周期(通常每天多次)。
云原生權衡
盡管云計算為應用程序開(kāi)發(fā)帶來(lái)了很多好處,但并非沒(méi)有缺點(diǎn)。云原生設計的最大風(fēng)險是使用高級服務(wù)時(shí)的供應商鎖定。盡管包裝在A(yíng)PI中的云計算服務(wù)使用戶(hù)與底層實(shí)現隔離開(kāi)來(lái),但API本身的非標準性質(zhì)使在云計算提供商之間遷移應用程序變得困難。
此外,還出現了避免鎖定的工具。值得注意的是,Kubernetes已成為容器管理和容器化應用程序的事實(shí)上的標準。確實(shí),避免鎖定通常是許多系統架構師選擇使用基于容器的實(shí)施而不是使用云原生服務(wù)的主要原因。
數據引力也就是將大量數據從一個(gè)運營(yíng)環(huán)境移動(dòng)到另一個(gè)運營(yíng)環(huán)境的困難和費用,是云原生設計的另一個(gè)缺點(diǎn)。IT部門(mén)通常通過(guò)使用混合環(huán)境來(lái)減輕這些擔憂(yōu)。在這種情況下,主數據庫和文件存儲庫保留在私有基礎設施上,而云計算基礎設施則包含副本或緩存的數據子集。
趨勢與預測
近年來(lái),云計算服務(wù)提供商的收入增長(cháng)顯著(zhù)。這在很大程度上是由于企業(yè)采用率的增加,而云計算的發(fā)展看起來(lái)不會(huì )很快停止。事實(shí)表明,發(fā)生的冠狀病毒疫情只是加快了這一趨勢的發(fā)展。
很多企業(yè)面臨著(zhù)巨大的資金壓力,需要降低成本,提高效率。他們開(kāi)始意識到其IT部門(mén)無(wú)法與云計算提供商的規模經(jīng)濟、運營(yíng)效率和大量研發(fā)工作相匹配,而這些都推動(dòng)了新服務(wù)的不斷涌現。
許多新加入云計算的公司將把現有的應用程序遷移到虛擬基礎設施上,云平臺將成為他們所有新應用程序的運營(yíng)環(huán)境。那些利用云計算提供商提供一切資源的公司,其中包括更高級別的服務(wù)和開(kāi)發(fā)平臺,將具有競爭優(yōu)勢。這將更加強調云原生開(kāi)發(fā)的價(jià)值。
人們還可以期望許多企業(yè)向提供商施加壓力,要求他們在不依賴(lài)云計算的抽象模型、描述語(yǔ)言和部署工具上進(jìn)行協(xié)作,以簡(jiǎn)化云原生應用程序在環(huán)境之間的遷移。開(kāi)放應用程序模型(OAM)是一個(gè)很有前途的步驟,最初主要關(guān)注基于容器的微服務(wù)和Kubernetes環(huán)境。
目前尚不清楚開(kāi)放應用程序模型(OAM)社區是否急于將這一模型擴展到更高級別的云計算產(chǎn)品,例如無(wú)服務(wù)器功能、分布式數據分析、區塊鏈或人工智能和機器學(xué)習。不過(guò),云計算供應商在這方面的努力可能會(huì )帶來(lái)更大的應用程序的遷移性。
另外云計算時(shí)代程序英雄重現
曾幾何時(shí),那些耳熟能詳的程序英雄的名字漸漸地離我們遠去。隨著(zhù)Windows和Internet時(shí)代的來(lái)臨,個(gè)人的力量變得越來(lái)越渺小。正當我們開(kāi)始堅信單打獨斗的時(shí)代一去不復返的時(shí)候,云計算橫空出世了。它強大的計算能力、存儲能力和簡(jiǎn)單高效的編程接口,使得一位程序員能夠輕松地操控成千上萬(wàn)臺計算機,而不必考慮太多的細節。云計算時(shí)代,仿佛又讓我們感覺(jué)到個(gè)人英雄時(shí)代伸手可及。
有了云計算平臺,程序員就可以動(dòng)態(tài)申請所需資源,來(lái)支撐各種應用程序的運轉,而無(wú)需為煩瑣的細節煩惱。云計算使程序員能夠更加專(zhuān)注于自己的業(yè)務(wù),有利于提高效率、降低成本和實(shí)現技術(shù)創(chuàng )新。這一點(diǎn),我們可以從一組間接的數據推斷出來(lái)。iTunes、Facebook和Myspace都是面向特定應用領(lǐng)域、支持二次開(kāi)發(fā)的公共平臺。在2009年前18周,因金融風(fēng)暴的影響,開(kāi)發(fā)應用的程序員數量明顯下降,而應用程序數量反而大增。之所以如此,就是因為有了Facebook這樣的支撐平臺,程序員需要考慮的問(wèn)題大大簡(jiǎn)化,工作效率大為提高。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站