NashTech Blog

The Approach to Successful Cloud Migration at NashTech

Table of Contents
Service and Resource Management in Cloud Optimization

Why should you move to cloud?

Cloud computing has become very popular now especially in application development area. Even in finance and banking segment, we also see enterprises start leveraging it. So, there is no doubt to say that it brings lots of motivation including:

  • Accelerating the development cycle for teams. This is crucial for business, where time to market is the critical factor for success.
  • Unlocking access to modern infrastructure, enabling companies to utilize the latest models with sustainable resources that enhancing computational capability while reducing energy consumption. This leads to improved availability, scalability, and sustainability.
  • Achieving better cost efficiency over time through proactive cloud financial management.
Figure 1 - Cloud Migration Motivations and Challenges
Figure 1 – Cloud Migration Motivations and Challenges

The Top-3 Challenges

Despite the promising opportunities, there are three main challenges that can significantly impact these motivations:

  • Legacy System Compatibility and Data Integrity: Migrating from legacy systems is complex, as incompatibility may arise due to the difference in architecture, APIs, and data formats.
  • Security and Compliance Concerns: These are crucial for any system, especially the data perspective. It is critical to securely transfer and store data during migration and afterward. Moving sensitive data to the cloud requires robust security measures and careful consideration of the data object lifecycle.
  • Cost Management and Optimization: while many expect a return on investment in cost savings when migrating to the cloud, the initial migration cost can be higher than anticipated. Unforeseen expenses, such as data transfer, idle resources, storage usage, and recycling, can impact your bill and budget. Additionally, a lack of in-depth knowledge of service usage and pricing models can cause further complications.

NashTech ‘s Incremental Approach

At NashTech, we believe in bringing the value through technology and people. So, we are convinced that a successful cloud journey begins with a bold first step to accelerate the business transformation. The way we address those challenges by creating a unified incremental approach that helps:

  • Evaluate the current state of the applications in detail.
  • Plan the migration integrations in precise way.
  • Provide proficient cloud knowledge resource to help speed up the journey.
Figure 2, NashTech Incremental Approach
Figure 2 – NashTech ‘s Incremental Approach

The approach involves a workflow with four main stages:

  1. Discovery: In this stage, we focus on understanding the key business objectives and stakeholders’ visions, establishing the scope of applications/systems to be migrated, their priorities, and their current states.
  2. Planning: Based on your business case, we set a timeline to ensure timely completion. Engineers often seek to modernize and upgrade runtimes at this stage, but these activities can add complexity. To manage this, we remove old dependencies and unused libraries, replacing them with cloud-native services like logging frameworks. This depends on the current maintenance of the runtime/platform. If feasible, it’s also an opportunity to upgrade platform/library versions. Additionally, we set up the landing zone to provide foundational components and baseline operating models.
  3. Migration and Testing: This stage involves moving application components to the cloud provider environment, starting with low-impact elements and then moving to data and application parts. Verification includes data integrity testing, end-to-end testing, integration testing, performance testing, and security testing. Continuous data replication occurs until all criteria are met, and a “cut-over” plan is arranged.
  4. Fine-tuning and Improvement: At this stage, the application is fully migrated, and we begin leveraging cloud services for further enhancement. We use collected operation metrics to fine-tune configurations, right-size workloads, and review cost usage to implement compute saving plans.

The Strategies and Directions

6-R Approaches

Figure 3 - The 6R Strategies
Figure 3 – The 6R Strategies

