One of the leading internet services provider.
Business & technology challenges:
To offer more value-added services and assure high system availability to their global customers, client wanted to reconfigure and upgrade their IT landscape.
To achieve the above, having a scalable infrastructure, database, applications running securely was imperative.
- Applications were built using Angular and Spring boot framework.
- The Angular based applications were hosted on an Apache Web Server instance.
- Spring boot applications were hosted on a Tomcat server.
- The system used a standard Microsoft SQL Server for storage.
- The application relied on Microsoft Active Directory services for authentication.
- Applications used a standard Microsoft SQL Server 2019 database for storing application data.
- Application stored the images uploaded to or created from the application using network file storage.
Figure 1: On-premises Environment Architecture
- Moderate scalability and performance
- Frequent maintenance and consequent downtimes
- Security threats
MSRCosmos’ approach & solution:
What MSRCosmos Proposed And Implemented:
MSRCosmos team conducted a detailed study and understood the legacy system architecture and deployment setup. The study helped in abstracting the complexity of the existing system and in re-engineering the system architecture that is compatible with the cloud infrastructure.
The team aimed at transitioning their legacy system to Azure via PaaS platform. They wanted to revamp the system in order to offer a more advanced and secure platform for their customers. The other key reasons that strengthened the client’s decision to choose PaaS migration via Azure were to:
- Reduce maintenance requirements
- Maximize performance and being resilient
- Minimize costs
- Achieve zero downtime and zero data loss.
- To be cost-effective and flexible
Web Application migration from on-premise to Azure App Services:
Platform as a service (PaaS) is a complete development and deployment environment in the cloud with resources that enable you to deliver everything from simple cloud-based apps to sophisticated, cloud enabled enterprise applications.
Azure app service is a fully managed Webhosting service for building web apps, mobile backends, and RESTful APIs. From small websites to globally scaled web applications, we have the pricing and performance options that fit your needs.
Azure App Service migration assistant tool is used to migrate the on-premise Web Application to Azure App Services.
- App Service Migration Assistant was installed
- After selecting the local server (in this case, Tomcat) and application(s) to migrate – we provided the resource group name, destination site name, app service plan, and region.
Figure 2: Web App Migration using App Service Migration Assistant
Database migration from on-premise to Azure SQL:
Azure SQL Database is the intelligent, scalable, relational database service built for the cloud. It is evergreen and always up to date, with AI-powered and automated features that optimize performance and durability for you. Serverless compute Hyperscale storage options automatically scale resources on-demand, so one can focus on building new applications without worrying about storage size or resource management.
We used Azure Migrate Assessment and migration tools to discover the database(s), assess them, and migrate the on-premise database to Azure.
- Database Migration Assistant was installed.
- Using the tool, in the Azure portal, Azure SQL Server was created.
- For assessment, the on-premises SQL server name was entered, the authentication type was chosen, and selected the database to be migrated.
- The assessment report was uploaded to Azure Portal.
Figure 3: Database Migration using DMA
Based on the above migration approach, the team moved the on-premise environment to the Azure cloud environment.
Azure Cloud Environment:
|Environments created||Run applications on app service||Run jobs on app service||Azure SQL DB creation||General-purpose account storage||DR|
Web Applications were mapped to the cloud components (web roles)
- Active directory authentication replaced with ACS 2.0 Passive federation with ADFS (Active Directory Passive Federation)
- Azure cache in-role is used for the session state
- Components that persist data onto disk are re-written to persist into Windows Azure Storage (Blob)
- Azure VPN is used to provide interaction between cloud applications and on-premises databases
- Azure diagnostics was enabled for diagnostics support
- The application uses Azure SQL Server database for storing application data
Benefits delivered to the customer:
Utilizing the Microsoft Azure environment, MSRCosmos enabled the client to introduce new value-added services and improve their customer experience with less downtime & at a lower cost.