嶄露頭角的網絡初創公司正在使用互聯網托管的平臺即服務(PaaS)技術相互跨越式推向市場。PaaS 允許這些初創公司通過將更多時間集中在他們的使命上,減少管理硬件和軟件的時間來快速創新。戰士也可以從 PaaS 中受益嗎?是的,如果作戰人員控制 PaaS 堆棧 - 并且開源提供了這種控制。
從歷史上看,作戰人員應用程序通常是從電源插頭到正在運行的應用程序的單體 - 它們通常是為單一目的而設計的,沒有考慮重用和互操作性。這些單體的設計差異也阻礙了技術和認證與認可(C&A)重用方面的規模經濟。缺乏重用可能會阻止應用程序及時到達作戰人員手中,還可能導致成本和進度超支。通過確定可以標準化的通用領域,對這些組件進行一次可重用性認證,并更多地關注剩余的差異,機構可以提高效率并節省定期重新認證應用程序所需的時間。平臺即服務 (PaaS) 是一種解決方案,可以通過縮短時間表和消除供應商鎖定來緩解這些挑戰。PaaS 利用跨多個應用程序一致的 IT 堆棧,包括從電源插頭到硬件、虛擬化、操作系統和應用程序服務器的所有內容。IT 堆棧可以認證一次,然后多次重復使用,重新認證工作量要少得多。因此,開發人員可以更專注于他們的應用程序,并更快地將其投入生產,因為它運行在其他人已經嚴格認證的硬件和軟件堆棧上。
圖 1 說明了開發人員維護的堆棧與 PaaS 堆棧之間的區別。請注意開發人員的工作如何在沒有 PaaS 的情況下沿堆棧向下擴散。與其關注應用程序本身,不如花費精力來指定、獲取、集成、部署、認證和維護堆棧的所有組件。此外,每個應用程序的開發人員可以為每個組件指定不同的供應商,要求最終客戶精通所有組件。這削弱了培訓、運營和維護成本以及批量采購方面的規模經濟。借助 PaaS,開發人員可以將更多時間投入到應用程序本身上,同時讓 PaaS 提供商利用規模經濟,同時代表開發人員維護和保護基礎結構和平臺硬件和軟件。
圖1:開發人員維護的堆棧與 PaaS 堆棧的比較
專有的PaaS對作戰人員來說是不可能的
然而,PaaS的一個問題是,大多數互聯網托管的PaaS提供商都是專有的。其中許多 PaaS 提供商僅支持其專有語言和/或庫,這些語言和/或庫僅在 Internet 上的后端服務器上運行。如果開發人員想要將應用程序移動到另一個 PaaS 提供商或將應用程序移動到本地服務器,則應用程序移植是必要的。對于可能沒有互聯網連接的嵌入式和/或分類系統,專有的互聯網托管PaaS不是一種選擇。這就是開源PaaS可以提供解決方案的地方。從上到下開源的 PaaS 堆棧可以在公共云、分類飛地或戰術車輛上運行,并提供相同的體驗。為一個部署模型編寫的應用程序也可以在所有部署模型上移植。開源 PaaS 提供傳統 PaaS 的部署效率,平臺部署目標選擇開源。
圖 2 說明了托管 PaaS 提供程序和本地 PaaS 解決方案之間的這種差異。這兩種產品都允許開發人員專注于他們的應用程序,但只有本地 PaaS 解決方案才能在最終用戶的數據中心、分類飛地、戰術車輛、機載或海底平臺等中運行。選擇 PaaS 解決方案時,應確保在托管 PaaS 環境中編寫的應用程序可以在本地 PaaS 環境中運行,幾乎無需修改。實現此目的的最佳方法是通過確保 PaaS 解決方案和應用程序基于開源軟件構建來確保最大的可移植性。
圖2:托管 PaaS 與本地 PaaS 的比較
開源 PaaS 提供敏捷性和控制力
OpenShift 是面向應用程序的自動擴展開源 PaaS,包括托管、本地和社區產品(圖 3)。它于 2011 年 5 月首次在開發人員預覽版中發布,旨在使用開源原則滿足與供應商無關的 PaaS 需求,并作為上述 PaaS 概念的一個很好的例子。它運行在紅帽企業 Linux 之上,每個用戶開發的應用程序都作為 Linux 容器內的 PaaS“齒輪”運行。通過使用 Linux 容器,而不是為每個應用程序提供自己的虛擬機,可以精簡快速地配置應用程序,這是大規模以及小型嵌入式戰術部署的理想選擇。即使應用程序是多租戶的并且運行在相同的 Linux 操作系統上,Linux 容器也使用稱為 cgroups 的 Linux 資源控制組以及通用標準認證和 NSA 開發的 SELinux 進行限制。
圖3:OpenShift 組件
配置應用程序設備后,開發人員可以選擇應用程序框架、語言以及 SQL 和 NoSQL 數據庫的預制 PaaS“盒式”。通過選擇這些盒式磁帶,開發人員將該代碼的維護和安全性留給集中式 PaaS 管理員。這提供了規模經濟,因為 PaaS 管理員可以將錯誤或安全修復程序應用于磁帶盒一次,并且使用該磁帶盒的所有開發人員的應用程序都會立即受益。
一旦盒式磁帶就位,開發人員就可以使用 git 或帶有兼容 PaaS 插件的 Eclipse IDE 將特定于任務的應用程序代碼添加到 PaaS。一旦代碼被推入齒輪,它就會啟動并運行。部署后,還可以添加 Maven 和 Jenkins 等 DevOps 工具,以實現自動化構建和持續集成。當應用程序投入生產時,如果它變得“病毒式”(以一種好的方式),PaaS 甚至有一個 HA 代理盒,可以根據服務器負載自動啟動和降低其他齒輪。通過構建在開源之上,任何為 PaaS 編寫的應用程序都可以在沒有它的情況下運行,因此消除了供應商鎖定。此外,可以在PaaS上開發應用程序,然后在沒有它的情況下部署,例如在輕量級戰術或嵌入式環境中。
PaaS 是未來
各機構被迫用更少的資源做更多的事情。他們需要確定冗余領域,并在不損害其任務的情況下鞏固努力。正如私營部門所證明的那樣,PaaS 提供了快速部署應用程序的能力,它更多地專注于任務,并讓 PaaS 提供商經濟地提供一個安全穩定的平臺來構建。對于作戰人員來說,互聯網托管的PaaS通常是不可能的。應用程序需要在戰術和/或分類環境中斷開連接運行。同樣,開源PaaS,例如Red Hat的
審核編輯:郭婷
-
嵌入式
+關注
關注
5147文章
19627瀏覽量
316706 -
互聯網
+關注
關注
55文章
11242瀏覽量
106204 -
服務器
+關注
關注
13文章
9768瀏覽量
87734
發布評論請先 登錄
【Banana Pi BPI-RV2開發板試用體驗】部署內網穿透
HarmonyOS5云服務技術分享--Serverless抽獎模板部署
如何利用RAKsmart服務器實現高效多站點部署方案
【Simcenter流體和熱解決方案】利用CFD和計算化學軟件,更快地創新出更出色的產品

微服務容器化部署好處多嗎?
云服務器 Flexus X 實例:RAG 開源項目 FastGPT 部署,玩轉大模型

華為云 Flexus 云服務器 X 實例之 openEuler 系統下部署 Tailchat 開源聊天系統

華為云 Flexus 云服務器 X 實例之 openEuler 系統下部署 OpenCart 開源電子商務平臺

基于DPU的OpenStack裸金屬服務快速部署及存儲解決方案

評論