Details
The solution consisted of several components with multiple Atmosera resources focusing on each area of interest. The Microsoft Cloud Adoption Framework (CAF) was used as the base methodology for the migration in terms of planning and strategy.
Networking and Infrastructure
Atmosera worked with M*Modal networking and infrastructure staff to extend their on-premise network into Azure, and to create virtualized network resources and Azure infrastructure-as-a-service (IaaS) components to their Azure subscription(s), with a focus on repeatable and reusable deployment patterns. Atmosera utilized existing Cisco routers in M*Modal’s data centers to create a virtual private network (VPN) connected to Azure, connecting the data center to Azure.
Hot Migration
The existing database servers were configured to replicate to similar database environments hosted on virtual machines in Azure, ensuring that data was consistent between the data center and the cloud. While a portion of the data was stored in MongoDB, many of the applications relied on versions of Microsoft SQL Server ranging from 2000 Standard SP3 to 2016 Enterprise SP1, as well as an Oracle RAC environment. Similarly, Windows Server 2012 domain controllers were configured to replicate with VM’s in Azure, again ensuring consistency between the hybrid on-premises and cloud environments. All Windows Servers and databases were migrated from on-premise to be re-hosted on Azure.
Atmosera utilized Azure Site Recovery (ASR) to replicate the remaining application and web servers, configuring virtual networks to support the environment in Azure. Azure Site Recovery is a native Disaster Recovery as a Service (DRaaS) offering, providing block-level, near-continuous replication and failover/recovery support for both Azure and on-premises environments. During the final migration, a failover to the Azure environment was triggered to provide a seamless cutover from the data center hosted systems to the Azure-hosted environments. The migrated virtual machines hosted applications utilizing various versions of Windows, from Windows Server Standard 2008 R2 to Windows Server Standard 2016. For hosting the Java and NodeJS environments, a mix of CentOS and RedHat Enterprise Linux (5.5, 6.5, and 6.6).
Disaster Recovery
A functional disaster recovery environment was architected. This included specific action plans for each high-level system, preparing the existing systems for DR, and covered three specific areas of focus:
- Networks: Networking and connectivity requirements, including VNets, routers/firewalls, ExpressRoute, and IP addresses.
- Compute instances: Compute requirements, including migration strategies for each identified virtual machine.
- Storage/DB/File systems: Existing storage and database requirements for each system and the strategies to employ to minimize recovery time and license costs.
After the solution was architected and the action plans put in place, Atmosera performed a migration and configuration of selected environments to enable disaster recovery for the FFT application. This included configuring the virtual machines to use Azure Site Recovery, setup and configuration of networking and storage resources, and testing the failover and failback to ensure that the disaster recovery plan was functioning as expected.
To minimize future costs for stateless environments, Atmosera worked with M*Modal to recreate the virtual machines utilizing Ansible and Azure Resource Manager (ARM). By rebuilding the environments using infrastructure-as-code (IaC) principles, it enabled M*Modal to quickly set up new development/test environments. With appropriate IaC in place, systems could now be provisioned on-demand instead of relying on failover to replicated environments. This reduced the costs of the disaster recovery options, streamlined development, and enabled operations and development to collaborate on the definitions for each new system deployed.
Workforce Management Application
Atmosera performed a migration of the following environments to Azure, and created DevOps pipelines to allow for continued automated deployment to the environments:
- Two (2) Node.js based application servers, migrated to Azure Websites.
- A cluster of three (3) MongoDB servers migrated to Azure virtual machines, utilizing availability zones (AZs).
- The scheduled and long-running Node.js tasks (“back-office”) were migrated from dedicated virtual machines to Azure Web Jobs and/or Azure Functions.
Knowledge Transfer and Training
Atmosera provided interactive onboarding sessions and training to M*Modal staff to support them in their transition to cloud–based operations and management of their systems, with a focus on repeatable and reusable deployment patterns. Topics included Azure Web Sites, virtual machines, containers, and Azure subscription management.
Figure 1 – Deployment Architecture