## 4 Characterization Framework
### Data Management and Consistency  
The relationship between the data layer and services creates different alternative situations in a distributed architecture because the design is shaped according to preferences. When a monolithic application is allocated to microservices, it begins to separate in transactions, which means that local transactions, which were previously in the monolithic, are now being handled as distributed between services. There are different approaches here. The first and more primitive of these is to manage distributed transactions with a shared database. Each service can access data owned by other services using local Atomicity, Consistency, Isolation, Durability (ACID) transactions. While this situation enables distributed transactions to be handled more easily and to make queries that require joining from different tables more easy, it causes many disadvantages. These are coupling creation in run time, different services needing different requirements from the same database during development, and changes to affect all services [13]. Another method is to have a database for each service. There are many advantages over a shared database in this more common alternative, where microservices are literally decoupled. Each service uses the database that best suits its needs and, since the dependency between services is removed, loosely coupled services are obtained, and this situation makes deployment activities more independent. As shown in Figure 4, there are some operations that need to be handled if a database per service pattern is selected. First of all, the business transactions spanning multiple services need to be managed and data consistency must be provided. In this case, since it is important to have a highly available system, one needs to choose availability, as specified in the CAP theorem [20], and consider the consistency eventually. This situation corresponds with the Base Availability, Soft State, Eventually Consistency (BASE) database types, which \begin{table}
\begin{tabular}{c c c} \hline
6 & Observability & Observability is an important item that ensures the sustainability of the system. In distributed systems, it is critical to obtain information about the general performance of the system and the status of each block of the system and to take appropriate action according to this information or to avoid problems that will force the system. \\ \hline
7 & Provisioning and & Provisioning is the process of setting up the system infrastructure. In this process, the necessary resources for the system and users must be managed. These management operations can be achieved with various specialized tools. Configuration Management, on the other hand, is a process that takes charge after provisioning and is used to ensure that our system remains in the desired and consistent state. \\ \hline
8 & Security & Security stands on two headings, which are authentication and authorization. In microservice-based systems, since a system consists of many small parts, it must be designed very differently from the one that is designed for monolithic application. Being authenticated and being authorized for many services are the main topics for this feature. \\ \hline
9 & Testing & In the MSA, although the fact that a system consists of smaller services increases the testability and maintenance capability of the system to a great extent, it is necessary to develop structures suitable for the distributed architecture in order to test use cases that spread on many services. \\ \hline
10 & Resilience and & Resilience and Fault Management is the concept for \\  & Fault Tolerance & admitting that failures always happen and the system is designed for failures. \\ \hline \end{tabular}
\end{table} 
Table 1: _Cont._is proposed by eBay for supporting faster reaction to possible inconsistencies by dismissing synchronization [21]. It is a database design methodology which favors availability over consistency of operations [22]. For data consistency, there are three alternatives.