Exploring Microservices Architecture in PHP with Laravel : A Practical Implementation and Performance Analysis

Saved in:
Bibliographic Details
Title: Exploring Microservices Architecture in PHP with Laravel : A Practical Implementation and Performance Analysis
Authors: Tran, Hoang Thanh
Contributors: Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences, Tampere University
Publication Year: 2024
Subject Terms: Laravel, Microservices, RabbitMQ, Laravel Sail, Laravel Octane, Laravel Sanctum, MySQL, Docker, Docker compose, Master's Programme in Computing Sciences, systems architecture, PHP, online services, programming, services, applications (computer programmes), information technology architecture, software design, distributed systems, database programs
Description: Microservices architecture has earned a lot of attention lately as a renowned paradigm and efficient technique to design huge software applications as a collection of small, modular, and scalable services that communicate through well-defined interfaces. Recent iterations of PHP, one of the most popular server-side programming languages, have made major advancements that enable complete compliance with the microservices design concepts. The goals of the thesis are to explore the benefits and challenges of microservices architecture in PHP with Laravel, a fast and powerful PHP framework that provides a variety of functionalities for microservices development, and to provide a practical guide and performance analysis for developers who want to implement this approach. In order to accomplish these goals, the thesis answers some key research questions on how to effectively design and implement a microservices architecture using PHP and Laravel frameworks, the challenges that arise during implementation, and how to measure the performance of microservices compared to monolithic architectures by conducting a case study focusing on microservices application implementation. By implementing a case study, the thesis explores the suitability of adopting Laravel tools and features to handle aspects of microservices such as service communication management, authentication, and containerization. The thesis also discusses the limitations and trade-offs of using Laravel to build microservices applications including managing the complexity of communication between services, ensuring data consistency between services, and customizing the framework. Through a performance evaluation experiment using JMeter, the thesis compares the performance of a microservices architecture with a traditional monolithic application, both applications are developed using the same configuration. Although microservices are clearly advantageous in terms of scalability and modularity, they also include additional overhead, especially when it comes to ...
Document Type: master thesis
File Description: fulltext
Language: English
Relation: https://trepo.tuni.fi/handle/10024/161012
Availability: https://trepo.tuni.fi/handle/10024/161012
Rights: This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited. ; openAccess
Accession Number: edsbas.2232BF4
Database: BASE
Description
Abstract:Microservices architecture has earned a lot of attention lately as a renowned paradigm and efficient technique to design huge software applications as a collection of small, modular, and scalable services that communicate through well-defined interfaces. Recent iterations of PHP, one of the most popular server-side programming languages, have made major advancements that enable complete compliance with the microservices design concepts. The goals of the thesis are to explore the benefits and challenges of microservices architecture in PHP with Laravel, a fast and powerful PHP framework that provides a variety of functionalities for microservices development, and to provide a practical guide and performance analysis for developers who want to implement this approach. In order to accomplish these goals, the thesis answers some key research questions on how to effectively design and implement a microservices architecture using PHP and Laravel frameworks, the challenges that arise during implementation, and how to measure the performance of microservices compared to monolithic architectures by conducting a case study focusing on microservices application implementation. By implementing a case study, the thesis explores the suitability of adopting Laravel tools and features to handle aspects of microservices such as service communication management, authentication, and containerization. The thesis also discusses the limitations and trade-offs of using Laravel to build microservices applications including managing the complexity of communication between services, ensuring data consistency between services, and customizing the framework. Through a performance evaluation experiment using JMeter, the thesis compares the performance of a microservices architecture with a traditional monolithic application, both applications are developed using the same configuration. Although microservices are clearly advantageous in terms of scalability and modularity, they also include additional overhead, especially when it comes to ...