Software Architecture’s Evolution and DevOps: An Overview
摘要
In the early days of software applications, monolithic applications dominated the landscape. Applications were built as a single unified unit, self-contained, and one code based. As these applications become web oriented, they face a very high customer’s demand, therefore their architectures should scale in order to address the growing need and improve scalability, flexibility, availability, and efficiency. Responding to these challenges, the application architectures shifted from monolithic, to distributed-based services and Microservices supported by containerization technologies, orchestration paradigms, and DevOps lifecycles. This document aims first to illustrate the main evolutions of software architectures, comparing their advantages and disadvantages, and providing an overview of some growing areas that have emerged within the same context, such as DevOps. Additionally, it briefly discusses whether adopting or migrating to Microservices is the best approach for modern software architectures.