Monolithic vs. Microservices Architectures for AI- Integrated Applications
Palli, Durga Venkata Anil (2024)
Palli, Durga Venkata Anil
2024
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024052715904
https://urn.fi/URN:NBN:fi:amk-2024052715904
Tiivistelmä
This thesis presents a comparative analysis of monolithic and microservices architectures for AI-integrated applications, focusing on performance, scalability, and maintainability. The monolithic architecture, built using Next.js, integrates AI functionalities within a unified codebase, simplifying deployment but facing challenges in handling increased load. In contrast, the microservices architecture modularizes functionalities into separate services, with the PDF processing service using Python and FastAPI, authentication using Golang and Pocketbase, and the frontend developed with React.js. Docker ensures consistent deployment across environments.
The study's primary findings reveal that while the monolithic architecture offers faster deployment and startup times, it struggles under heavy loads compared to microservices. The microservices architecture demonstrates superior performance, scalability, and maintainability. It allows independent scaling of components based on demand, enables optimal resource allocation, and enhances maintainability through isolated services and faster development cycles.
Rigorous testing and evaluation provide empirical data supporting the selection of an architectural style based on specific AI integration needs. The findings offer valuable guidance for software engineers, architects, and decision-makers in choosing the most appropriate architecture for building scalable, maintainable, and future-proof AI-driven applications.
This research contributes to the academic field and aids practitioners in making informed decisions about architectural choices in AI-integrated applications.
The study's primary findings reveal that while the monolithic architecture offers faster deployment and startup times, it struggles under heavy loads compared to microservices. The microservices architecture demonstrates superior performance, scalability, and maintainability. It allows independent scaling of components based on demand, enables optimal resource allocation, and enhances maintainability through isolated services and faster development cycles.
Rigorous testing and evaluation provide empirical data supporting the selection of an architectural style based on specific AI integration needs. The findings offer valuable guidance for software engineers, architects, and decision-makers in choosing the most appropriate architecture for building scalable, maintainable, and future-proof AI-driven applications.
This research contributes to the academic field and aids practitioners in making informed decisions about architectural choices in AI-integrated applications.