According to Gartner and major cloud providers such as AWS and Azure, there are six main strategies to consider when planning a migration (Figure-3):

  1. Retire: Terminate applications that are no longer in use to free up infrastructure space and achieve immediate cost savings.
  2. Retain: Bypass certain workloads that require resources but offer no significant benefits to save time and effort. These applications will be retired or replaced later.
  3. Rehost: Redeploy applications as-is to the cloud environment using a lift-and-shift approach. Collect application portfolio and inventory requirements as a baseline for launching relevant instances in the new environment.
  4. Replace or Re-purchase: Replace existing applications with new ones, often SaaS solutions that offer better business functionalities.
  5. Re-platform: Slightly alter application code and update configurations to adapt to the target cloud platform. This approach typically reduces licensing costs and improves disaster recovery capabilities by leveraging cloud-managed services.
  6. Re-architect or Rebuild: Decompose applications into smaller services or rewrite them using a cloud-native approach to fully utilize cloud capabilities and technologies, thereby accelerating the innovation process.

Our Recommendations

When planning, we recommend using a decision tree (Figure-4) to quickly and confidently select the best approach for migrating applications. In NashTech Vietnam, we typically follow these questions for each target application:

  • Is the application still aligned with long-term business objectives?
  • Does the application still benefit the business?
  • Is the application critical for business operations?
  • Is there an alternative COTS or SaaS available?
  • Is there a compatible PaaS available?
  • Can the migration process be automated?

By answering those questions, we then map the migration opportunity for each application into two primary pathways: Migrate and Re-architect.

Figure 4 - Migration Options Decision Tree
Figure 4 – Migration Options Decision Tree

Additionally, we should evaluate key indicators and drivers to support the decision, such as time constraints, the application transformation roadmap, and the business objectives (. e.g. utilize more cloud services, accelerate innovation).

Figure 5 - Migration Recommendations - Additional Indicators and Drivers
Figure 5 – Migration Recommendations – Additional Indicators and Drivers

A Typical Sample

Refer to Figure-6, which illustrates a typical 10-week migration sample leveraging the incremental approach. Each step involves the necessary audience, with the seniority level of members based on the complexity of the targeted solution.

Figure 6 - A Typical Migration Sample
Figure 6 – A Typical Migration Sample

Our Migration Pathways

Let’s explore what Migrate and Re-architect pathways entail.

Migrate Pathway

This pathway aims to migrate the application to the cloud with minimal changes to the code or structure. We divide this process into four main components: Application, Database, Document/Media Files (Static Resources), and Cache. Each component has its own suitable options and related services.

For example, if the application component is already containerized, we can simply redeploy it. If containerization is feasible, then we can containerize the workload. In cases where the component needs to support a legacy library or custom operating system, a lift-and-shift approach is more appropriate.

Figure 7 - Migration Pathway in AWS
Figure 7 – Migration Pathway in AWS
Figure 8 - Migration Pathway in Azure
Figure 8 – Migration Pathway in Azure

Re-architect Pathway

On the other hand, this pathway focuses on restructuring the application using a cloud-native development approach, enabling the team to adopt new cloud-managed services and access modern technologies.

We typically consider three architecture styles with this pathway: Containerized, Microservices, and Serverless. Each has its own strengths and drawbacks. In practice, we often develop a hybrid solution to leverage the advantages of each style for different workload components.

Figure 9 - Re-architect Pathway in AWS
Figure 9 – Re-architect Pathway in AWS
Figure 10 - Re-architect Pathway in Azure
Figure 10 – Re-architect Pathway in Azure

Conclusion

In summary, cloud migration offers numerous benefits, including enhanced scalability, improved performance, and significant cost savings. However, the success of the migration hinges on selecting the right approach tailored to your specific business needs and application requirements. Moreover, modernizing applications to adopt a cloud-native development model, organizations can fully leverage cloud-managed services and cutting-edge technologies, driving innovation and maintaining a competitive edge. Thoughtful planning and strategic decision-making are crucial to navigating the complexities of cloud migration and achieving long-term success.

References

Picture of Tien Nguyen

Tien Nguyen

Tien is an Engineering Manager at NashTech Vietnam. With several years of experience in the field of software development, he specializes in web development and modernization, have extensive knowledge of open-source technology stacks. He also passionate about AWS cloud services and software architecture.

Leave a Comment

Your email address will not be published. Required fields are marked *

Suggested Article

Scroll to Top