To be able to produce successful designs, it's not necessary to start from scratch. Instead, your efforts are better put into understanding which common architectural patterns have already been proven successful.
In this section of the book, we will see different ideas that are common across a lot of successful systems. All these elements are useful in specific contexts, and we will see what their strengths and limitations are over the following chapters:
We will introduce you to the Twelve-Factor App methodology, as it contains a list of useful suggestions for dealing with the specifics of services. We will also get into the specifics of web server request-response structures, which are normally the foundation of servers.
We will also cover event-driven systems, taking two chapters to be sure to cover the basic and more advanced uses. Event-driven systems are asynchronous by nature, meaning that the calling system won't wait until the processing is done, and in a lot of cases, there won't even be something similar to a response. These systems are very useful for dealing either with triggering multiple services with the same input or for generating results that take a long time to process.
We'll also discuss monolithic systems compared with microservices, and the different tools and techniques to use in both cases, including migrating from one to the other.
18.222.118.14