PaaS Migration Using Microsoft Azure

This solution was implemented for a client in the USA, who is a leader in providing packaging systems and related technologies. World-class reusable polymer-based packaging solutions are provided by the client to their customers, predominantly to store, display, and transport perishable products. 

Their clients range from farmers, factory owners, retailers, and shopping malls. Packaging solutions are made to order and shipped to clients. These such packages are sent to different locations as illustrated in Figure 1. Finally, the packages are received by the respective collection center and then returned to the warehouse after cleaning.

The Challenge


The client used a typical web-based application implementation to manage their supply chain, which was hosted on an on-premise server setup with legacy features. 

The application basically provided key operational functionalities such as invoice verification, transaction validation and packages tracking. In addition to this, it supported the administrative side of the business and generated forecasting reports to plan day to day business.

However, with this approach, they faced a few challenges in providing better service to their clients while their client base increased.

  1. Performance of the application reduced during peak time due to the large number of requests received from clients.

  2. Maintenance of web application availability to cater to the global client pool.

  3. Maintenance of infrastructure .

After analyzing these challenges, it was decided to host the web application and databases in the Microsoft Azure platform as a PaaS solution in order to overcome them. 

How 1 Billion Tech Helped


Our team helped to overcome the above challenges by modifying the web application to be compatible with the Microsoft Azure platform.

  1. To improve the performance and manage the load balance of the web application, multiple instances were configured in the Azure web app, in order to facilitate horizontal scaling. The client now has the ability to decide the number of instances needed, based on the requests during peak and off-peak periods. Then the scaling and load balancing of the web apps were managed by the Azure platform.
  2. Since horizontal scaling is supported, the Azure Redis server was used to manage the application cache and session in a central location.

  3. There was an email send-out functionality in the web application. Previously the SMTP server was used and it was not supported by Azure. Therefore, SendGrid was implemented to send emails.

  4. Users can upload different file types such as Excel, PDF, EDI and text from the web application and these files would then be needed to be accessible in some other pages of the application. In certain business scenarios, files were automatically generated by the application and these files needed to be stored in a shared location to be accessed by other external systems. Azure blob storage was used to manage these files.

Figure 2 describes the high-level architecture of the solution.

BENEFITS TO CLIENT


  • Enhanced availability
  • Elasticity
  • Scalability
  • Improved performance
  • Ease of governance