2021年年中前端、Java及雲原生等企業IT架構的觀察和預測 - AdamBien

banq發表於2021-08-01
以下是來自AdamBien部落格的觀察和個人預測:
  1. Kubernetes 贏得了“容器編排大戰”,成為構建類雲環境的標準。所有公共雲都提供替代的編排解決方案,這些解決方案的複雜性和成本效益更高。對於大多數應用程式,誰管理容器並不重要。Kubernetes 成為一種商品——與 Linux 非常相似。Kubernetes 相容性變得不那麼重要,容器映象和執行時的重要性仍然存在。
  2. 函式即服務FaaS,例如 AWS Lambda、Azure 函式、Google Cloud Functions或Oracle Cloud Functions,因其“殺手級功能”(例如事件偵聽器和整合點)而變得越來越流行。很少有專案嘗試將函式即服務用作通用程式設計模型。這種趨勢應該會繼續下去。
  3. 公共雲可能很昂貴。在最初的興奮之後,增長較慢的公司開始搬回他們的資料中心。我們會更頻繁地聽到 "repatriation" 一詞。“無聊”的企業應用程式可以更經濟高效地在本地執行。將現有應用程式“提升和轉移”到雲中對終端使用者或業務部門沒有任何好處。將單體重構為“雲原生”微服務會帶來額外的複雜性,但不會立即增加價值。2021 年以後,單體應用將成為另一種“最佳實踐”。
  4. 雲中的微服務實施起來尤其是執行起來可能更昂貴。我期待著“每月雲賬單驅動開發”的趨勢,為了節省成本,將合理的微服務合併到一個不太合理的單體中。
  5. 公司開始注意到雲可以更安全、更靈活,並帶有身份驗證、授權、加密和垂直服務,例如影像識別、通知、文字到語音、文字識別、欺詐檢測、金鑰輪換。此類服務很難在本地複製,並且是雲的殺手級用例。在本地執行“無聊”的工作負載並選擇有趣的雲服務會帶來靈活且經濟高效的解決方案,並且應該取代更多教條式的策略。
  6. 無伺服器應該是 2021 年的新趨勢。幾年前,“無伺服器”是 AWS Lambda 的同義詞。現在我們有了無伺服器容器、資料庫、工作流和事件流。無伺服器僅意味著您可以將服務縮減為零,並停止為縮減的資源付費。我預計無伺服器服務會出現明顯的趨勢。
  7. micronautquarkus等下一代執行時的興起是無可爭議的。它們共享相同的原則:部署發生在構建時,執行時變得簡單、快速和靈活。沒有反射,沒有類載入。我希望Helidon能夠透過重用 micronaut 的一些註釋處理功能來迎頭趕上。
  8. Quarkus 的受歡迎程度在去年爆炸式增長。很難找到沒有嘗試過 Quarkus的Java開發人員。對熟悉的 API(例如MicroProfile和Jakarta EE 的部分內容)的支援,加上佔用空間小、啟動時間短和GraalVM整合,為 Quarkus 提供了“不公平的優勢”。
  9. Java 語言的創新速度在過去幾年變得越來越快。我們得到了 Java Records、Text Blocks 和 instanceof Pattern Matching。隨著時間的推移,將使用替代 JVM 語言的專案越來越少。普通 Java 將“足夠好”。
  10. Java Records 竊取了 Lombok 的主要殺手級功能:getter/setter/builder 生成。Lombok 在企業專案中可能變得不那麼重要。
  11. 純Web 元件可用於所有瀏覽器。ES 模組隨處可用,並且已經被認為是 JavaScript 模組化的未來。原生 JavaScript 解決方案的生產力和可維護性使得 JavaScript 框架的相關性降低。框架引入了複雜性、維護成本和大量的時間投資。2021 年以後,企業內外趨於簡單“標準”的趨勢可能會加劇。
  12. Visual Studio Code 中對純 JavaScript 的強大“智慧感知”和“重構”支援將使Typescrite隨著時間的推移變得 不那麼流行。Visual Studio Code 已經將 JavaScript 視為 TypeScript。
  13. 高效、簡單、現代的 JavaScript 與 Web 元件和 ESM 相容庫(例如lit-html)相結合, 使得 npm 構建在開發人員的機器上是可選的。
  14. Apache Kafka將更多地被視為不可變的資料儲存、單一的“真實來源”,而更多地被視為 Java Message Service / Jakarta Message Service 的“現代”替代品。
  15. Apache Kafka 是反應式程式設計 的自然用例,它將使反應式程式設計更加流行。
  16. Project Loom將消除非反應性資源中構建反應性程式設計的障礙。
  17. ARM 架構在短期內將在伺服器和 PC 上更受歡迎,並可能在長期內主導市場。
  18. GraalVM 仍然被低估,通常只用於本地編譯。除了原生編譯,GraalVM 也是一個快速的 JVM 和多語言環境。我期待 GraalVM 的增長以及一個可行的競爭對手的出現。
  19. JavaFX與 GraalVM 結合提供了獨特的可能性,可以將相同的本機應用程式執行在各種裝置上。您可以開發一次 Java 應用程式並將它們提交到各種應用程式商店 - 甚至是 Apple AppStore。JavaFX 的受歡迎程度應該會增長。
  20. Project Panama:“互連JVM和本機程式碼”或新的“JNI”變得更加重要和流行。JVM 和 C 程式碼之間的原生整合在機器學習或 GPU 訪問中起著至關重要的作用。
  21. Visual Studio Code 成為一個可行的 Java、雲和 Web IDE,但是,VSC 功能在 Java 社群中仍未廣為人知。因此,我預計 VSC 在專案中的使用會進一步增加。
  22. 無伺服器伺服器”,例如payara cloud,是一個有趣的案例。Payara Cloud 遵循與“下一代標準”相反的設計決策。應用伺服器叢集成為 Kubernetes Operator 併為您管理節點。您不關心伺服器,只需要將ThinWAR推送到雲端。Payara Cloud 隱藏了 Kubernetes 的複雜性並顯著簡化了基礎設施。基礎設施與業務程式碼嚴格分離。Payara Cloud 尚未正式釋出,但可能成為在任何地方執行“無聊”應用程式的最高效方式。

相關文章