Skip to content

Kong/cloud-migration-journey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cloud Migration Journey Demo

Learn how Konnect and Kong Mesh can be leveraged to de-risk and lift-and-shift connections during a migration to the cloud.

Table of Contents

  1. Table of Contents
  2. Cloud Migration Journey Overview
    1. Phases
  3. Using this Repository
    1. Prerequisites
    2. Getting Started
      1. Step 1 - Clone the Demo
      2. Step 2 - Build Containers
      3. Step 3 - Prep Stage
      4. Step 4 - Deploy AWS Infra
    3. Tutorial
      1. Step 5 - Run Migration Journey Phase 1
      2. Step 6 - Run Migration Journey Phase 2
      3. Step 7 - Run Migration Journey Phase 3
    4. Clean Up
  4. License

Cloud Migration Journey Overview

The objective of this guide is to provide a self-paced demonstration of how the platform agnostic capabilities of Konnect and Kong Mesh easily enable you to migrate EKS and modernize to micro-service architecture simultaneously.

To demonstrate this we will step through the 3-phased approach that will deprecate the disputes feature of a monolith running on premise, for a new micro-service running on a Kubernetes cluster.

Phases

Each phase has explicit technical objectives, and will build upon the previous.

Phase 1 : Deploy the monolith and Konnect runtime instance and onboard the monolith to Konnect.

Phase 2 : Deploy the Kong Mesh control plane, and the on-prem mesh zone. Then reconfigure the Konnect runtime-instance so that runtime-instance <--> monolith communication occurs over the mesh.

Phase 3 : Finally, in Phase 3 it's time to cutover. The objective is to deploy the Kong Mesh cloud zone and disputes micro-services to Amazon EKS. Then execute some mesh Traffic Route policies that will re-direct traffic to the micro-service.

Using this Repository

This repository uses a Makefile as the main entry-point to run the demo:

  • AWS is being used for cloud infrastructure
  • Terraform is used to deploy the AWS infra
  • Ansible is used deploy the Kong services to the environments
  • Docker is used to package up the code in this repository and any tooling required to simplify running this demo

Prerequisites

The tutorial has the following prerequisites before getting started:

  1. Linux or MacOS

  2. AWS account with permissions to create VPCs, Subnets, EC2 instances, EKS Clusters, Keys, etc.

  3. A Kong Konnect free account and Runtime Group ID

  4. AWS CLI

  5. Docker or Docker Desktop

  6. Insomnia Desktop App

  7. Make

    # MacOS
    brew install make
    
    # Debian (Ubuntu)
    apt-get install make
    
    # Enterprise Linux
    yum install make

Getting Started

Let's get started!!

Step 1 - Clone the Demo

Clone the repo:

git clone https://github.com/Kong/cloud-migration-journey.git

Navigate into cloud-migration-journey sub-directory:

cd migration-journey

View the available make targets for the project:

make

Step 2 - Build Containers

In this step you will build the utility containers needed to run the demo.

make build

NOTE: You will be prompted for your computer's architecture. If running a system that is Intel-based enter amd64, and if running a system that is ARM-based such as a Mac M1 processor, enter arm64.

Step 3 - Prep Stage

make prep

This will create a .kmj directory in your $HOME, and prompt for various inputs:

  1. AWS CLI credentials are configured
  2. Open the Kong Migration Journey configuration file, users.tfvars, where you populate Kong Konnect info, and change the default AWS settings (AWS Region, VPC, Subnets).

Step 4 - Deploy AWS Infra

make infra.deploy

This will deploy AWS infrastructure, generate any dynamic files for the demo in the ~/.kmj directory, the kubeconfig, and EC2 keys.

NOTE: It is extremely important that you do not delete the ~/.kmj directory, or any of its contents at this point. You will have a hard time cleaning up later.

Explore: infrastructure deployment.

Tutorial

With the infrastructure successfully deployed, you are ready to start the tutorial.

In each phase, first execute the make command that will install any Konnect and Kong Mesh services in the AWS infrastructure, then proceed to the tutorial.

Step 5 - Run Migration Journey Phase 1

make kong.phase1

Navigate to the tutorial Explore: Phase 1.

Step 6 - Run Migration Journey Phase 2

make kong.phase2

Navigate to the tutorial Explore: Phase 2.

Step 7 - Run Migration Journey Phase 3

make kong.phase3

Navigate to the tutorial Explore: Phase 3.

Clean Up

Tear down the AWS infrastructure:

make infra.destroy

The above command will remove everything that was created in AWS, along with your EC2 keys, kubeconfig, Ansible inventory, and variables.

Once the above process has completed successfully, you can remove the ~/.kmj directory if desired, or retain it to run the demo again later:

rm -rf ~/.kmj

License

Apache 2.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published