Chapter 8. Understanding the True Boundaries of Modern Applications
Erkang Zheng
In the dynamic landscape of software development, the concept of an application has undergone a significant transformation. Gone are the days of monolithic architectures that encompassed all functionalities within a single codebase. Instead, modern applications have embraced a microservices architecture, offering increased flexibility, scalability, and resilience. However, this shift has made defining the application’s boundaries more complex than ever before.
To understand the true boundary of a modern application, you need to consider three factors: components, infrastructure, and ownership.
Components
In the modern software landscape, applications are composed of a multitude of interconnected components. An application is no longer made up of a single codebase. Additionally, it is assembled by leveraging many layers of nested libraries, components, and dependencies, both private and public open source code modules.
The components of a software application are defined as the software bill of materials (SBOM), which is a nested inventory for the software and a list of ingredients. That’s an in-depth topic by itself.
Infrastructure
The shift toward cloud- and software-defined infrastructure introduces a high degree of complexity and dynamism. We must consider the following factors:
- Code to ...
Get 97 Things Every Application Security Professional Should Know now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.