Lab Introduction

Travel Demo Application - Use Case

This lab will take you through the use case of a Travel Agency organization which operates a Travel booking application. The company has migrated some existing application components in the form of Virtual Machines to OpenShift Virtualization. And some of the application components are already containerized.

In this lab you are going to expand and extend the capabilities of Virtual Machines in the cloud-native world. You will be introduced to technologies like Service Mesh and GitOps as well as providing a self-service portal with Red Hat Developer Hub.

Having the Virtual machines running in OpenShift is not the end, it is the beginning of the cloud-native journey.

Understanding the existing Travel Booking Application

400

The sample application we use in this Lab is based on the Kiali Travel Demo Tutorial: https://kiali.io/docs/tutorials/travels/

1. Travel Portal Domain namespace

The Travel Demo application simulates two business domains organized in different namespaces. In a first namespace called travel-portal there will be deployed several travel shops, where users can search for and book flights, hotels, cars or insurance. The shop applications can behave differently based on request characteristics like channel (web or mobile) or user (new or existing).
These workloads may generate different types of traffic to imitate different real scenarios. All the portals consume a service called travels deployed in the travel-agency namespace.

The components in this namespace are running as containers.

2. Travel Agency Domain namespace

A second namespace called travel-agency will host a set of services created to provide quotes for travel.
A main travels service will be the business entry point for the travel agency. It receives a destination city and a user as parameters and it calculates all elements that compose a travel budget: airfare, lodging, car reservation and travel insurance.
Each service can provide an independent quote and the travels service must then aggregate them into a single response. Additionally, some users, like registered users, can have access to special discounts, managed as well by an external service.

The components in this namespace are running as Virtual Machines.

3. Travel Control namespace

The travel-control namespace runs a business dashboard with two key features:

  • Allow setting changes for every travel shop simulator (traffic ratio, device, user and type of travel).

  • Provide a business view of the total requests generated from the travel-portal namespace to the travel-agency services, organized by business criteria as grouped per shop, per type of traffic and per city.

This component will be running as a Virtual Machine. You are going to deploy it in Module 2.

01 travels dashboard

Travel Portal and Travel Agency flow

A typical flow consists of the following steps:

  1. A portal queries the travels service for available destinations,

  2. travels service queries the available hotels and returns to the portal shop,

  3. A user selects a destination and a type of travel, which may include a flight and/or a car, hotel and insurance,

  4. Cars, Hotels and Flights may have available discounts depending on user type.