One of the common implementation problems that is faced by organizations during the deployment of a microservice-oriented application relates to the increased complexity that is caused when cross dependency is introduced between its inter-connected components. In that sense, it is important to understand the relationship among such components to properly design and implement truly self-capable services. 

For example, a common problem that is faced during microservice implementations occurs when two or more components share access to a single database, which leads to duplicated data sharing and increased database loads. Similarly, two separate components that must communicate with each other also might be the root cause for increased latency rates within an application. 

Microservices are small in essence. However, a fundamental understanding of the relationship between each service is essential to avoid problems during the development process. Always consider that a microservice must deliver sufficient capabilities to its related components. When designing microservices with this mindset, it is possible to eliminate several dependency problems that commonly arise. 

Almost every, if not all, microservice-oriented applications run on top of containers. Because each component is relatively small when compared to traditional monolithic applications, it allows for easier infrastructure management and higher scalability rates. 

Spinning-up several microservices also has the benefit of achieving application high-availability. Therefore, the development of microservices is considered strategical for organizations during their shift to the cloud. In that sense, the IBM LinuxONE Emperor II can scale up to 2 million containers within a single hardware footprint in such a way that the platform is designed to meet the current and future demands for microservices applications. 

Because most microservices interactions occur by using HTTP APIs, the IBM LinuxONE Emperor II can also serve up to 30 billion web data requests a day without any performance impact, while moving data faster than alternative platforms with 2.1x higher data processing throughput. All of these factors make the IBM LinuxONE family the ideal choice for organizations that want to pursue cloud-oriented services. 

Figure 7-2 on page 199 shows the scaled version of our microservices application. This ideal scenario is best for organizations to pursue during their shift to a cloud-oriented infrastructure. 

