自動化的軟體架構 | esilva.net

banq發表於2022-10-17

在過去的十年中,我們看到了軟體系統架構視覺化的 "復興",其形式是透過部署系統的工件自動生成視覺化。這些方法為團隊提供了對團隊工作範圍內和跨團隊的執行軟體系統的更多認識。這些為組織開啟了大門,以更好地理解、瀏覽和設計如何發展他們的產品,因為它們提供了前所未有的認識。這樣的發展也允許我稱之為 "湧現的理解"。我們可以看到在我們以前的人工方法中通常不會看到的東西,因為我們會採取更狹隘的觀點。在文章的最後,我反思了我認為在這個話題上即將出現的重要發展,即考慮驅動這些技術系統架構的社會系統的視角。

我們正在看到軟體系統視覺化的復興,重點關注(始終是最新的)從正在執行的系統的工件和描述建立的自動生成的視覺化。其中,Simon Brown 的工作為塑造這些新的、更可持續的軟體架構視覺化方法做出了相當大的貢獻。例如,他在 C4 模型語言 [ C4 ] 上的工作,還使用 ​​Structurizr 工具 [ Structurizr].此外,我們還看到許多其他工具和平臺的產品化和商品化。這一舉措使公司能夠快速採用這些軟體系統視覺化方法。一個很好的例子是 Backstage [ Backstage ],它是 Spotify 內部開發的用於軟體系統視覺化的平臺。Backstage 已作為開源專案釋出。它現在被許多公司採用並得到了貢獻。

這是從手動建立的視覺化遷移到從部署和描述工件自動生成的視覺化。這種轉換為我們團隊中已部署的系統提供了更清晰且始終如一的最新檢視。手動維護的視覺化很複雜,這就是需要這些自動化工具的原因。讓“架構師”(和/或團隊)始終保持這些視覺化是最新的是具有挑戰性的。此外,透過自動化,我們為更廣泛和更深入的洞察(在團隊中和跨團隊)開啟了大門,因為團隊可以視覺化他們的範圍和整個景觀。

它還允許視覺化我們以前沒有深入瞭解的景觀的其他部分。這種新的和改進的資訊和理解使我們能夠發現和塑造新的選擇、設計和進化路徑。在更經典的手動方法中很難發現這些。這種更廣泛和更深入的理解的結果應該允許更好的決策,從而更好地駕馭我們軟體系統架構的自然複雜性。
 

相關文章