Every website owner is concerned when it comes to the performance of his/her website. If your website is not optimized, then you might encounter performance issues due to which you might lose your website visitors/customers. Lack of proper implementation of Technology stack or if development of the application is not done by following the industry standards, then it is obvious that your website will face performance issues.
vteam #530 got a project in which a Nutrient Analysis Application was having performance issues while dealing with Geo Locations i.e.; performing badly for European region and China/Hong Kong region. The application also had a complex structure. To fix these issues, vteam #530 had to understand the domain knowledge of the application and leave enough room for future development.
Existing App Analysis:
The existing application was explored while understanding the domain knowledge. vteam #530 figured out reasons behind slow performance of the application:
- No proper implementation
- Wrong technology stack
- Industry standards were not met
- Lack of modern approaches (Ajax – A well known framework)
Sybase SQL iAnywhere 12 was used in conjunction with complex native Windows Services in application database. The implementation was done in plain PHP and at certain level it was acting like MVC (partially). It was hosted in Windows Server 2008 and heavily depended upon Windows Services and Command Line Tools from IIS. For every user, it was setting up a separate Client App and due to this, it was putting overhead on Server.
The web application contained huge data due to millions of records of current users. There were different data types in the new and old databases as well. It was a big challenge to migrate millions of records for each of them in their own databases.
vteam #530 developed domain knowledge and conducted several discussion sessions with Client to understand the actual requirements. We came up with a solution of SAAS Model. We proposed a completely different technology stack that was best suited for the application. Technology stack consisted of the following with Linux OS:
Laravel is one of the best available industry proven PHP Framework. For storage, MariaDB and MongoDB were proposed for a hybrid database approach. We placed application tables into MariaDB leveraging Aria Storage Engine high availability. Content tables were placed in MongoDB collections which essentially required almost real-time data.
Other modern tools/techniques were also included in the pack to convert the application fully up-to-date and modern. These tools/techniques were HTML5, CSS3, JS/jQuery and caching.