Analyzing Microservices and Monolithic Systems: Key Factors in Architecture, Development, and Operations
Juan Christian, Steven Steven, Afdhal Kurniawan, Maria Susan Anggreainy · 2023
Microservices and monolithic systems are two prevalent architectural approaches in software development. This study provides a complete review and analysis of the key components involved in design, development, and operation in software development. A systematic review of the literature was conducted according to the Preferred Reporting Items for Systematic Reviews and Meta-Analyses (PRISMA) guidelines. This review examined various sources debating monolithic systems vs microservices, highlighting their benefits, drawbacks, and implementation in enterprises. The paper addresses important research questions, aiming to further analyze this architectural approach. Findings show that microservices offer benefits such as scalability, flexibility, and independent deployment, while monolithic systems provide simplicity and ease of development. However, challenges related to network communication, data consistency, and operational complexity were also found with microservices. This research focuses on discussing the trade-offs and factors to consider when deciding between monolithic systems and microservices, which provides in-depth information for practitioners in decision-making for software development. This research aims to help readers understand the effects of using monolithic or microservice-based systems in software development.