面向集成、微服務(wù)和API的快速創(chuàng)新
?API開發(fā)和使用的快速增長絲毫沒有放緩的跡象,API在跨行業(yè)數(shù)字業(yè)務(wù)中的核心作用也隨著這一增長而繼續(xù)激增。
最近一項(xiàng)針對IT領(lǐng)導(dǎo)者的調(diào)查發(fā)現(xiàn),98%的人認(rèn)為API是任務(wù)關(guān)鍵型的,81%的人目前正在使用微服務(wù),18%的人計劃很快這樣做。
API的指數(shù)級增長使得當(dāng)今的大多數(shù)軟件要么使用API,要么就是一個API。API及其背后的集成和微服務(wù)已成為面向客戶、員工和合作伙伴的新數(shù)字化渠道的基本構(gòu)建塊。
阻礙創(chuàng)新的挑戰(zhàn)
然而,你可能已經(jīng)了解到,在過去十年中,大多數(shù)數(shù)字化商業(yè)計劃(一些研究提到70%)都失敗了。這些數(shù)字化舉措要么沒有帶來所有預(yù)期收益,如新的收入來源、每客戶收入的增加或利潤的增加,要么沒有帶來任何收益。
關(guān)于為什么隨著API數(shù)量和復(fù)雜性的增加,組織生產(chǎn)力降低,上市時間減慢,人們反復(fù)提出了兩個主要原因。
- 第一個是關(guān)于人的:管理在Kubernetes等相對較新技術(shù)之上運(yùn)行的現(xiàn)代云原生基礎(chǔ)設(shè)施所需的開發(fā)人員和操作技能不足。
- 第二個是關(guān)于流程:由于所有使用API的人對安全、治理和協(xié)調(diào)變更的需求不斷增加,DevOps流程的速度會減慢。隨著API使用量的增長,管理數(shù)百或數(shù)千個API的復(fù)雜性可能變得難以承受,從而導(dǎo)致成本和安全風(fēng)險的增加。由于開發(fā)團(tuán)隊(duì)被迫將更多的時間用于管理任務(wù)和治理,生產(chǎn)力往往會受到影響,發(fā)布時間也會延長,這會減緩創(chuàng)新和增長。
如果你深入挖掘根本原因,大多數(shù)時候是因?yàn)檫@些組織沒有以一種允許他們快速創(chuàng)新和促進(jìn)重用的方式一起設(shè)計、開發(fā)和管理他們的API、微服務(wù)和集成。這并不容易,因?yàn)椋?/p>
- API開發(fā):API設(shè)計、開發(fā)和部署需要在數(shù)小時內(nèi)交付的CI/CD管道,這很困難。
- API重用:API的存在是為了重用,部分是為了在數(shù)小時內(nèi)實(shí)現(xiàn)開發(fā)。如果一個API由于任何原因不易于使用、發(fā)現(xiàn)、共享或更改,它的價值就會消失。
- API部署:很難將Kubernetes、API管理、集成、服務(wù)開發(fā)、安全和其他技術(shù)結(jié)合到一個易于使用的數(shù)字平臺中。
- API治理:管理用戶、API生命周期和安全性可能會導(dǎo)致非常手動的流程,增加太多的時間、成本和風(fēng)險。
- API可見性:跨多個組織的API、集成和服務(wù),很難管理監(jiān)控、審計跟蹤或開發(fā)人員協(xié)作的端到端可見性。
隨著開發(fā)或使用的API總數(shù)增加到數(shù)百甚至數(shù)千,管理所有這些API以及它們使用的集成和微服務(wù)很快就會變得難以承受。
快速數(shù)字創(chuàng)新的十個最佳實(shí)踐
好消息是,許多公司已經(jīng)能夠依靠幾種常見的最佳實(shí)踐快速創(chuàng)新。WSO2根據(jù)其在1000多家公司部署的經(jīng)驗(yàn)總結(jié)了這些建議。
1. 專注于數(shù)字化體驗(yàn)工程
你無法購買吸引和留住客戶的獨(dú)特體驗(yàn),而是必須構(gòu)建它,并隨著時間的推移不斷改進(jìn)它。我們稱之為“數(shù)字化體驗(yàn)工程”。你的團(tuán)隊(duì)、技術(shù)和流程都需要專注于快速構(gòu)建和改進(jìn)這種體驗(yàn)。
2. API優(yōu)先
如果你希望API使用者(開發(fā)人員)采用你的API,則需要將API視為產(chǎn)品。從外部到內(nèi)部設(shè)計每個API,以改善API使用者的體驗(yàn)。(不要將現(xiàn)有集成或接口公開為API。這是一種由內(nèi)而外的設(shè)計)。
3. 為每個外部API指定一名產(chǎn)品經(jīng)理
每個好產(chǎn)品都有一個產(chǎn)品經(jīng)理。為每個外部API指定一名產(chǎn)品經(jīng)理,該經(jīng)理將從頭到尾負(fù)責(zé)該API。
4. 構(gòu)建API主導(dǎo)的集成和服務(wù)
在數(shù)小時內(nèi)開發(fā)API的唯一方法是,如果大部分工作涉及重用現(xiàn)有組件,這些組件是專門為在API開發(fā)期間重用而設(shè)計的。API主導(dǎo)的設(shè)計意味著每個API、服務(wù)和集成都應(yīng)該是可重用的、松耦合的。大多數(shù)更改應(yīng)該能夠在單個組件內(nèi)進(jìn)行,而不會影響其他組件。
5. 提供數(shù)字平臺作為共享服務(wù)
讓核心團(tuán)隊(duì)提供一個完整的云原生數(shù)字平臺,作為一個易于使用的共享服務(wù)。它應(yīng)該為API和應(yīng)用開發(fā)團(tuán)隊(duì)提供簡化的DevOps和CI/CD工具,將服務(wù)開發(fā)、集成和API管理結(jié)合起來。
6. 支持多種開發(fā)人員框架和工具
你需要支持不同類型的開發(fā)人員和技能集。雖然你應(yīng)該讓開發(fā)人員易于創(chuàng)建新的API,但也需要讓其他人易于重用、集成或組合API,以便廣泛采用。
7. 提供簡化的DevOps作為默認(rèn)框架
雖然支持不同的開發(fā)人員需求以最大限度地提高采用率很重要,但你應(yīng)該為開發(fā)人員提供至少一個首選環(huán)境,該環(huán)境將圍繞數(shù)字平臺的所有最佳實(shí)踐編成代碼,并簡化DevOps,以幫助簡化快速創(chuàng)新的道路。
8. 將共享服務(wù)目錄集成到所有工具中
所有需要重用的東西都需要易于發(fā)現(xiàn)、學(xué)習(xí)、采用和隨時間變化。這至少需要一個開發(fā)人員門戶。然而,理想情況下,你還應(yīng)該在開發(fā)環(huán)境中提供一個開發(fā)人員市場,允許添加組件和其他編碼。
9. 從安全到生命周期管理的內(nèi)置治理
使安全和治理流程成為盡可能簡化和自動化的通用DevOps流程的一部分。如果你將API發(fā)現(xiàn)、API設(shè)計、API安全和API生命周期管理構(gòu)建到開發(fā)過程中,將增加重用,加快新API的開發(fā),降低返工量,而不僅僅是取消手動“固定”的后期開發(fā)過程。這將有助于更快地交付API。
10. 為團(tuán)隊(duì)實(shí)施云原生服務(wù)和CI/CD
每個團(tuán)隊(duì)重新發(fā)明自己的Docker/Kubernetes基礎(chǔ)設(shè)施或多級CI/CD管道沒有任何優(yōu)勢。使他們能夠輕松地將API、集成和服務(wù)作為復(fù)合API或應(yīng)用程序一起開發(fā)、部署、監(jiān)控、保護(hù)和管理。盡可能將云原生部署的復(fù)雜性抽象掉。
快速創(chuàng)新之路
數(shù)字化之旅是各不相同的,也是不易的。但如果你遵循這些規(guī)則,成功的機(jī)會就會大得多。?