Finding the Right Cloud Migration Solution and Provider
The cloud offers several solutions that fit any enterprise requirement including compliance. An organization can run entirely in the cloud or have a hybrid model where specific components run in the cloud and others stay on-premise. A hybrid environment can be broken down into additional models that help determine the goals for an organization migrating to the cloud. Once you’ve determined the migration solution that best fits your goals, you can then determine the cloud provider that has the tools necessary for a successful integration. We break down the 6 R’s of cloud migration and a list of benefits and strengths in all three of the popular cloud providers including Google, Microsoft, and Amazon.
6 Reasons for Migrating to the Cloud
Most users are familiar with the concepts of Software as a Service (SaaS), Infrastructure as a Service (IaaS), and Platform as a Service (PaaS). These categories define the way the organization uses cloud services, but it doesn’t give you a granular understanding of how the cloud can help with specific goals. Without defining goals, organizations don’t know which solution is the most effective for their problem.
Organizations generally have six reasons for choosing cloud migration. Migration goals could cover more than one migration solution, but goals generally fall into at least one of these six categories, more commonly known as the six R’s of cloud migration:
Re-hosting (also known as “lift-and-shift). Rapidly growing organizations potentially run out of on-premise computing resources and need a scalable solution. With re-hosting, the organization simply expands existing resources by moving a mirror image of the environment to the cloud. No real changes are made to the overall network design. Virtual machines, applications, and identity management are all mirrored at the cloud provider but with larger scalability and computing power than what was on-premise. As an example, GE Oil and Gas was able to reduce IT costs by 52% and scale their computing power to support growing requirements by moving to AWS.
Re-platforming (also known as “lift-and-optimize” or “lift-and-tinker”). In some business applications, a bottleneck could be from one resource and not all on-premise limitations. For instance, an on-premise database server could be wholly responsible for poor application production. In this scenario, it makes sense to either upgrade the database server or move it to the cloud where computing power can be greatly increased and scaled dynamically.
Migrations using a re-platforming solution require codebase changes. This consideration should be designed into the migration plan, because even the smallest code change must be tested before being deployed. In a scenario where the database changes, developers may need to redesign tables and objects to fit the new architecture.
In this type of migration, application functionality remains the same but the resources used to run it are new and improved. Application functionality remains the same, but this migration solution can be used to add improvements to existing functionality. For instance, additional monitoring and cybersecurity technology offered by a cloud provider could improve overall threat resistance within the organization.
Repurchasing (also known as “drop-and-shop”). Repurchasing solutions primarily focus on PaaS migrations. This migration strategy is generally used when the organization decides to replace an entire application with a new solution. For instance, an internal sales team could be switched from a custom sales platform to Salesforce. Repurchasing mainly requires staff training, but it could also require some reprogramming to integrate the new solution into current applications.
Refactoring (also known as “re-architect”). As the name suggests, refactoring solutions completely re-architect or redesign current application infrastructure and (potentially) the codebase. It’s the “do over” of all cloud solutions. When an application can no longer scale or does not support business needs any longer, it might be time to refactor it. Instead of refactoring using on-premise solutions, the organization could determine that cloud computing power is more beneficial.
A good example of this solution is refactoring a monolithic codebase to containers. An organization can redesign the monolithic codebase into functional parts such as billing and sales. Each part can be loaded into a container cluster. The container nodes work together as a cluster to dynamically scale during peak resource usage and scale back when resources are no longer needed.
Retaining (also known as “hybrid”). Organizations that want to experiment with the cloud or gradually discover its benefits could leverage a retaining solution. With retaining, the organization provisions some cloud resources but keeps other applications and data on-premise. This could be because an application was recently upgraded or licensing for the year has just been paid. It could also be due to apprehensions regarding cloud security, but cloud compromise is usually due to client misconfigurations and not the provider’s vulnerabilities.
Retiring (also known as “turn off”). A large organization usually has rogue applications still used by some employees but it no longer serves mission-critical services. In this situation, another application has the functionality to support the business, but the organization is slow to permanently move and remove the application. Retiring is not just for applications. It’s also for outdated technology such as servers, routers, switches, and other computing hardware.
Prior to retiring resources, the organization moves them to the cloud. Usually, both on-premise and cloud resources run simultaneously to ensure there are no bugs to fix and after a time, the application and on-premise hardware are retired and the final cutover moves users to the cloud-hosted environment.
Choosing a Cloud Provider
With your goals in mind, it’s now time to choose a cloud provider. The three leaders are Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure. Although all three have similar services, their tools and solutions don’t integrate with each other, so it’s common for organizations to fall into the lockdown trap. The lockdown trap is when the organization can no longer move to another provider, because migrating can be a huge project that costs potentially millions. To avoid lockdown, some organizations use a hybrid of at least two providers.
Even if you determine that at least two cloud providers are necessary, you still must choose between three big players on the market. Administrators and key stakeholders should do some discovery before determining which one to work with, and each provider has a free trial available:
- GCP: A 90-day free tier account with $300 in credits to spend on services.
- Azure: 12 months for free, $200 credit for 30 days, and 25 free services.
- AWS: Select services are free and some offer trials.
Generally speaking, all three providers have services similar to each other. The main difference between them is where they excel. AWS, for example, is often preferred among developers. Amazon offers several APIs to integrate services and has almost 200 services available to administrators. Azure often has the attention of C-level executives due to their familiarity with the Microsoft brand. For containers, Kubernetes, and machine learning, most organizations lean towards GCP.
We’ll break down popular interests and help you to determine which platform is right for you.
Features and Services
All three platforms have extensive features for any problem. All three offer virtual machines, serverless computing, machine learning, infrastructure provisioning, and APIs to integrate the cloud into internal applications.They all support the latest technology such as Internet of Things (IoT), but machine learning and AI are the focus of many organizations today.
Google is dominant in the machine learning (ML) arena, but AWS released SageMaker to compete with Google. Azure also has its machine learning service mainly used by developers to create ML-enabled applications. Although Google is where most organizations turn to for ML, AWS has recently deployed several ML services that perform specific functions such as image and video recognition (AWS Rekognition), text to speech (Polly), and access to the ML used to power Alexa (Lex). Google, however, still has its popular AI service where developers have access to its core TensorFlow open-source library.
Compute Resources and IaaS
If you just need a simple data storage solution, Amazon S3 buckets are a popular option. S3 can be integrated into local or cloud applications and scales as more storage is needed. AWS also offers Elastic Block Storage (EBS), Elastic File System (EFS), Glacier backup services for large file transfers and storage. It’s a common choice for storage solutions. Azure has cloud storage as does GCP as well, but AWS is the common choice.
For administrators familiar with Windows servers, Azure virtual machines are a benefit and they support Linux as well. Administrators can spin up virtual machines in Azure and emulate the entire on-premise network using Microsoft’s compute resources. Amazon has EC2 instances and Google has Compute Engine.
All three offer database services including NoSQL and relational databases. Azure is popular for applications that use Microsoft SQL Server. Amazon has its Relational Database Service (RDBS) and Redshift, and Google offers Cloud SQL. For NoSQL options, Azure DocumentDB, Amazon DynamoDB, and Google Bigtable are available.
GCP Kubernetes and container scaling is a powerful option for organizations. Amazon has an Elastic Kubernetes Service, and so does Azure. Azure was the last provider to offer container services, and Google is the dominant provider in this space due to its activity in the open-source community.
There is no side-by-side comparison for cloud provider pricing. Each provider offers its own pricing plan, discounts, and service structure, and data center location also affects cost. The best way to determine cost is to use the providers’ pricing calculators.
Cloud migration starts with a strategy, and this strategy starts with an on-premise issue that must be resolved whether it’s scalability, reliability, security, or performance. After you determine your solution, spend some time researching providers. Every provider has similar services, but choosing the right one will determine your success in scaling and extending services in the future. If you need help with migration and choosing a provider, Kanda Software can help.