Stages, Timeline, Skills and Cost Factors
In IT since 1989 and with 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 $50,000 for a small application and around $200,000 - $500,000 for a medium/large application
Team: A project manager, a business analyst, a (cloud) solution architect, software and database engineers, IT security specialists, and DevOps engineers
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.
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.
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.
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.
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.
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.
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.
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.
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.
With 33 years in IT and 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.
- 14 years’ experience in ITSM.
- Up to 70-90% automation in our migration projects.
- ISO 9001 certified quality management, ISO 27001 certified information security management.
- Microsoft Gold Partner with 9 Gold Competencies.
- AWS Select-tier Consulting Partner.
- 9 years in applying DevOps practices.
- Additional AWS and Azure discounts and priority access to AWS and Azure technologies and services.
- Migration processes are compliant with specific security regulations (SOC, PCI, HIPAA, GDPR, GLBA, etc.).
Selected App Migration Projects by ScienceSoft
Accounting Software Migration to Azure Cloud
- Application re-engineering.
- Moving from desktop to web and cloud (Azure) and redesigning into SaaS with stateless multi-tier architecture.
- Adding new functionality.
- Lessening the operating cost through placing audit log in a low-priced Azure Table storage.
- 100% uptime.
Ecommerce Ecosystem Migration to Amazon Cloud
- Migrating several services (a web portal, statistics, payments, commission, mailings and others) running on 20 dedicated servers to AWS (Amazon Web Services), thus ensuring scalability of the Customer’s services.
- Distributing the data used by one application among a number of external storages, such as Amazon S3 (Simple Storage Service), RDS (Rational Database Service) and DynamoDB (NoSQL database service).
Training Portal UI/UX Design and Cloud Migration
- Stabilizing the existing application.
- Handling a smooth functional modules migration to Azure cloud.
- Enhancing the overall performance of the web application.
- 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.
- 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.
- 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.
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.
- Helping decide on the target database platform.
- Implementing data migration tools.
- 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.
The entire migration process is in-house
- Full control over the migration process and team productivity.
- 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
- Quick project ramp-up.
- Optimal resource utilization.
- Wide migration expertise of the outsourced team helps anticipate possible problems in migration.
- Partial or total project team coordination, quality control and risk management are required from your side.
Full migration process outsourcing
- A vendor assumes full responsibility for the team assembly and management and the quality of migration.
- Established migration planning and execution.
- 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.
We design failure-proof cloud apps backed with app performance management processes to enable troubleshooting activities without interrupts and suggest app recovery techniques.
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
- 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.
Best for: migrating apps with strict compliance requirements
- 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
- 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.).
Taking into account the required human resources, the cost of cloud migration for a small application will around $50,000 and for a medium/large application will be around $200,000, in case there are no legacy platforms or languages involved and no complicated code conversion is needed. The final app migration costs will vary greatly depending on the migration project specifics and will also include the price for new infrastructure and cloud platform services costs.
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.
With 32 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.