Application Migration
Stages, Timeline, Skills and Cost Factors
In IT since 1989 and with over 10 years of experience in cloud computing, ScienceSoft provides comprehensive application modernization and migration services.
Application Migration: the Essence
Application migration is the process of moving software from one computing environment to another. Nowadays, the most popular application migration scenario is moving apps to the cloud (public, private or hybrid) to benefit from greater flexibility and agility and easier innovation.
ScienceSoft helps enterprises and software product companies with end-to-end cloud migration of apps of any complexity.
Time: Around 3-7 months (if without complex reengineering/re-architecting).
Key project steps: Migration prerequisites gathering and high-level planning, migration design and planning, updating application architecture and code, data migration, mock migration and failover testing, migration, testing and going live, decommissioning of an old application/unneeded application parts, continuous support.
Cost: Around $5,000 for lift-and-shift migration of one application and around $20,000 - $100,000 for migration with application re-architecting.
Team: A project manager, a business analyst, a (cloud) solution architect, software and database engineers, IT security specialists, and DevOps engineers.
A Sample Sequence of Application Migration Stages
Application migration stages and their timelines may differ depending on the number of applications under migration, their architecture, legacy software modifications required, migration approach, the complexity of security and compliance requirements, and more. Below are described the typical steps we at ScienceSoft take to perform application migration.
1
Migration prerequisites gathering and high-level planning
Duration: 2-4 weeks
- Audit an application/application portfolio (app technology stack, when an app was created, its availability, scalability and fault tolerance requirements, etc.), the server environment.
- Assess application security and compliance risks, clarify app user access management, and determine app migration readiness.
- Prioritize applications or app parts to be migrated based on their dependencies, availability requirements and business criticality level.
- (for business software) Review key business processes supported by an application under migration, identify a business owner of each process. Develop business process maps to make sure that all the necessary functionality was taken into account for migration.
Best practice #1: For business app migration, ScienceSoft considers customer-facing apps and apps with fewer dependencies as the first choice for migration.
Best practice #2: To reduce migration budget, time and risks, ScienceSoft usually migrates interdependent applications together. We create ‘migration groups’ basing on the analysis of the applications’ business and technical requirements, including dependency details.
2
Migration design and planning
Duration: 1-2 months
- Select the target environment (cloud, on-premises, hybrid).
- Select the most efficient migration approach (e.g., for cloud migration, one out of 6 Rs – rehost, replatform, refactor, retain, repurchase (for enterprise apps), retire – or a combination of several approaches).
- (for cloud migration) Choose a cloud platform and decide on fitting cloud services.
- (except for purchased enterprise apps) Taking into account the technology stack, conduct code audit to identify application areas that require modifications and adjustments for the target platform; decide on the application code conversion strategy.
- Gain a 360-degree view of dependencies:
- data flows and their dependencies;
- containers and microservices;
- hardware and software load balancing;
- Create a detailed migration plan with the required efforts and schedule the exact steps to get to the new environment.
3
Updating application architecture and code (except for purchased enterprise apps)
Duration: depends on the scope and depth of changes
Unless it’s simple lift-and-shift migration, there’s often a need to adjust application code and design for the new environment (especially, for app parts that are too risky and expensive to migrate, e.g., for legacy apps). At this stage, software engineers change and update application architecture design and code to take advantage of cloud services and general cloud elasticity and scalability, in case of cloud migration.
Best practice: At ScienceSoft, we mostly use code conversion tools and, if required, make targeted manual adjustments to the results of automated conversion.
4
Data migration
Duration: 3–10 weeks
For complex and data-intensive applications, the migration team works out a strategy and chooses tools to migrate the app data. The team:
- Performs a data quality check to make sure that data is valid and has no duplicates.
- Creates scripts to perform data extracting, cleaning and loading to the target environment.
- Builds a tool or creates a script to automate data migration (automation is optional and depends on the data availability requirements).
- Performs and validates trial data migration.
- Executes massive data migration and tests the results.
5
Mock migration and failover testing (optional)
Duration: 2-4 weeks
To minimize possible migration risks, the migration team can execute pilot migration that doesn’t affect the real production environment. To do that, the team:
- Sets up a beta environment.
- Tests and fine-tunes the functionality of the migrated application using test data and test database.
- Tests scalability, load balancing, and capacity of the app and its infrastructure after loading production-equivalent test data.
- Assesses the results of pilot migration, finalizes the future app architecture.
- Develops and applies solutions for problems identified during mock migration.
6
Migration, testing and going live
Duration: 3-6 weeks
Actual application migration is structurally much the same as mock migration. The team:
- Schedules and communicates applications’ downtime.
- Sets up a new production environment.
- Sets up DevOps tools and processes.
- Migrates the application(s).
- Migrates APIs and dependent apps (optionally).
- Documents app changes, updates configurations.
- Validates that migration activities haven’t affected application functionality and performance.
- Sets up monitoring tools.
Best practice: To minimize operational downtimes, ScienceSoft splits the cloud migration process into clear, manageable parts and are always ready to roll back. Also, we often and widely employ automated tests to check the changes promptly, frequently and comprehensively.
7
Decommissioning of an old application/unneeded application parts
Duration: 2-4 weeks
The team removes an old application or unnecessary software parts of the migrated application, cancels relevant vendor contracts (if any), shuts down related application and its infrastructure monitoring tools.
Best practice: ScienceSoft recommends leaving the source environment for 2-4 weeks after migration in case issues occur in the new environment (especially if any code conversion took place). After that, we disable the unnecessary application/applications but don’t delete them for another 6-18 months in case any significant problems arise.
8
Continuous support
The team sets up monitoring tools to keep track of logs, performance, response time, load, etc., of the application/applications operating in the new environment. Also, the team can develop and implement an operating cost optimization strategy for the migrated application/applications.
App Modernization and Migration Services by ScienceSoft
With 34 years in IT and over 10 years in cloud computing, ScienceSoft can help with:
Application modernization and migration consulting
- Analyzing business needs behind migration, the application (application portfolio) and the related infrastructure.
- Estimating TCO and ROI.
- Planning a migration/modernization.
- Designing a target app architecture.
- Choosing the cloud platform, CI/CD tools, data storage option, etc.
- Advising on cost-effective management of modernized applications, and more.
Application modernization and migration implementation
- App migration/modernization strategy.
- Iterative app modernization (including legacy re-engineering and re-architecting).
- Public/private/hybrid cloud app migration.
- Decommissioning of old applications/unnecessary software parts.
- Managed cloud services (ensuring app availability, stability, security, cost optimization, evolution).
ScienceSoft as a Reliable Application Migration Partner
ScienceSoft has successfully migrated our product from onpremises Microsoft Access to cloud-based Microsoft SQL Server, ensuring uninterrupted, smooth operation and high availability of HR in the new infrastructure.
Communication with ScienceSoft was always fast and solution oriented. Their developers are highly motivated and skilled.
Peter Hermann, CEO , ZEITundZUTRITT GmbH
Why Migrate Apps with ScienceSoft?
- Over 10 years of experience in cloud development and migration.
- Expertise with in-depth app modernization and different migration approaches (can be specified after describing projects suggested for CSs).
- Experience in modernization and migration of application with complex business logic.
- 15 years’ experience in ITSM.
- Up to 70-90% automation in our migration projects.
- ISO 9001 certified quality management, ISO 27001 certified information security management.
- 10 years in applying DevOps practices.
- Migration processes are compliant with specific security regulations (SOC, PCI, HIPAA, GDPR, GLBA, etc.).
- ScienceSoft is a 3-Year Champion in The Americas’ Fastest-Growing Companies Rating by the Financial Times.
Core Skills in our App Migration Projects
Project Manager
- Planning the app migration project, assigning tasks to the migration team and overseeing tasks’ execution.
- Making sure to provide stated project deliverables on time, on budget and of the required quality.
- Timely updating required stakeholders on the migration project progress.
- Communicating with cloud providers, SaaS vendors (in case of enterprise apps), and other vendors.
Business Analyst
- Analyzing business needs triggering the need for migration.
- Defining the migration scope.
- Eliciting migration requirements.
- (optional, for software product migration) Planning the transition to a new business model (e.g., when switching to SaaS).
(Cloud) Solution Architect
- Drawing up technical requirements for applications under migration.
- Designing a new cloud environment and how cloud features will be configured and implemented.
- Deciding on the migration approach (rehosting, replatforming, refactoring, etc.) and the new app architecture.
Software Engineer
- Applying modern architecture patterns (cloud-native, serverless, etc.) and fitting cloud services to an application under migration.
- Refactoring and containerizing an application under migration or application parts.
Developer
Code audit of an app under migration, re-coding or introducing code changes. For a repurchased app – configuring and customizing an app to meet new business needs.
Database Engineer
- Helping decide on the target database platform.
- Implementing data migration tools.
DevOps Engineer
- Incorporating an infrastructure-as-code approach.
- Optimizing orchestration.
- Automating deployments, incl. introduction of automated testing, CI/CD pipelines.
- Select and configure tools to monitor performance of a migrated app, detect issues, and provide alerts when those issues arise.
IT Security Specialist
- Making security recommendations at each stage of the cloud migration process.
- Setting up network security, access control mechanisms, monitoring and event management for a migrated app.
Sourcing Models for Application Migration
The entire migration process is in-house
Pros:
- Full control over the migration process and team productivity.
Cons:
- Migration activities can require specific skills that will not be needed after migration.
- (for enterprises) IT department may have to give up other priority projects to carry out migration/modernization.
- All hiring and managerial efforts are on your side.
Partial or full outsourcing of technical resources
Pros:
- Quick project ramp-up.
- Optimal resource utilization.
- Wide migration expertise of the outsourced team helps anticipate possible problems in migration.
Cons:
- Partial or total project team coordination, quality control and risk management are required from your side.
Full migration process outsourcing
Pros:
- A vendor assumes full responsibility for the team assembly and management and the quality of migration.
- Established migration planning and execution.
Cons:
- High migration/modernization vendor risks.
Benefits of App Migration with ScienceSoft
No long downtimes during migration
To minimize operational downtimes, we split the cloud migration process into clear, manageable parts and are always ready to roll back. Also, we employ automated tests to check the changes promptly, frequently and comprehensively.
Reduced migration and consumption costs
We devise a pragmatic cloud migration strategy to cut down on development costs. We automate resource orchestration and select cloud services to reduce cloud consumption costs.
Safe migration of legacy apps
To smoothly substitute the legacy application, we mine business rules from existing application code and documentation, investigate code dependencies and component integrations. We readily cooperate with IT departments and other employees as well as third-party vendors, customer's partners, and other people knowledgeable of the application work.
Reliability
We design failure-proof cloud apps backed with app performance management processes to enable troubleshooting activities without interrupts and suggest app recovery techniques.
Cloud Environment We Recommend for Application Migration
At ScienceSoft, we primarly choose one of the Big 3 cloud platforms to migrate apps to:
Amazon Web Services
Best for: migrating large-scale applications
Description
- For 10 years in a row, AWS has led Gartner’s vendor evaluation for both cloud infrastructure and platform services.
- 175+ services (IaaS, PaaS, SaaS).
- 77 availability zones to deploy applications in for enhanced fault tolerance and low latency.
Microsoft Azure
Best for: migrating apps with strict compliance requirements
Description
- Second in Gartner’s Magic Quadrant for Cloud Infrastructure and Platform Services.
- 200 + services (IaaS, PaaS, SaaS).
- 60+ availability zones for application deployment.
- Offers industry-best 99.99% VM uptime.
- Has industry-largest 90+ compliance certifications.
Google Cloud Platform
Best for: migration projects requiring app containerization
Description
- Third in Gartner’s Magic Quadrant for Cloud Infrastructure and Platform Services.
- 100+ services (IaaS, PaaS, SaaS).
- 73 availability zones to deploy applications in.
- A strong offering in containers (Google Kubernetes Engine fully managed by the Google SRE (Site Reliability Engineers) team; Google Cloud Run, etc.).
Pricing
Cost of Application Migration to the Cloud
Major migration cost factors
|
|
Major post-migration cost factors
- Infrastructure costs, monthly/yearly application and its infrastructure support and maintenance costs.
- IT support team training.
The cost of application migration to the cloud ranges between $5,000 and $100,000. The cost of lift-and-shift migration of one application starts at $5,000 while the migration requiring application re-architecting costs $20,000–$100,000 depending on app complexity. The final app migration costs will also include the price for new infrastructure and cloud platform services.
Need to plan your app migration budget?
Want to Understand the Cost of Your Cloud Migration?
Please answer a few questions prepared by ScienceSoft's consultants.
Within 24 hours, our team will carefully review your cloud migration needs and calculate a custom quote. We'll send it to your email completely free of charge.
Our team is on it!
ScienceSoft's experts will study your case and get back to you with the details within 24 hours.
About ScienceSoft
With 34 years in IT, ScienceSoft is an established US-headquartered provider of cloud migration and app modernization services. Our approach to application migration resides in maximum migration automation and gradual transition from one stable state to the next, which helps migrate applications with minimal disruption, fewer risks, and lower costs. As the holder of ISO 9001 and ISO 27001 certifications, we rely on mature quality management and guarantee the cooperation doesn't pose any risks to the customers' data security.