Software architects frequently engage in trade-off analysis, often confronting sub-optimal solutions due to unforeseen or overlooked disadvantages. Such outcomes can detrimentally affect a company's business operations and resource allocation. This article conducts a critical review of archi- tectural styles, particularly focusing on the strengths and weaknesses of both monolithic and distributed architectures, and their relationship to architectural characteristics. It also explores the role of cloud computing in transitioning from monolithic to distributed-based applications. Utilizing a broad range of sources, including papers and books from both industry and academia, this research provides an overview from theoretical foundations to practical applications. A notable trend observed is a shift back from distributed to monolithic architectures, possibly due to factors such as cost, complexity, and performance.
翻译:软件架构师经常进行权衡分析,但由于未预见或忽视的缺陷,常常面临次优解决方案。此类结果可能对公司的业务运营和资源配置产生不利影响。本文对架构风格进行了批判性综述,特别关注单体架构与分布式架构各自的优势与劣势,及其与架构特性之间的关系。文章还探讨了云计算在从单体架构向分布式应用过渡中的作用。通过广泛引用来自工业界和学术界的论文及书籍等资源,本研究提供了从理论基础到实际应用的全面概述。观察到的一个显著趋势是,由于成本、复杂性和性能等因素,从分布式架构回归单体架构的转变正在出现。