Thumbs up picture

Cloud Migration: Lessons From Cyber Trenches and Foundries


Key considerations for developing a sound cloud migration strategy

The cyber world is witnessing rapid changes in technology and business processes. The millennial or digital-native companies have lived on the cloud from day one.  However, the legacy companies do not have that advantage.  They are required to cloudify without impacting their existing business operations.  Cloudification provides an opportunity to companies of all kinds to reengineer their business processes.  It helps ensure system availability, data protection, and smooth rollback/recovery.  Most importantly, it offers improvement in overall operational efficiency.

System Integrators

The technology market is flooded with System Integrators who claim to have expertise in cloud migration.  Companies need an experienced partner who can devise an appropriate migration strategy and ease their journey to the cloud.  They need a partner who will travel with them through thick and thin with a stake in the success.

Cloud Migration: Key Considerations

CES is a System Integrator that has successfully guided customers in agribusiness, bioscience, ecommerce and other industries to migrate to cloud.  In our experience, the following aspects must be considered in developing a strategy for cloud migration.

  • Planning:  It is important to develop a prioritization framework for determining the order in which the business applications should be moved to the cloud.  A good prioritization framework is risk-weighted and ROI driven.  It takes into consideration all the key parameters that influence the success of an implementation.

A wholistic approach to doing this would be to consider prioritization of technology stacks, technology tiers, business functions, and applications.  In determining whether the migration approach should be a lift-and-shift or cloud-native development, consideration may be given to decoupling the front-end from the backend and migrating them independently. 

A good prioritization framework is risk-weighted and ROI driven.

  • Architecture:  Certain applications or certain parts of the technology stack may need to be retained or re-written or retired.  We should consider pros and cons for options like – Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Function as a Service (FaaS), Backend as a Service (BaaS) – in reimagining the future business and technology architecture.

Breaking application architecture into micro apps and micro services via Domain Driven Design (DDD) would be worth considering. Large monolithic applications are hard to maintain and scale. Newer applications follow the micro services-based architecture. The front-end and mobile applications can be broken in micro apps for specific functionality. This eliminates single point of failure, reduces down-time, improves performance, increases scalability, etc.  This also helps bring the cost of infrastructure down as many smaller instances are generally cheaper than one large instance of combined capacity.

  • Platform Vendor Selection:  AWS, Azure and Google are the main Cloud Service Providers.  However, depending on the business need, consideration may be given to niche providers like Rackspace or even a more traditional IBM if it makes compatibility and economic sense. 

Then, there could be a need to migrate thick-client desktops to the cloud and access them via VMware for easy portability and/or security reasons.  An experienced SI should be able to review your compute, storage, and bandwidth needs and recommend the right platform vendor.

  • Methodology:  An iterative or agile methodology is suited for modern application development.  In deciding the right methodology, companies may need to assess their resource skill level as well as the systems documentation quality.  For instance, if the system documentation levels are low, which is normally the case for traditional companies with legacy systems, Test Driven Development (TDD) approach would be a suitable methodology for Cloud Migration.  This would ensure that a verifiable Definition-of-Done (DoD) has been documented and agreed upon upfront.
  • Technology: The technology selection is perhaps the most difficult decision to make because of the existence of a plethora of technologies in the market with every technologist having their own favourite.  There are proprietary software and community-supported open-source software to choose from.  We have technologies like .NET Core, Node JS, Python, Java, RoR, etc. for the backend and have Angular, ReactJS, VueJS, Blazor, etc. for the frontend of applications.  A good SI will provide an unbiased advice on what technology would fit best in an organization.
  • Teams: The technology and domain skills of individuals is an important consideration.  It helps in determining the number of sprints, the size of scrums, the throughput of teams, defining milestones, etc.  This assessment also helps in determining skills gap, training and sourcing requirements.  The IT departments should work closely with the HR department in this assessment.
  • Other Considerations: There are other aspects like company policies, security, operating procedures, regulatory requirements, maintainability, etc. to keep in mind as well.  Data backup and data retention policies, down-time requirement, user base, geographic presence, etc. are also important considerations in developing a good cloud migration strategy.

The TDD approach ensures a verifiable Definition-of-Done (DoD) is documented and agreed upon upfront.

An Ideal Partner for Cloud Migration

An ideal SI partner would have experience and a proven cloud migration framework to assess and develop a tailored strategy for the needs of any IT department.  They would take into consideration the combination of people, processes, and technologies to develop the right tools like, checklists, templates, calculators, reusable assets, etc. to expedite the migration process.

An experienced Cloud Migration Partner will help you evolve into a “Cloud Native” IT department.  Cloud Native computing is helping companies upgrade existing applications, build new applications, and deliver automated services across private, public and hybrid clouds faster.

For more information or a conversation on Cloud migration, please contact  If you are interested to know how CES can help  you in your cloud journey, get in touch with us at