Cloud migration involves moving data, applications and processes to the cloud. This can be from on-site implementations like owned servers, or from another cloud host. Moving to the cloud can be daunting, especially if you haven’t made the transition before. Even if you’re familiar with cloud computing, planning and executing a migration still requires forethought and strategic, as well as technical, consideration.
In this post, we’ll look at the reasons to perform a cloud migration, the different ways cloud computing can work, and a pre-launch checklist for a stable, safe and secure cloud migration.
Why perform a cloud migration?
Migrating to the cloud from an on-site server
Moving from your own server room to the cloud means your IT becomes more secure, more adaptable, and more accessible.
Major cloud providers offer enterprise-grade security and compliance features as standard. Amazon’s AWS, one of the most popular, delivers workflow integrations for permissioning, automated compliance, and ‘all data flowing across the AWS global network that interconnects our datacenters and regions is automatically encrypted at the physical layer before it leaves our secured facilities.’
Cloud is much more scalable than on-site or owned solutions, because it’s an operating rather than a capital expense. When loads increase, buy more bandwidth; when they fall, scale back.
Suppose you’re a business, and it’s 2019. Black Friday is going to test your equipment to the limit; you might need to upgrade, a major capital expense. In a normal year, that equipment might sit idle until Christmas or until next Black Friday: sunk money, depreciating while it earns you nothing. But we know that’s not what happened. Instead, some businesses, like ecommerce, got a totally unforeseeable explosion of customers. Others had to weather over a year of radically reduced receipts. In both cases, cloud would have let those businesses manage their money much better.
Moving to another cloud platform
Some businesses already run their operations partially or fully in the cloud. But they need to move to a different cloud platform. Most cloud providers offer SaaS, PaaS, and IaaS services (more on these below), so it’s relatively unusual to seek to change vendors to access these. Since all the major cloud providers can essentially get you as much data storage space and computational resources as you’re ever likely to need, those are seldom the reasons.
Instead, it’s likely to be because:
- You’re looking for a different cloud structure — moving from private to public or hybrid cloud, for instance (more on these below too).
- You’re looking for the advantages of a specific technology used by a single vendor. For instance, AWS is increasingly able to offer customers access to its own processors and a range of AI tools. Meanwhile, Microsoft offers a greater range of edge devices such as the Azure Stack Edge Pro R, a ruggedized data-center-grade device with a built-in NVIDIA Tensor T4 GPU, available in a portable transit case and has an optional Uninterruptable Power Supply, for storage, compute, virtual machines, and Kubernetes workloads. Which of these vendors you select would depend a lot on which of their specialized features appealed.
- You’re looking for a better fit between stack layers. If you use Office 365 SaaS products, Azure might be a better cloud provider for you than IBM.
Two approaches: replatform or technical migration
Cloud migration can take two broad approaches.
Move your existing applications and databases to the cloud, either simply rehosting them or improving their functionality at the same time. This approach is less ambitious, and can be a simple ‘lift and shift’ that leaves user experience and functionality largely unaffected. It makes sense if your chief concerns are around security, modernization, reliability and accessibility. But it doesn’t leverage the full potential of cloud computing.
Cloud computing allows for far greater automation and scalability than conventional on-site servers. Technical migrations seek to take advantage of this, leaving your data intact and mission-critical applications accessible while seeking to enhance functionality and data value, including by restructuring data and transforming applications, operating systems and databases.
Four structures: Public, private, hybrid, and multi-cloud
Cloud computing can be done in several different ways. You can have a single cloud, hosted on servers that you control directly. You can use public cloud. Some businesses opt for a mix of both and an increasing number turn to multi-cloud implementations.
Public cloud is cloud computing delivered over the internet, and shared by multiple organizations. Public cloud data centers are owned by a major supplier (often Amazon Web Services or Microsoft Azure, Google Cloud or Oracle). They virtualize your servers, with backups and failovers, and they own, control, and manage the hardware.
Public cloud is characterized by high elasticity and flexibility, and by typically low-cost subscription pricing models. It’s well-suited to both predictable demand scenarios like provisioning an organization’s IT, and peak-and-trough demand. Cost is agile and involves no capital expenditure. However, you don’t get much technical control.
Private cloud is devoted solely to your organization. You lose some benefits — easy scalability, SLA-backed uptime — but you gain control and privacy. The privacy benefits can be overstated, since many public cloud provisions are end-to-end encrypted, but private cloud can be a better option from a compliance viewpoint too.
Private cloud is characterized by efficiency, exclusivity, and control. You can scale without trading off security, so it’s well-suited to organizations that have specific security needs as well as to larger enterprises or those that need custom security and compliance arrangements. It gives you control, including technical control, but the price is higher than public cloud, scalability is infrastructure-dependent, and mobile access usually suffers as compared to public cloud.
A cloud environment that uses a mix of both public and private clouds, hybrid cloud is highly scalable and flexible, but includes compatibility and integration issues. It’s usually selected for specific purposes such as when there are two distinct workflows with very different requirements. If a business has a client-facing network that must be mobile-friendly and accessible, together with a staff-only network that must be highly secure, hybrid cloud can be a good solution.
Hybrid cloud offers flexible policy-driven deployment, reliability and cost control, but can be more complex to implement.
Where hybrid cloud uses two types of cloud, multi-cloud uses two cloud implementations, sometimes from different vendors or having different specifications. Multi-cloud implementations are not connected, so multi-cloud and hybrid cloud are mutually exclusive at the same level. But many businesses have multiple clouds, some of which are hybrid clouds. Controlling cloud sprawl is a key CIO concern as complexity and size of implementations proliferates. Common reasons to choose multi-cloud include proximity issues in large, distributed organizations, flexibility and failover.
Three service models: SaaS, PaaS, and IaaS
Cloud computing can be serviced in several ways. The difference lies in how far down the stack you want your cloud implementation to reach.
SaaS (Software as a Service) cloud accounts for about 24% of all cloud implementations. These are SaaS applications running on cloud infrastructure. So you might run your business on G Suite, SalesForce and Mailchimp, with a little ZenDesk and Docusign. Running those same applications through a public or private cloud implementation is SaaS cloud. It’s quick to adopt and simple, but relatively inflexible and hard to customize.
PaaS (Platform as a Service) cloud computing involves running a bundle of applications and the computing they depend on, all on the cloud. This is taking the same idea as SaaS cloud and going a layer deeper, using tools like AWS Elastic Beanstalk, Heroku, Windows Azure, Force.com, OpenShift, or Apache Stratos.
The most popular PaaS options are data warehouse, relational database as a service (DBaaS) and container-as-a-service.
Infrastructure as a Service cloud implementations involve buying access to infrastructure elements, then building enterprise stacks on them. You’ll move elements like physical computing resources, location, data partitioning, scaling, security, and backup to the cloud, then provide access to them via high-level APIs.
Preparing for cloud migration
Cloud migration is best done with a trusted partner who can supply the technical expertise and experience, and translate your business goals and operational requirements into appropriate tools, platform and process choices.
At a minimum, look for:
- 100% uptime through the migration process. You should never have to compromise access to mission-critical applications and data to migrate to the cloud. Companies who know what they’re doing will build your new structures while you use the old, then seamlessly migrate you over.
- 100% security. Cloud implementations are much more secure than the average on-site server system, but your data can be less secure during the process of migration. Go with an experienced and competent company and this shouldn’t be a problem; we routinely perform cloud migrations with 100% uptime and security, so data is never lost, exposed or inaccessible.
There are three key areas of preparation for cloud migration:
Before a cloud migration begins, it’s crucial to make technical decisions like identifying technical requirements, choosing an appropriate level of cloud integration, and selecting or constructing the right cloud environment to suit your business needs.
It might also be necessary to purchase some new equipment or to prepare to dispose of some old equipment after migration is complete. IT staff might need some technical preparation of their own, depending on how up-to-date their skills are and the role envisioned for them after migration.
Technical considerations include:
- Level of integration: are you moving your current set-up onto the cloud but otherwise leaving it unchanged (‘lift and shift’)? Or are you planning to extensively modify functionality and even business practices at the same time?
- Cloud type: Are you going with a single cloud provider or with multiple providers? Will you need hybrid implementation?
- Migration KPIs: What will you measure to check that you’re on course? How will you measure success? You should consult with your migration partner to identify appropriate KPIs for your project, but these are common cloud migration KPIs:
- Application performance: throughput, availability, and match-up with customer expectations
- Infrastructure: CPU usage percentage, disk performance, network throughput, and memory usage
- User experience: application lag time, page load time, session duration, response time
Determining how and whether to migrate to the cloud is a strategic business decision, not an IT decision, even if you’re only doing a ‘lift and shift.’ Considerations for cost-benefit analysis of cloud migration include:
- Cost of additional internet bandwidth to support cloud implementation
- Cost of modifying or reconfiguring applications
- Cost of on-site hardware purchase, maintenance and replacement, as against cloud subscription costs
- Expected changes to business conditions, such as mergers, acquisitions, physical moves, and expected changes to technology and markets
- Expected future growth in data volume and application demands, and the expected cost of provisioning these with cloud vs on-site solutions
Data wrangling for cloud migration
Migrating data to the cloud is an ideal opportunity to assess, clean and potentially discard data. This is future compliance, data organization, and accuracy, all being built before you even begin your migration.
Many businesses have lakes of unstructured data that’s accessible but never accessed, and duplicated or out-of-date data. Moving to the cloud can let you finally access some of the value of this data, applying modern data tools to unsorted, unstructured data lakes. But it’s also smart not to move data that you’re better off permanently deleting.
If you don’t have the time and resources for a full data clean and assessment, and you’re not planning on using big data techniques to extract value from it, try to identify the 20% that delivers 80% of the value and consider dumping the rest.
Cloud migrations and security
In a 2021 survey, 77% of CISOs agreed that the only way for security to keep up with modern business infrastructure is by using automation. Cloud migration can result in a far more secure enterprise — but the process of migration can create vulnerabilities. The cloud is also not automatically secure, it has to be made that way through best practice. For instance, all cloud databases can be encrypted, and all should be; but 49% are not.
Along with automation comes the risk of automating the wrong actions. Misconfigured identity and access management protocols make cloud databases and applications vulnerable, yet 73% of AWS-based implementations are misconfigured.
If you devote little time to planning, your migration could take a long time. If you put the work in at the planning stage, execution will be relatively simple and fast. A detailed plan that identifies and mitigates risks and lays out a roadmap and timeframe makes migrations smooth.
Such a plan should include:
- How your data will be transferred: small data volumes can simply be piped over the internet, though this does need to be done securely. Larger volumes can be prohibitively slow to move. It can be quicker to make the transfer by hardware using hard drives.
- When your data will be transferred: It’s best to transfer data outside of working hours, but many businesses don’t really have those anymore. If you’re up 24/7 or you have large volumes of data, you can use a two-step approach to data transfer:
- Select a date for the majority ‘bulk’ transfer, moving your data to the new implementation.
- After this is complete, upload only the changes between the bulk upload and the current state of your systems immediately before the cloud implementation goes live.
- How your applications will work: the applications that use your migrated data might need to be modified to point to the new data location. This can be a simple process, though obviously one that needs to be done accurately, but it can also run into roadblocks. Some applications, particularly proprietary ones, can have hard-coded data connection strings which must be coordinated and tested before the migration date.
- How will you bail? Even the best plans can fail. What if you find you need to back out of your migration temporarily? Have a back-out plan that leaves you with working applications and access to your vital data, and predefined triggers for it.
- How will you know if your migration was a success? Develop a test plan that covers:
- Applications that rely on the migrated data continue to work as expected, including under pressure
- Data can be accessed easily
- Data was not corrupted or lost during the migration process
- Create a schedule that works backward from the day your cloud implementation goes live, identifying tasks to be done and making a real person responsible for each task. Be as detailed as reasonably possible and include periodical checkpoint meetings where staff meet and verify each others’ progress.
- How much do your customers know about your cloud migration? Tell them ahead of time, explain what they need to do, if anything, and tell them why you’re migrating. This is an opportunity to get more engaged with your customers. If it’s relevant to them, keep them updated throughout the process; if they’re a stakeholder, treat them like one.
Executing cloud migration
If you’ve planned comprehensively and sourced the skills you need to migrate safely and effectively, execution should be rapid and simple. During the process, remember:
- Watch for red flags. Be ready for things to go wrong and prepared to deal with issues when they arise.
- Keep your team, your business and, where relevant, your customers informed.
- Be ready to back out if that’s what you need.
- Test. Don’t rush or cut corners here. You want to find problems before the real world does it for you.
Cloud migration services with AndPlus
Getting a cloud migration wrong can be time-consuming and expensive. As well as dollars and hours, you can dissipate goodwill and enthusiasm for the project and stall your digital transformation or cloud adoption process.
AndPlus has been working with businesses to get cloud migrations right for over a decade. We know that with proper planning and preparation, your cloud migration can be simple and painless. And we know how few in-house IT teams are prepared to manage one.
Whether you’re seeking to migrate infrastructure, platform, databases or applications, we can help you successfully move to leading cloud platforms including Microsoft Azure, AWS, Google Cloud, VMWare, and IBM.
We’ll work with you at two levels: strategically, we’ll match your business needs and goals with the best cloud options for you. Technically, we’ll wrangle your data, create backups and fail-safes, and implement and optimize the applications you’ve selected.Featured Image Credit