開(kāi)源和云原生技術(shù)如何使API策略現(xiàn)代化

從技術(shù)棧來(lái)看,云原生應(yīng)用程序,指的是基于容器的應(yīng)用程序。如今,所有技術(shù)都有許多云原生選項(xiàng);云原生云計(jì)算基礎(chǔ)環(huán)境是可用的云原生生態(tài)系統(tǒng)的一個(gè)樣本。

本文來(lái)自微信公眾號(hào)“開(kāi)源云中文社區(qū)”

最近筆者有機(jī)會(huì)在不同的活動(dòng)上就最新開(kāi)源軟件和云原生技術(shù)的API策略發(fā)表演講,都獲得了積極反饋。這個(gè)話題的獨(dú)特之處在于,它不是從通常的API策略討論點(diǎn)來(lái)討論的,而是從討論最新技術(shù)以及開(kāi)源軟件和云原生應(yīng)用程序的增長(zhǎng)如何塑造API策略的角度來(lái)討論的。

筆者將從討論創(chuàng)新開(kāi)始。所有最新的軟件創(chuàng)新要么是開(kāi)源軟件,要么是基于開(kāi)源軟件。增強(qiáng)現(xiàn)實(shí)、虛擬現(xiàn)實(shí)、自動(dòng)駕駛汽車(chē)、人工智能、機(jī)器學(xué)習(xí)(ML)、深度學(xué)習(xí)(DL)、區(qū)塊鏈等,都是使用開(kāi)源軟件構(gòu)建的技術(shù),這些開(kāi)源軟件使用并與數(shù)百萬(wàn)API集成。

當(dāng)今的軟件開(kāi)發(fā)涉及API的創(chuàng)建和使用。一切都與API有關(guān),在一些組織中,甚至還有API蔓延,這是指在沒(méi)有控制或標(biāo)準(zhǔn)化的情況下廣泛創(chuàng)建API。

技術(shù)棧和云原生應(yīng)用程序

在現(xiàn)代軟件開(kāi)發(fā)中,有棧的概念。開(kāi)發(fā)人員和組織有很多選擇,他們可以選擇多種技術(shù)組合來(lái)創(chuàng)建自己的棧,然后培訓(xùn)或雇傭所謂的全棧開(kāi)發(fā)人員來(lái)處理這些棧。棧的一個(gè)例子在很大程度上包括開(kāi)源軟件,如Linux、編程語(yǔ)言、數(shù)據(jù)庫(kù)、流媒體技術(shù)、運(yùn)行時(shí)和DevOps工具,所有這些都使用API并與之集成。

從技術(shù)棧來(lái)看,云原生應(yīng)用程序,指的是基于容器的應(yīng)用程序。如今,所有技術(shù)都有許多云原生選項(xiàng);云原生云計(jì)算基礎(chǔ)環(huán)境是可用的云原生生態(tài)系統(tǒng)的一個(gè)樣本。

當(dāng)組織從幾個(gè)容器中的應(yīng)用程序轉(zhuǎn)移到幾十個(gè)甚至數(shù)百個(gè)容器中的應(yīng)用程序時(shí),他們需要幫助管理和編排所有基礎(chǔ)設(shè)施。這就是Kubernetes發(fā)揮作用的地方。Kubernetes已經(jīng)成為我們這個(gè)時(shí)代最受歡迎的開(kāi)源項(xiàng)目之一,它已經(jīng)成為云原生應(yīng)用程序的實(shí)際基礎(chǔ)設(shè)施,并促使成了Kubernetes operator的一個(gè)新的、不斷增長(zhǎng)的生態(tài)系統(tǒng);大多數(shù)流行的軟件現(xiàn)在都有自己的operator,可以更容易地在Kubernetes環(huán)境中創(chuàng)建、配置和管理,當(dāng)然,operator也可以與Kubernetes API集成。許多可用的數(shù)據(jù)技術(shù)現(xiàn)在都有Kubernetes operator,以促進(jìn)和自動(dòng)化與Kubernetes API集成的有狀態(tài)應(yīng)用程序的使用。

什么是API管理層?

云原生環(huán)境也有其棧、云基礎(chǔ)設(shè)施、操作系統(tǒng)、容器編排、容器operator、應(yīng)用程序代碼和API。所有這些都支持一個(gè)軟件解決方案,該解決方案將數(shù)據(jù)集成并公開(kāi)給移動(dòng)設(shè)備、web應(yīng)用程序或其他服務(wù),包括物聯(lián)網(wǎng)設(shè)備。無(wú)論技術(shù)組合如何,都應(yīng)該使用API管理平臺(tái)功能來(lái)保護(hù)一切。API管理平臺(tái)是云原生應(yīng)用程序之上的一層,當(dāng)數(shù)據(jù)和API暴露在組織的網(wǎng)絡(luò)之外時(shí),必須對(duì)其進(jìn)行保護(hù)。

