The digital transformation is driving the cloudification, and cloud migrations are the core activities every enterprise is grappling with, since long time there was a debate about cloud adaptation enough water has passed under the bridge and most enterprises now have some or the other workload footprint in the cloud and others are following the suite to catchup. The Cloudification was easier for those who directly started the cloud computing as their only choice and built all applications and associated IT environments and did not have any baggage of legacy systems to worry about. However, for others this still remains humungous task to strategize and migrate. I am making an attempt to help organize few thoughts and strategies via this article about cloud migrations, what's, how's and when's? (We agree Why is already answered!)
With its healthy mix of on-demand reliability, high availability, security, and reduced operations costs, hybrid cloud implementations can be attractive. Going hybrid can sometimes give you the best of both worlds, the multi-cloud is a reality as per the RightScale 2017 state of the cloud report.
What is Cloud Migration?
Simply put, Cloud migration is a program that enables partially or completely deploying an organization's digital assets, services, IT resources, tools or applications to the Cloud from their current non-cloud environments and takes advantage of consolidation, technology refresh and reengineering opportunities thereof. Obviously based on the use case and the complexities of the "Workloads" it deserves planning, designing, preparing, testing and executing the migration.
The reengineering opportunities can span from process and workflows, code creation, re-architecture, re-design part or complete landscape of the environment wherein the workloads will reside in the cloud.
The approach, process, plan and resources required for migration thus depend on the use case and applied criteria that covers scope, schedule, cost/benefits and risk associated with such migration. The assessment and planning for workload categorization will determine how much efforts are required, duration and cost thus this is a critical milestone way before the actual migration can begin.
What are the strategic imperatives and considerations involved in stages of Cloud Migration?
There are key stages in the cloud migration journey, I would call them 9A's of cloud migration..
Awareness - Establish Understanding of Cloud Services, Benefits and available choices that can range from - Time-to-market, deliver new capabilities, platform upgrade, technology refresh, Cost Saving/Benefit, ROI, Operational efficiencies, support scalability, leverage new technology frameworks. It is prudent for any organization to remain informed about the changing landscape of this competitive market and choose the CSP ( Read, cloud service provider) wisely.
There are 6 key criteria's that can help you assess right cloud service provider..
Assessment - purpose clarity, Identifying scope, source systems, data sets, risks and mitigations and high level effort estimation, cloud models ( public, private & hybrid), CSP selection criteria
Approach & Alternatives - Migration strategy, cost benefit and technology refresh opportunities, usability, risk tolerance, differentiations, training needs, prepare business case with cost outlay, key measures, implementation planning etc, few alternatives on approaches based on Gartner framework with some of my additional R's are..
Apart from these approaches there are many tactical techniques such as bubble setups, mobile storage, migration prerequisites etc that play major part in the migration journey. If the setup have multiple themes running for different applications, hosts and databases combinations and complexities will differ from one use case to another.
For example, look at existing datacenter and remote cloud setup workloads running in parallel, all the dependent services must coexist and operate seamlessly at both locations and across all levels. This is tough task, the DNS, DHCP, IP subnets, NTP, FTP, FQDNs and VLANS demand attention to detail about each aspect and planning these is requires to be done meticulously and tested well in advance before even actual migrations commence. The test workloads are to be created and checked if they can work seamlessly with existing setup rather atomically. The rollback will only be possible if a granular control and activity isolation is applied, the databases and storage migrations take longer time and work best if they are already synchronized and working at both locations thus any traffic hitting them from both locations must be successfully tested.
The network and application teams must work in tandem and any references of hard coded IP addresses, VLAN tagging etc must be software driven, the FQDN usage rather than IP address for connecting app and web servers is recommended so use of VIP ( read, virtual IPs) for automated load balancing and host resolution via DNS makes life easier in case few workloads are operating from cloud and few from local datacenter or other cloud provider. The security policies and controls must be deployed in advanced ensuring all workloads have uniform policies and access management as a unified service to have right personnel making changes to only authorized systems and resources to safeguard datasets and configurations before, while and after migrations. All these aspects must be discussed and drafted in the plan and presented to all stakeholders along with RACI matrix to set right expectations and support.
Acceptance - The high-level stages involve Scope Sign off, Risk acceptance, Budget allocation, Resource mobilization, Governance framework, WBS - work breakdown structure, POA - plan of action, vendor negotiations, GO/No-Go.
All of these tenets must be dwelled upon before making the informed decision and commence the work, typically very few migrations are completed well within the cost, effort and time estimated since multiple activities are involved and there could be surprises on compatibility and integration aspects even if it is lift and shift operations the data migration over internet, conversion of physical to virtual workloads, capacity of customers own infrastructure ( typically many organizations still run on 1G ports and thus limit the data transfer) and many such nitty-gritty's unless a very detailed WBS is created and validated on such aspects. Many cloud providers do not have their own teams to help execute these migrations and advise customers to leverage professional services and thus any delay due to bottlenecks will escalate cost and timelines.
Adoption - Contact award, BoM & SoW, training & upskilling, Technicalities of user access, integration / API gateways, prerequisite services and security thereof.
Technical blue printing and deployment & security architecture, feature validation and risk handling. A systematic approach towards application, system and security architecture pre and post migration helps capture all dependencies, changes and prerequisite validations as discussed above. The activities involved must be done by Application and IT teams together and debated to surface weak links of assumptions, any external agency delivering value as part of the workflow must also validate their bit to avoid last minute who will do what questions during execution.
Acclimatization - Pre-production POCs / Test setups of few services, users and functionalities, integration validations and change management, UAT. It is said that a POC likes of production helps visualise the functionality and UAT sign-off from the person accountable provides confidence, this step is mostly avoided in over confidence and might be risky while implementation. A good period of POC helps allowing it to maintain performance across a range of environmental conditions before actual production workloads are migrated, this might not be applicable for forklift kind of operations but still recommended since the environment is new and toolsets differ from legacy on premise data center to cloud. A written acceptance criteria and UAT as a checklist will help validations and sign offs resting accountability with identified stakeholders.
Action ( Read, Actual Migration)- Application virtualization, Migrate data, services and users, monitor utilization and availability, feedback and fine tuning, Final UAT, Failover to cloud. This is the actual phase of migration wherein the workloads and data is moved, most cases the seeding of data replication is set well in advance and as the databases get synchronized a cutover is planned, that static images or templates of application and web instances is made ready but only activated when databases are up and running in the cloud. Let us look at three aspects of migrations, Application workloads, Database workloads and File Servers or Storage Migrations.
Abstraction - Resource pooling, server & storage consolidation, application reengineering, App containerization etc The Cloud computing is fundamentally an abstraction based on the notion of pooling physical / bare metal resources and presenting them as a virtual resource to the workloads consuming them. It logically separates the workloads from the physical hardware resources and enabled dynamic allocation, consolidation and thus abstraction of the infrastructure resources such as compute, memory, storage, network, bandwidth and even at instance level allocations of services etc. it is crucial to envisage the end state of an application and even re-engineering the application architecture to become cloud native and adopt modern frameworks, technologies and code reviews to harness benefits of cloud and distributed architecture at design level. The micro services and server-less computing trends are driving the application architecture in a completely new paradigm and porting the business logic directly onto cloud provides equal opportunity to rethink, redesign and render applications and ecosystem in entirety.
Automation - policy based provisioning, optimization, auto scaling, fail-overs, business continuity and self-service etc. Cloud benefits are proven and adaptions are increasing day by day, the digital transformation demands agility and availability and kind of self-healing ability that is delivered via horizontal and vertical scaling of resources and services, enable multi-location, multi-tenant and multi-mode operations with native capabilities of cloud offerings. The automation in the technologically advanced streams such as Artificial intelligence, Internet of things, Big data and all resting on the principle of distributed always on cloud resources and CI/CD development environments. This is driving the adaptation as well as pushing the features and functionalities of cloud orchestration and abstractions beyond imagination.
In summary, the good strategy of cloud migration provides greater business benefits via efficiency, performance and scalability and reduces manageability and clutter of service management simplifying the usability of applications for consumers. The value proposition of cloud still depends upon the approach and risk-taking ability to fast forward technology adaptation for the organization, it is going beyond lowering costs, ease of utilization, quality and reliability of services, maintainability and simplified pay-per-use opex models. To reap these benefits, one must start and look at what they need to carry to the cloud and discard gracefully building alternatives on the cloud taking calculated risks yet balancing the data portability and security of data assets of the organization!