Application Migration to Azure: Options, Steps, Required Azure Services, Costs
In IT since 1989, with 9 years of experience in cloud computing and Azure-based infrastructures, ScienceSoft provides comprehensive application modernization and migration services.
Application Migration to Azure: The Essence
Migration of a small application to Azure costs $5,000 - $15,000; a medium/large app requires $20,000 - $250,000 for migration. If substantial modernization is needed, the migration cost may be $500,000+ for a large app.
ScienceSoft recommends moving to Azure iteratively to keep the migration process transparent and avoid error propagation. The standard iteration usually takes 2-3 months. In one iteration, an experienced Azure migration team can migrate 1-2 workloads of medium complexity or 1/2 - 1/3 of a complex workload that needs modifications.
Below are described the typical steps we at ScienceSoft take to migrate applications to Azure.
1. Perform an Azure migration feasibility study and inventory of applications and servers
Duration: 1-4 weeks
- Document your drivers for moving to Azure (urgent capacity needs, simplified software support, streamlined M&A, facilitated evolution, etc.).
- Determine the Azure migration scope.
- Identify application and server dependencies to ensure that you consider all necessary application components in your cloud migration plan.
- Assess the compatibility of the to-be-migrated workloads with Azure and their scalability potential, decide which workloads need basic pre-migration modifications and which ones need deep modernization, and define necessary cloud app deployment tooling.
Note: You can use Azure Migrate and Azure Site Recovery Deployment Planner for these tasks and create detailed reports with their help.
- Outline the short-term and long-term business outcomes you expect from Azure migration and define KPIs to track them.
- Determine risks of moving the selected application(s) to the cloud (e.g., data security concerns, app downtime).
- Evaluate the Azure app migration cost (including migration ROI, TCO).
2. Plan Azure migration (and application modernization)
Duration: 3-4 weeks
- Identify migration project stakeholders and required migration team roles.
- Define the migration order for workloads.
- Decide on the deployment model (Azure public cloud, Azure Stack for private cloud deployment or hybrid (on-premises + Azure deployment)).
- Select a suitable migration approach (one of 6 Rs – rehost, refactor, re-architect, rebuild, retire, repurchase – or a combination of several approaches) for each application based on its requirements and migration objectives.
Best practice: We often employ rehosting for server or VM migration as it allows the workload to remain accessible during migration.
- Design the target app architecture, plan the required refactoring/re-architecting activities.
- Choose fitting Azure services (compute, storage, analytics, continuous integration, delivery and deployment).
- Create an application migration schedule.
- Identify pilot migration deliverables (optional).
- Create the migration project communication plan, including reporting and escalation procedures.
- Draw up an Azure migration project plan with timelines and costs, risk mitigation log, and a roles and responsibilities matrix (e.g., RACI).
Best practice: In case of a hybrid deployment model, we take into account the time and effort needed to encrypt all communications with on-premises servers.
ScienceSoft recommends: In case of handling Azure migration in-house, prepare a training path for your IT team that covers:
3. Perform pilot Azure migration (optional)
Duration: 2-4 weeks
- Deploy the first landing zone for workloads that you plan to build in or migrate to Azure.
- Replicate a part of application functionality to run in Azure.
- Assess the results of pilot Azure migration, adjust the app architecture and cloud infrastructure configuration (if needed).
Best practice: We'll mostly choose for pilot migration a web application that is not business-critical or low-complexity applications without high availability requirements.
4. Execute phased application migration to Azure
Duration: 3-6 weeks
- Schedule and communicate app downtime to users and project stakeholders.
- Deploy the first landing zone for the workloads that you plan to build in or migrate to Azure.
- Set up an Azure production environment – virtual datacenter, including connectivity, networking, storage, and identity.
- Set up/update DevOps tools and processes.
- Move required workloads and their data to Azure and retire their on-premises versions unless it’s hybrid migration.
- Validate that migration activities haven’t affected application functionality and performance, verify backup and disaster recovery solutions.
Best practice: During phased deployment of complex business-critical applications, we often deploy the migrated application parts into testing and staging environments before moving into the production environment to have each migration wave comprehensively tested and validated.
5. Manage and optimize your Azure environment
- Document app changes and update configurations after migration.
- Set up monitoring and analytics tools (basic monitoring: Azure Service Health, Azure Monitor, Azure Advisor; advanced monitoring: Azure Application Insights, Azure Service Map, Azure Network Watcher, Azure Log Analytics).
- Monitor the performance of the migrated app(s), proactively react to any issue.
- Continuously improve security and performance of the Azure-based application(s).
- Continuously rightsize used Azure resources (optimize the app architecture, use AutoShutdown and AutoScaling of Virtual Machines to avoid paying for overprovisioned Azure resources and improve migration ROI, use low-priority VMs with Azure Batch, and more).
ScienceSoft’s Offering for Application Migration to Azure
With 9 years of experience in cloud computing and 9 years of working with Azure-based infrastructures, ScienceSoft helps with:
Azure migration consulting
Our Azure migration consultants:
- Analyze business needs behind Azure migration, the application (application portfolio) to be migrated and the related infrastructure.
- Deliver a business case, including ROI and TCO calculations.
- Define a target Azure app architecture and the required app modifications.
- Choose the optimal set of Azure services (CI/CD tools, data storage, etc.).
- Plan an Azure app migration project.
- Advise on cost-effective management of the migrated application(s), and more.
Azure migration implementation
Our Azure migration team covers:
- Azure app migration planning.
- (optional) Iterative app modernization, including legacy re-engineering and re-architecting.
- Azure app migration (including pilot migration, if required).
- Azure-native application development.
- Decommissioning of the old application(s) or unnecessary software parts.
- Managed Azure cloud services to ensure availability, stability, security, cost optimization, and evolution of the migrated app(s).
- Plans the Azure migration project, assigns tasks to the migration team, and oversees tasks’ execution.
- Makes sure stated project deliverables are provided on time and budget and of the required quality.
- Prepares progress reports on the Azure migration project.
- Executes change and risk management.
Azure Solution Architect
- Plans architectural adjustments for the to-be-migrated application(s).
- Chooses Azure services for the new Azure-based application infrastructure.
- Provides implementation guidance throughout the migration project life cycle.
- Implements code-level application modifications and applies fitting Azure services to an application under migration.
- Refactors and containerizes an application under migration or its parts.
- Helps decide on the Azure database services and configures them.
- Implements data migration tools and performs data migration.
- Implements an infrastructure-as-code approach.
- Uses Azure services to establish and improve orchestration.
- Uses Azure services to automate app deployment, including the introduction of automated testing, CI/CD pipelines.
- Selects and configures tools, which monitor the migrated app performance, detect issues, and alert about them.
IT Security Specialist
- Makes sure that the workloads deployed or developed in Azure align with the organization’s security control and compliance requirements.
- Makes security recommendations at each stage of the Azure migration process.
- Sets up network security, access control mechanisms, monitoring and event management for a migrated app.
- Plans a testing strategy for Azure migration.
- Conducts manual and/or automated testing to ensure the application’s required functioning, performance and security.
- Performs integration testing.
- Verifies that all data remains intact during migration.
The entire Azure migration process is in-house
- Full control over the Azure migration process and team productivity.
- Specific resources with experience in Azure services and legacy app modernization may be required, which are not viable to hire for a one-time project.
- All hiring and managerial efforts are on your side.
Full Azure migration process outsourcing
- A vendor assumes full responsibility for the team assembly and management and the quality of Azure migration.
- Established Azure migration frameworks.
- High migration/modernization vendor risks.
A mix of an in-house team and outsourced consultancy
- An in-house team has a deep understanding of the current software environment and direct access to all assets (if hosted on-premises).
- Outsourced consultancy provides expert guidance on Azure migration planning, mentors through the most challenging migration activities, closes up the gaps in specific tech skills and the Azure ecosystem.
- Risks of consultancy vendor selection.
- Requires time and experience to establish smooth collaboration and communication between the in-house and consultancy teams.
- Built-in app and server dependency mapping.
- Intelligent VM assessment and tooling recommendations for streamlined migration.
- Azure cloud compatibility reporting with guidelines for remediating potential issues.
- Seamless workload replication to Azure.
- Integration with Azure Data Migration Assistant, which partners with Azure Database Migration Service for database discovery and migration.
- Azure migration tracking and analytics.
- Tools for optimization of Azure migration costs.
Discovering and assessing on-premises VMs and servers.
Dependency visualization is free for the first 180 days from the day of associating a Log Analytics workspace with Server Assessment.
Server migration is free for the first 180 days for each machine. Charges for Azure Storage, storage transactions, and data transfer during replication might be incurred.
Database Migration Service (DMS) is free for the first 180 days.
Azure Site Recovery
- Near-synchronous replication of physical servers from on-premises and third-party service providers to Azure.
- Orchestration of replication and failover in all remote locations.
- Protecting the replicated data with a customer-managed encryption key. The data gets encrypted prior to persisting to storage and decrypted on retrieval.
- Customizable data recovery plans.
- Non-disruptive recovery testing.
- Automated failover and recovery.
Сoordinating the automated replication of Azure VMs between regions, between on-premises virtual machines and physical servers to Azure.
Free for 31 days, after 31 days - $25/month per instance protected.
Azure Database Migration Service
- Supports Microsoft SQL Server, MySQL, PostgreSQL, MongoDB, and Oracle migration to Azure from on-premises databases and third-party clouds.
- Highly resilient and self-healing migration service, near-zero downtime.
Automating database migration to Azure.
The Standard tier supports offline (also called “one-time”) migrations. The Standard tier, which offers 1-, 2-, and 4-vCore options, is generally free.
The Premium tier supports offline and online migrations (also called “continuous migration”) for business-critical workloads that require minimal downtime. The Premium tier offers a 4-vCore option at $0.37/hour.
Application migration to the Azure cloud is associated with the following revenue streams, investments, and risks.
Migration project costs
Typical migration of a small application will cost from $5,000 to $15,000, and of a medium/large application – from $20,000 to $250,000. If substantial modernization is required, the cost may be $500,000+ for a large application.
Major Azure migration cost factors:
- Scope of migration (typical cost is ~ $1,000 (~ $500 when using offshore resources) per server.
- Complexity of applications and their dependencies.
- The volume of data to transfer.
- Target app deployment option (Azure public cloud, Amazon Stack, hybrid).
- The life span of the application and its migration readiness; the scope of infrastructure, code and configuration changes required.
- The extent of migration automation and the cost of migration automation software licenses.
- Testing efforts.
- Hiring an IT support team proficient with Azure / training your in-house IT team.
- Recurring Azure charges for the infrastructure and services that will mostly depend on:
- Required storage and compute resources.
- Network bandwidth required by the application infrastructure.
- Physical location of data centers (AWS Regions), and more.
Benefits and risks
- Reduced costs of IT infrastructure due to the pay-as-you-go pricing model.
- Quick scalability of cloud resources with no upfront cost (pay-as-you-go pricing).
- 99.90 – 99.99% migrated app uptime and zero risk failure.
- Faster application updates (~33% increased speed of software development and deployment).
- For rehosting: 15-20% savings over on-premises application hosting.
- For replatforming: up to 450% ROI, 35%-80% savings over on-premises application hosting.
- For refactoring: up to 470% ROI, 50% faster deployments.
- The risk of business operations downtime. Preparing and executing the migration, IT team retooling and retraining, switching to new approaches to IT support operations can impact business operations and customer experience.
- The risk of budget overrun due to switching to a new unfamiliar cost model.
- (in case on-prem to cloud migration) The risk of a data breach. Migrated assets become at risk of comprise because they expose open ports to the internet. Weak passwords and insecure settings increase the risk.
A global IT services company headquartered in McKinney, TX, ScienceSoft provides all-around Azure consulting and end-to-end Azure migration services.
- 9 years of experience in Azure services.
- A member of Microsoft Cloud Solution Provider (CSP) program.
- A reliable Microsoft Partner holding 9 Gold Microsoft Competencies, including in Application Development, Application Integration, Data Analytics, and Data Platform.
- Microsoft Certified Solutions Experts (MCSE), Microsoft Certified Professionals (MCPS) on board.
As a holder of ISO 9001 and ISO 27001 certifications, ScienceSoft relies on mature quality management and guarantees that the cooperation with us doesn’t pose any risks to our customers’ data security.