There are many benefits of cloud migration and modernization, such as the diversity and agility of IT operations and providing a cost-effective secured platform and a ready-to-run platform for AI innovation. As a result, major cloud providers continuously improve their offerings by adding services, securing platforms, efficiently managing the infrastructure, and providing competitive advantages in many areas.
However, it is still essential to determine the right cloud migration solution for organizations. To design the right solution, we need to understand the core concept of cloud migrations. This section will cover cloud computing, explore the different cloud models, and explain what a cloud migration is.
What is the cloud?
According to the National Institute of Standards and Technology (NIST), the cloud can be defined as follows:
A model for enabling convenient, on-demand network access to a shared pool of configurable computing resources, such as networks, servers, storage, applications, and services, that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Therefore, a hosted data center is not cloud-based according to NIST. A hosted data center is a private cloud in the information technology (IT) industry. As a result, we will also consider the recent trends and terminology in the IT industry. Most cloud migration projects can be put into the following two categories:
- Cloud to cloud
- On-premises to cloud
In this book, we will mainly focus on on-premises to cloud migration projects.
Different cloud models
Cloud models can be primarily of two kinds – delivery models and service models. Figure 1.4 shows the model classification for the cloud:
Figure 1.4 – Two kinds of cloud models
In the following sections, we will look at each of these models in detail.
Delivery model
In addition to the public cloud, there are two other delivery models, known as the private cloud and hybrid cloud, as depicted in Figure 1.4.
Private cloud
Different sources define the private cloud with slightly different definitions. For example, this is how IBM Cloud Learn defines it:
Private cloud is a cloud computing environment dedicated to a single customer. It combines many of the benefits of cloud computing with the security and control of on-premises IT infrastructure.
In Preparing for Your Migration to the Cloud by Steve Francis, this is how it is defined:
Private cloud is simply a cloud that you build and operate yourself.
The core characteristics of a private cloud are as follows:
- It is dedicated exclusively to a single tenant.
- Security hardening rules and policies regulate it.
- It can be hosted on-premises in an organization’s data center or on a managed data center of the cloud provider.
- It is still able to have all the benefits of a cloud-native architecture.
Recently, among these three different delivery models, the hybrid cloud model is becoming very popular. The following section will discuss the different aspects of the hybrid cloud.
Hybrid cloud
Often, organizations cannot move all the workload to the public cloud due to migration costs, regulations, cloud service availability, and other reasons. As a result, these organizations often end up with cloud workloads and on-premises workloads in a hybrid cloud model. Another main reason for hybrid cloud is portability. Organizations often want to avoid cloud provider lock-in and deploy their workload so that applications and services can be easily decoupled from an underlying cloud provider workload. In addition, multiple cloud adoption is becoming a viral strategy. According to a 2017 survey by Cloudify, more than 51% of organizations have workloads in multiple clouds.
It is essential to select a suitable delivery model for cloud migration. Figure 1.5 shows a decision tree for the cloud delivery model:
Figure 1.5 – A decision tree for the cloud delivery model selection
If migrating the workload to the cloud is not possible due to some dependency and the result of return on investment (ROI) analysis, hybrid cloud can be a suitable option that allows organizations to continue innovation and modernization via the cloud without interrupting the legacy workload deployed on the on-premises data center.
The next step for cloud modernization readiness is to select a service model. There are multiple types of service models used in the industry. Often, a combination of multiple service models is used for cloud modernization and migration projects to optimize the benefit. At the same time, one dedicated service model may not be the correct answer for different workloads. This section discusses the different types of service models and their benefits and limitations.
Service model
Figure 1.6 shows the primary service models for the cloud. However, in addition to the primary services, two services, the business support service (BSS) and operation support service (OSS), are becoming popular. Therefore, the three service models can be described as follows:
- Infrastructure as a service (IaaS) provides companies with computing resources, including servers, networking, storage, and data center space, on a pay-per-use basis. The developers hide the low-level details, and they can focus on innovation.
- Platform as a service (PaaS) provides a cloud-based environment with computing, storage, network, and other capabilities to support the complete life cycle of implementation, deployment, and delivery of applications, without the cost and complexity of buying and managing the underlying hardware software, provisioning, and hosting.
- Software as a service (SaaS), or cloud-based applications, run on distant computers “in the cloud” owned and operated by cloud providers. The user can access them from their computers through the internet and a web browser.
- Business support as a service (BSaaS) provides support for continuous business insights. BSaaS is an advisory service. This service plans for workload migration to the cloud and continues the business as usual.
- Operation as a service (OpsaaS): Workloads on the cloud need continuous management through cloud operations, data operations, and security operations. Often, these operations are provided as a service to organizations. The cloud operation model is essential to continue operations to ensure high availability (HA), business continuity, resiliency, security, and DevOps. OpsaaS provides continuous support for different cloud operations.
Figure 1.6 – Service models
Understanding the service model and delivery model is essential. However, the application migration and modernization project are more significant than selecting the exemplary service and delivery models. Several different drivers, such as the current workload, application, user experience, complexity of the infrastructure, and business use cases, drive the cloud migration and modernization project in multiple phases. This book will discuss the different aspects of cloud migration and modernization. Let’s start by getting familiar with the definition of cloud migration.
What is cloud migration?
Cloud migration refers to when enterprises move some or all of their data center workloads and capabilities to a cloud-based infrastructure to enable cloud readiness. Cloud readiness is the capabilities provided by enterprises, as shown in the following diagram:
Figure 1.7 – Cloud readiness
Once we define cloud readiness, it will help us classify existing workloads and determine the cloud migration maturity model. In the following section, we will learn about different cloud migration and maturity models.
Cloud migration maturity model
The cloud migration maturity model is simply a classification of a workload to determine the priority and feasibility of a workload for the cloud migration process. It’s essential to classify current or as-is workloads based on their characteristics and cloud computing defined by NIST.
We can classify different workloads into four categories of current or as-is infrastructure, based on their score of cloud readiness.
Non-cloud
Not all legacy workloads deployed on-premises can be moved to the cloud. If on-premises workloads do not show any cloud-readiness characteristics, as shown in Figure 1.7, they cannot be migrated to the cloud. In addition, modernizing a legacy workload can be very expensive. If there is no sufficient business value for modernizing or migrating a legacy workload, organizations may keep them in their current state. These workloads cannot be migrated to the cloud efficiently. Therefore, they need to remain on-premises or be listed for either a Retain, Retire or Replace migration strategy – three things we will touch on later in this chapter.
Cloud-friendly
Cloud-friendly workloads are not primarily designed with cloud-ready architecture. However, they can be changed or refactored to achieve cloud-ready architecture. Workloads that can be decoupled from the underlying compute, storage, and network are especially suitable candidates for cloud-friendly workloads. They need a significant redesign, but it is possible to measure the efficiency of the migration process, and the business impact can be clearly defined. These workloads are suitable candidates for Re-Architect and Re-Innovate migration strategies, which we will touch on later.
Cloud-ready
If on-premises workloads have a cloud-ready architecture with observability, fault tolerance, interoperability, portability, security, and scalability, they are ready for cloud migration. As a result, these workloads are suitable candidates for Re-Host and Re-Factor migration strategies.
Cloud-native
Cloud-native applications are implemented with microservice architecture to implement most of the design principles of cloud-ready characteristics. Hence, these workloads are suitable candidates for Re-Host and Re-Platform migration strategies.
Main drivers for cloud migration
The main drivers for cloud migration can be financial, business strategy, agility for IT operations, and innovation. Here are some critical technical drivers for cloud migration:
- Most applications in a legacy environment suffer from the Matrix from Hell, which is the challenge of decoupling applications and packaging them in a format to run on the cloud regardless of language, framework, and other dependencies. If the current applications are containerized, this problem is already solved, and moving those applications to the cloud is easier.
- Organizations have been developing workloads for a long time, and decades of application evolution with legacy application development patterns often create the Matrix from Hell, as shown in Figure 1.8. Many monolithic applications are interconnected in such a complex way that changing them, such as adding new features and optimizing existing features, becomes very challenging. The Matrix from Hell makes the maintenance of applications extremely difficult. Even making a simple change in the application takes lots of effort – this increases the CPU, memory, and storage consumption of the application.
- It is difficult to access data in legacy applications. Therefore, introducing modern technology for data analysis is very challenging.
- Enterprises need to significantly reduce their time to market to survive amid extreme competitiveness. Therefore, there is a need to shift management for the computing, storage, platform, and network to the service provider so that developers can focus on innovation, ultimately reducing the time to market.
Figure 1.8 – The Matrix from Hell for a simple Node.js application
- Enterprises struggle to keep up with modern technology. This is not only due to a skills crisis but also because modern technology requires a specific platform setup. However, on the cloud, they are available as IaaS, PaaS, or SaaS. It is also straightforward to integrate with modern technology. For example, provisioning a blockchain platform on the IBM public cloud only takes a few minutes. With the IBM-managed Red Hat OpenShift platform, IBM takes responsibility for compute, storage, and network management and support. Therefore, developers are not burdened with maintenance, which is time consuming, and can focus on innovation.
- Operation cost is very high, and there are capacity limitations in an on-premises data center.
- Skill is limited to modern technology. Therefore, often, industries fail to scale along with demand due to a lack of skills and expertise.
- Compatibility with regulations and compliance often requires additional cost and effort.
- A constrained business process imposes additional challenges.
- Defining business uses is essential to driving a successful cloud migration project. In addition, these business use cases also help to define different key performance indicators (KPIs) to evaluate the cloud migration projects.
Before starting the journey to the cloud, we need to prepare and assess the cloud migration projects in the next section. Different industries follow different patterns for migrating a workload from on-premises to the cloud.