Chapter 2. Architectural Designs

Software applications are complex animals. There are a lot of components. When it comes to web-based applications, there may be a lot of systems involved in addition to the elements that are software-based. When companies develop web-based applications, they become responsible for a lot more than just software development since they also have to be concerned with the delivery platforms. This is a significant change from developing native applications (meaning applications that run directly on your desktop), where the end user is responsible for the platforms the software runs on.

Traditionally, web-based applications have used something called an n-tier design, which is a common approach to software development in general. Even in native applications, you can see the n-tier design in use. For the last decade and more, though, there has been a push to a different model in application development. With more companies using cloud services to deliver applications, whether specifically for delivery through a web browser or through a mobile application with a web-based backend, there has been a shift to service-oriented architecture. This shift has changed how applications are delivered as well as how they are designed and developed. It has also changed the security posture of web applications and how they are managed and deployed.

In this chapter, we will look at some traditional application designs as well as some more modern approaches to developing ...

Get DevSecOps in Kubernetes 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.