Migration PHP And MySQL Site To Azure App Service
Software supplier
Product
Website design
The project entailed migrating an on-premises PHP web application to Azure, aiming for enhanced data presentation and process optimization while ensuring a seamless transition between old and new systems. The client, a technical and educational services provider for Home Energy Raters (HERS) and building performance professionals, sought improvements to their existing PHP-based application. Challenges included refining the PHP code repository, addressing architectural limitations, and maintaining simultaneous operation during transition.
The solution involved gaining access to the client's production environment, supporting the existing PHP project, and developing a new application using Java and Angular. A thorough examination of the PHP code facilitated the identification of potential improvements for implementation in the new application. Deployment on Azure enabled scalability and performance enhancements. Simultaneous operation of old and new applications, each with its database, facilitated gradual data synchronization and transition. Upon completing all functionalities, the phased shutdown of the old PHP application ensured a smooth transition to the new system.
Results included successfully deploying the new application, meeting client requirements for improved data presentation, and process optimization. The Azure deployment offered scalability and enhanced performance, while the phased shutdown approach ensured minimal disruption during the transition process. Overall, the project achieved its objectives of modernizing the client's application infrastructure and enhancing functionality to meet evolving business needs.
Technology Stack
- PHP
- MySQL
- Java
- Angular
- Azure
Client & product
The client, a provider of technical, educational, and Quality Assurance services for Home Energy Raters (HERS) and building performance professionals, had an existing PHP-based application running on a MySQL database. The application required improvements in data presentation and process optimization. The primary goal was to develop a new application using Java and Angular that would gradually replace the existing PHP application.
Challenge
The Client has entrusted our team with examining and refining the code repository of the PHP website. Our team undertook a comprehensive analysis with a dedicated emphasis on the subsequent facets:
- Proficiently identifying and resolving instances of duplicate files.
- Selection of core files with potential utility.
- Intently recognizing files that could potentially compromise security. Ensuring their appropriate management.
- Methodically eliminating any superfluous empty folders.
- Analyzing the final amount of data and its preliminary architecture.
Another equally important task was the analysis and discussion regarding the architectural limitations of the PHP project. This process required careful examination of the code, discussions with the client regarding potential improvements, and the need to maintain the simultaneous operation of both applications during the transition.
The secondary primary objective was to review previously performed modifications by comparing them with the production environment.
Alongside these ongoing processes, a new application on Java/Angular was concurrently under development.
Solution
To address the challenges, the following revised plan was devised:
- gain access to the client’s production environment.
- provide the necessary support for the existing PHP project, even without direct access to the product, to ensure its smooth functioning during the transition.
- develop a new application using Java and Angular based on the proposed roadmap.
- thoroughly examine the existing PHP code and identify potential improvements and changes to be implemented in the new application.
- set up a new production environment on Azure and deploy the new project, including the features outlined for the minimum viable product (MVP).
- enable simultaneous operation of the old and new applications, each in a separate environment with its database.
- implement a synchronization process between the two applications to ensure data consistency and enable a gradual transition.
- rewrite existing features/modules not part of the MVP and deploy these changes incrementally.
- cease the operation of the old PHP application once all the required functionality has been successfully implemented in the new application.
Results
The revised plan allowed progress in the realization of this solution. By deploying new application on a separate dev environment and gradually synchronizing data between the old and new applications, the team achieved a seamless transition.
The new application, built on Java and Angular, successfully addressed the client’s requirements for improved data presentation and process optimization. Deploying a PHP app to Azure ensured scalability and enhanced performance. Finally, after completing all functionalities, the phased shutdown of the old PHP application ensured a smooth transition.
worked on this project
Igor
Account Manager (AM)