發(fā)布于:2021-01-13 10:20:24
0
58
0
容器管理和編排技術(shù)正在迅速普及,各公司正在尋求部署可快速擴展的容器化應(yīng)用程序。機器數(shù)據(jù)對于監(jiān)視那些應(yīng)用程序有多重要?
對于開發(fā)人員來說,軟件容器越來越受希望部署可快速擴展的容器化應(yīng)用程序的公司歡迎。在2018年《云報告》中的第三年度年度現(xiàn)代應(yīng)用程序和DevSecOps狀態(tài)中,我們的研究表明,2018年,Amazon Web Services的生產(chǎn)實例中運行Docker的公司數(shù)量已增長到28%。
同樣,容器管理和編排技術(shù)也在迅速普及。在過去的一年中,Kubernetes的本地部署幾乎增加了一倍,從8%增至14%-這種快速增長表明Kubernetes趕上了ECS。
所有這些增長表明了什么,為什么開發(fā)人員應(yīng)該關(guān)心它?
首先,它表明容器的采用并沒有減慢速度。如果有的話,隨著開發(fā)人員開始將其容器化應(yīng)用程序從最初的測試和開發(fā)投入生產(chǎn),它正在加快步伐。其次,這意味著開發(fā)人員正在擁抱分布式容器和基于無服務(wù)器的云架構(gòu)的優(yōu)勢,以提供不間斷和無縫的客戶體驗。
容器的固有優(yōu)勢之一是,與更傳統(tǒng)的軟件部署模型相比,開發(fā)人員可以更快地擴展其部署。這種方法還補充了基于微服務(wù)和無服務(wù)器技術(shù)的基于容器的應(yīng)用程序的增長。
容器的另一個大優(yōu)點是,它們有助于支持更多的模塊化應(yīng)用程序設(shè)計。容器可以用來支持相互通信的特定應(yīng)用程序元素,而不是過去的大型應(yīng)用程序??梢蕴砑影@些元素的其他圖像來應(yīng)對需求高峰,同樣,一旦需求下降,就可以將其刪除。
每套容器也可以用其他部件替換,這些部件可以通過不同的方式達(dá)到相同的目的并提供相同的結(jié)果。隨著時間的流逝,開發(fā)人員擁有更多的選擇自由,并且可以使用其API在不同的存儲或數(shù)據(jù)庫平臺之間進(jìn)行選擇,以根據(jù)需要存儲數(shù)據(jù),而不必依賴于特定的服務(wù)。使用那些API可以避免鎖定,從而解決了過去可能是一個龐大的遷移項目。
傳統(tǒng)的本地技術(shù)和流程可能會使組織無法創(chuàng)新和滿足客戶需求。傳統(tǒng)系統(tǒng)和流程已不足以在提供不間斷和無縫的客戶體驗所需的整個應(yīng)用程序堆棧中提供快速擴展,敏捷性和可見性。
但是,這種快速增長會導(dǎo)致更多的蔓延,更多的復(fù)雜性,并且可能掩蓋許多錯誤,從不良的設(shè)置,安全性和操作性能不佳到無證的依賴關(guān)系。設(shè)計不佳的基于容器的應(yīng)用程序遠(yuǎn)沒有更具彈性,而受復(fù)雜堆棧中的更改的影響更大。同樣,當(dāng)應(yīng)用程序代碼行為異?;驘o法執(zhí)行時,診斷和修復(fù)問題可能會更加困難。當(dāng)使用第三方應(yīng)用程序元素,并且必須實時考慮為這些應(yīng)用程序提供的大量數(shù)據(jù),速度,準(zhǔn)確性和各種數(shù)據(jù)時,這可能會特別成問題。
為了解決這個問題,從一開始就采取一些最佳做法很重要。
數(shù)據(jù),分析和文檔
需要注意的第一個領(lǐng)域是應(yīng)用程序生成的數(shù)據(jù)以及有關(guān)該數(shù)據(jù)的相關(guān)文檔。此類數(shù)據(jù)對于新的容器化應(yīng)用程序非常重要,因為這些元素會隨著時間變化如此之快,特別是因為可以交換單個元素而不影響其他元素。由于每個服務(wù)都是通過API連接的,因此替換應(yīng)用程序中的數(shù)據(jù)庫或分析服務(wù)會更加簡單,因為API可以彼此抽象每個元素,從而使隨時間推移的遷移變得更加容易。
如果沒有具體的應(yīng)用程序中心歷史記錄(尤其是圍繞這些更改的情況),則隨著時間的推移很難跟蹤這些決策。這會使實現(xiàn)業(yè)務(wù)目標(biāo)更加困難。文檔不足或遺失會隨著時間的流逝而危害應(yīng)用程序,因為這種知識可能存在于開發(fā)人員的頭腦中,并且如果他們離開了團隊,則與他們一起去。
除了有關(guān)應(yīng)用程序設(shè)計和組件的適當(dāng)文檔之外,還值得研究應(yīng)用程序如何創(chuàng)建數(shù)據(jù)。在整個應(yīng)用程序中,每個元素都會創(chuàng)建有關(guān)您應(yīng)收集的活動的數(shù)據(jù)。使用此數(shù)據(jù)可以幫助您解決所有問題,并查找有關(guān)問題的更多詳細(xì)信息。
監(jiān)控和故障排除
隨著容器中運行更復(fù)雜的應(yīng)用程序,整理和使用此數(shù)據(jù)可能會更加困難,尤其是在涉及多個云服務(wù)時。傳統(tǒng)上,日志管理更簡單-應(yīng)用程序之間的耦合更緊密,集中在一個地方,并且涉及的移動部件更少。如今,情況正好相反–容器的興起使得在多個地方托管應(yīng)用程序的各個部分變得更加容易,而無服務(wù)器,微服務(wù)和云的趨勢也意味著每個應(yīng)用程序堆棧中涉及的元素更多。
沒有適當(dāng)?shù)谋O(jiān)視計劃,就很容易錯過應(yīng)用程序執(zhí)行中涉及的元素中的數(shù)據(jù)。其次,要實時獲取整個應(yīng)用程序和基礎(chǔ)架構(gòu)的完整圖片可能很困難–如此多的移動部件散布在內(nèi)部數(shù)據(jù)中心,混合云和/或多云部署和第三方服務(wù)中使用公共容器映像庫,要在一處并實時獲得真實和完整的堆棧性能更加困難。對于操作和安全提議,如果實時發(fā)生錯誤,則更難預(yù)測和診斷故障和問題。
在任何項目開始時,都應(yīng)對容器進(jìn)行應(yīng)用程序監(jiān)視。這樣可以更輕松地保護,提取,索引,分析和關(guān)聯(lián)所有容器中的數(shù)據(jù)。查看本機云基礎(chǔ)架構(gòu)服務(wù)還應(yīng)使隨著時間的推移從混合IT環(huán)境管理數(shù)據(jù)更加簡單。
更快的應(yīng)用程序,DevOps和安全性
除了更好地了解應(yīng)用程序性能和問題之外,監(jiān)視容器還可以幫助您提高應(yīng)用程序安全性。隨著時間的推移,開發(fā)人員將與IT運營團隊協(xié)作,承擔(dān)更多的應(yīng)用程序部署和操作責(zé)任,但他們也必須與IT安全團隊更有效地協(xié)作。安全性已作為DevSecOps添加到DevOps中,以代表這種協(xié)作。
使用應(yīng)用程序基礎(chǔ)結(jié)構(gòu)中的數(shù)據(jù)可以為安全監(jiān)控提供必要的信息。例如,查看應(yīng)用程序如何存儲和處理數(shù)據(jù)對于合規(guī)性很重要。過去,在諸如Amazon S3之類的服務(wù)上執(zhí)行不佳的存儲已導(dǎo)致大規(guī)模數(shù)據(jù)泄漏,因此應(yīng)從一開始就檢查您的實施是否遵循訪問控制和加密的最佳實踐。
這里的挑戰(zhàn)是您仍然必須管理應(yīng)用程序擴展。當(dāng)容器實例位于不同的云上,或者某些元素位于一個云上而其他元素位于另一云上時,通過基于角色的訪問控制實現(xiàn)一致性是必不可少的步驟。同樣,隨著時間的推移來管理對這些資產(chǎn)的訪問也依賴于良好的密鑰管理。應(yīng)該為所有圖像定期刷新密鑰-但是由于響應(yīng)需求而產(chǎn)生并自動拆下了如此多的容器,并且混合了無狀態(tài)和有狀態(tài)的資產(chǎn),因此開發(fā)人員不能為自己做些事情,而又不會對生產(chǎn)率。
因此,對所有這些資產(chǎn)的密鑰管理應(yīng)該是自動化的。最佳實踐的這種自動化(可幫助開發(fā)人員更高效,更高效地工作,同時滿足有關(guān)安全性的要求)是數(shù)據(jù)可以提供幫助的領(lǐng)域。
除了訪問控制,數(shù)據(jù)也可用于幫助提高應(yīng)用程序的安全性。但是,如 Dimensional Research最近進(jìn)行的一項調(diào)查所強調(diào)的那樣,包括安全信息和事件管理平臺(SIEM)在內(nèi)的傳統(tǒng)安全分析工具未能提供有效管理云中的安全性和合規(guī)性所需的洞察力。根據(jù)該調(diào)查,有93%的受訪者認(rèn)為當(dāng)前的SIEM對云無效,而三分之二的受訪者認(rèn)為有必要整合和重新考慮傳統(tǒng)工具。
容器和最佳做法
以一種易于理解的格式將日志數(shù)據(jù)收集到一個位置,可以幫助您查看應(yīng)用程序和流程在哪里運行良好。同樣,它可以指向需要改變思維的區(qū)域–例如,與需求水平和云資源成本相比,容器生成速度過快。通過將所有應(yīng)用程序資產(chǎn)中的信息匯總在一起,您應(yīng)該能夠簡化并提高整體性能。
容器對于應(yīng)用程序開發(fā)人員的重要性將繼續(xù)增長。性能優(yōu)勢和自動化支持使輕松快速地滿足業(yè)務(wù)需求的應(yīng)用發(fā)布變得容易,而支持更快的更改的能力使隨著時間的推移運行操作變得更加容易。
但是,要圍繞這些應(yīng)用程序制定正確的流程,自動化和安全步驟,需要進(jìn)行自己的計劃。這就是為什么首先確保在基于容器的應(yīng)用程序中擁有正確數(shù)據(jù)的原因,這將大大有助于使這些部署更高效,更有價值。