Software Architecture as Systems Dissolve

Software Architecture as Systems Dissolve

oftware architecture has been a mainstream discipline since the 1990s and in that time has become a recognized, widely researched, and often valued part of the software engineering process. However, architecture approaches must reflect the technologies and priorities of the systems we are building, and in this regard its future has never looked more uncertain or more exciting. From our history of monolithic compile-time architecture, to many-tiered distributed systems, to Internet-connected services, we are now entering the era of cloud-hosted, microservice-based, pay-for-usage systems development. In this new world, the boundaries of “my” system are no longer so clear, and our systems are dissolving into complex webs of independently owned and evolved services, with nothing more in common than a shared credit card for billing and an agreement on the format of network requests. What can the history of software architecture tell us about the likely challenges in this environment? And how must it develop in order to meet them?


Eoin Woods

May 11, 2018