而且,說(shuō)到技術(shù)架構(gòu),API管理平臺(tái)具有靈活的部署選項(xiàng)非常重要。策略和設(shè)計(jì)應(yīng)始終包括可移植性、在不同架構(gòu)(例如PaaS、內(nèi)部部署、混合云、公共云或多云架構(gòu))上移動(dòng)和部署的能力。

面向云原生技術(shù)需要考慮的3種API策略

要為最新的技術(shù)設(shè)計(jì)API策略,有多個(gè)選項(xiàng)可以概括為三個(gè)主要方面。

首先,是一種現(xiàn)代化戰(zhàn)略,從將單體應(yīng)用程序分解為服務(wù),走向云原生,當(dāng)然,還要與大型機(jī)中的關(guān)鍵任務(wù)應(yīng)用程序集成。對(duì)于這種策略,需要構(gòu)建和維護(hù)安全的API。

設(shè)計(jì)API策略的第二個(gè)領(lǐng)域是所謂的無(wú)頭架構(gòu),即首先向API添加特性和功能,然后可選地向用戶界面提供該功能的概念。采用微服務(wù)或完全基于API設(shè)計(jì)的粒度架構(gòu),以促進(jìn)集成和自動(dòng)化。

第三個(gè)API戰(zhàn)略領(lǐng)域是關(guān)注新技術(shù),從創(chuàng)建API生態(tài)系統(tǒng)以吸引貢獻(xiàn)和使用公共API的客戶和合作伙伴,到選擇技術(shù)棧并將其與新技術(shù)(如AI、無(wú)服務(wù)器計(jì)算和邊緣計(jì)算)集成。最重要的是,每個(gè)API策略都必須包括API管理和安全思維。

API管理平臺(tái)應(yīng)包括API設(shè)計(jì)、測(cè)試和安全的完整生命周期功能。其他功能,如分析、商業(yè)智能和API門(mén)戶,允許組織利用DevOps和全生命周期管理來(lái)開(kāi)發(fā)、測(cè)試、發(fā)布和使用API。

關(guān)于當(dāng)今最新技術(shù)以及如何將這些技術(shù)的知識(shí)和使用作為API策略的一部分的幾個(gè)例子包括:第一個(gè)是DevOps集成。DevOps自動(dòng)化有多種商業(yè)和開(kāi)源選項(xiàng)。關(guān)鍵部件包括持續(xù)集成和持續(xù)交付工具;另一個(gè)非常相關(guān)的領(lǐng)域是數(shù)據(jù)和人工智能技術(shù),這是一個(gè)不斷增長(zhǎng)的領(lǐng)域,人工智能開(kāi)發(fā)生命周期的每個(gè)階段都有數(shù)千個(gè)選項(xiàng),從數(shù)據(jù)收集和組織到數(shù)據(jù)分析,以及ML和DL模型的創(chuàng)建和培訓(xùn)。人工智能開(kāi)發(fā)生命周期的最后一步應(yīng)該包括自動(dòng)部署和維護(hù)這些ML和DL模型。所有這些步驟都應(yīng)該與通過(guò)API的不同技術(shù)的完全集成相結(jié)合,并與API管理平臺(tái)的重要層進(jìn)行外部集成,包括數(shù)據(jù)源。

開(kāi)源和API管理層

總之,從開(kāi)源棧、DevOps工具到人工智能的所有這些新技術(shù),共同的保護(hù)和管理層是API管理層。應(yīng)該有一個(gè)由API管理驅(qū)動(dòng)的安全第一的API策略,重要的是要記住,在當(dāng)今時(shí)代,API無(wú)處不在,現(xiàn)代技術(shù)棧將通過(guò)API與數(shù)據(jù)技術(shù)(數(shù)據(jù)庫(kù)和存儲(chǔ))、DevOps和領(lǐng)先的人工智能集成。不要忘記在設(shè)計(jì)和管理API時(shí)考慮安全性。無(wú)論選擇哪種現(xiàn)代化的API策略,作為無(wú)頭架構(gòu),還是基于新技術(shù),API策略都必須與你的技術(shù)選擇和未來(lái)愿景齊頭并進(jìn)。

原文鏈接:

https://opensource.com/article/22/4/open-source-cloud-native-api-strategy

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無(wú)評(píng)論