CHAI Flow™
End-to-End Agentic Application Modernization for the Enterprise
How to Use This Document
| If you are a... | Start with... | Key sections |
|---|---|---|
| Cloud Architect evaluating end-to-end modernization | Section 1 (What is CHAI Flow) | Sections 1, 2, 8, 9 |
| DevOps / Infrastructure Engineer running discovery and containerization | Section 3 (Windows Discovery) | Sections 3, 4, 5, 8 |
| CIO / CDO seeking portfolio rationalization and migration ROI | Section 7 (Reports) | Sections 1, 6, 7, 12 |
| Application Team Lead planning migration waves | Section 6 (Rationalization) | Sections 5, 6, 7, 8 |
| Platform / Kubernetes Engineer deploying containerized workloads | Section 9 (Cruise) | Sections 8, 9, 10 |
| Cloud Cost Analyst estimating AWS migration spend | Section 6.3 (AWS Cost) | Sections 6, 12 |
1. What is CHAI Flow™?
CHAI Flow™ is CloudHedge's end-to-end agentic application modernization platform. It combines automated discovery and deep assessment with AI-driven containerization and Kubernetes deployment — delivering a single, continuous workflow from bare-metal legacy servers to production cloud-native workloads.
Enterprise application modernization fails at every seam — between assessment teams and engineering teams, between containerization tools and deployment platforms, between planning spreadsheets and actual execution. CHAI Flow eliminates those seams with a single integrated platform: discover your estate, understand complexity, containerize applications automatically, and deploy to Kubernetes — all without leaving the CHAI environment.
CHAI Flow™ is organized into three integrated phases:
| Phase | Module | What It Does |
|---|---|---|
| Phase 1 — DART | Discovery, Assessment & Rationalization | Automated agentless discovery of Windows and Linux hosts; complexity scoring; 6R rationalization; AWS cost projections; DART and Practitioner reports |
| Phase 2 — Transform | Application Transformation Studio | AI-driven containerization of discovered processes into Docker images; Dockerfile management; registry push; replatforming for Java app servers |
| Phase 3 — Cruise | Kubernetes Deployment Engine | Application Blueprint creation; multi-cluster deployment; workload lifecycle management on any CNCF-compliant Kubernetes cluster |
Key Differentiators
| Capability | Point Tools / Manual | CHAI Flow™ |
|---|---|---|
| Discovery | Manual interviews, spreadsheets | Automated agentless SSH / WinRM discovery |
| Assessment | Weeks per application, subjective | Hours for 50-host project, formula-based R6Ai® scoring |
| Containerization | Manual Dockerfile writing | Auto-generated Dockerfiles from discovery artifacts |
| Replatforming | Custom scripts per app server | Built-in WebLogic / WebSphere / Tomcat / JBoss → Linux container pipelines |
| Deployment | Manual YAML authoring | Application Blueprint auto-generated from Transform profile |
| Kubernetes target | Locked to one cluster vendor | BYOC across EKS, AKS, GKE, OpenShift, Rancher, Tanzu |
| End-to-end traceability | Zero | Discovery → Transform → Cruise — single audit trail |
2. DART — Discovery Architecture
2.1 Discovery Architecture
DART uses an agentless architecture. No software is permanently installed on the source servers. CHAI connects to each host over the network using standard protocols (SSH for Linux, WinRM for Windows) to collect system state information.
2.2 Two-Phase Discovery Process
DART discovery operates in two phases:
| Phase | What It Does | Windows | Linux |
|---|---|---|---|
| Phase 1 | Collects static host information: OS, CPU, memory, disk, packages, installed software, running processes, network configuration, environment variables | Supported | Supported |
| Phase 2 (X-Ray) | Attaches dynamic probes to capture live process-to-process communications, outbound connections, file system writes | Not supported | Supported |
Non-Invasive Discovery (Non-X-Ray): For Java application servers (WebLogic, WebSphere, Tomcat, JBoss), DART performs a single-phase discovery. Outgoing connections are determined directly from the application server configuration (DataSource definitions, JMS modules, etc.), making X-Ray unnecessary.
2.3 Projects and Hosts
DART organizes discovery work into Projects. Each project is a logical grouping of hosts:
- Up to 50 hosts per project (Linux and Windows mixed)
- Hosts added by registering credentials (SSH key or password for Linux; WinRM credentials for Windows)
- Hosts can also be added via CSV bulk upload or offline discovery utility
- Projects replaced the legacy "Wave" concept in DART 2.x
3. Windows Host Discovery
DART's Windows discovery is non-intrusive and collects comprehensive system and application state information using WinRM over port 5986.
3.1 What DART Discovers on Windows
IIS Website Discovery (Full Support)
| Data Point | Description |
|---|---|
| Application Pool Name | Pool used by the IIS website |
| Authentication Type | Anonymous, Forms-based, Windows, etc. |
| Network Bindings | All protocols and ports |
| Virtual Directories | Physical paths and drive types |
| SSL Certificates | Issuer, issued-to, validity dates |
| Backing Services | Connection strings used by the site |
| Default Documents | Configured default document list |
Console & Windows Service Discovery (Beta)
For both Console Applications and Windows Services, DART collects:
- List of file/folder paths of all dependencies
- All DLL dependencies
- Process ID, memory usage, ports, command line, platform (32/64-bit), subsystem
Process Ignore List
Specific processes can be excluded from Windows discovery using the Process Ignore List, configurable per project or globally in Settings.
4. Linux Host Discovery
DART connects to Linux hosts over SSH (port 22) and supports both general process discovery and specialized non-X-Ray discovery for major Java application servers.
4.1 General Linux Process Discovery
For any Linux process, Phase 1 collects:
- CPU, memory, disk, OS, DNS configuration
- All running processes and their ports
- Environment variables, scheduled jobs, network configuration
- Static host entries, external DNS servers
Phase 2 (X-Ray) additionally captures:
- Live inbound and outbound network connections per process
- Hard-coded network dependencies
- File system writes
- External services consumed
4.2 Java Application Server Discovery (Non-X-Ray)
For the four major Java application servers, DART performs a specialized single-phase discovery that extracts full application configuration — eliminating the need for X-Ray probes:
Supported Java Application Server Objects
| Object | WebLogic | WebSphere | Tomcat | JBoss |
|---|---|---|---|---|
| Shared Application Libraries | Discover | Discover | Discover | Discover |
| Server Certificates | Discover | Discover | Discover | Discover |
| Data Sources | Discover | Discover | Discover | Discover |
| JMS Modules | Discover | Discover | Discover | Discover |
| JNDI Realms | — | Discover | Discover | Discover |
| Cluster Configuration | Discover | Discover | Discover | Discover |
5. Network Intelligence
5.1 Netwatch — Live Network Dependency Capture
Netwatch is DART's network monitoring capability. It captures all inbound and outbound network connections made to/from each host over a configurable monitoring duration — providing ground-truth evidence of actual application communication patterns.
Netwatch is critical for migration wave planning: it reveals hidden dependencies that no static scan or interview can uncover.
How Netwatch Works:
1. Start Netwatch on selected hosts from the project's Discover view
2. Set monitoring duration; optionally clear previous Netwatch data
3. Netwatch runs in the background — status: waiting → in progress → completed
4. Download results as CSV from the project home page (NetWatch Data)
5. DART automatically identifies IPs shared across projects and suggests logical machine groupings
Netwatch CSV Fields: Project_Wave_Name, Host_Alias, Host_IP, Direction, Port, ProcessID, ProcessName, Connected_Host_IP
5.2 Topology Viewer
DART's Topology view visualizes the connections between all discovered hosts and their processes.
Two Topology Views:
| View | Shows | Use Case |
|---|---|---|
| Host View | All hosts in the project and their process connections | Infrastructure-level dependency map |
| Application View | Processes grouped by defined Applications | Application-level communication map |
Both views support:
- Filtering by host or application
- Customizable layouts
- Double-click on any process, host, or application node for detailed information
6. Rationalization & Assessment
After discovery, DART's Rationalize module applies intelligence to generate actionable migration recommendations.
6.1 The 6R Framework — Host Classification
Every discovered host is classified using the industry-standard 6R migration framework:
| Classification | Definition | CloudHedge Capability |
|---|---|---|
| Reinvest | Strategic apps warranting investment to modernize | Sub-classified as Rehost, Replatform, or Refactor |
| Rehost | Lift-and-shift to cloud, no modifications | Migrate large-scale legacy apps to meet timeline objectives |
| Replatform | Move largely unchanged, replace certain components | Windows-to-Linux migration; leaner cloud options |
| Refactor | Substantial overhaul for cloud-native | Transition to microservices architecture with CHAI Flow™ |
| Retain | No cloud migration | On-premises compliance, performance, or investment constraints |
| Retire | Decommission | Redundant or consolidatable applications |
Classification values are set per host and feed directly into DART report generation.
6.2 Application Complexity Scoring
DART calculates a containerization complexity score for every discovered process. This is a formula-based, reproducible score — not a subjective expert estimate.
Complexity Score Range:
| Score | Complexity |
|---|---|
| 0 – 25 | Low |
| 26 – 35 | Medium |
| 36 and above | High |
Complexity is calculated from:
For Linux X-Ray processes:
- 32-bit process or library detected?
- Hard-coded network dependencies?
- Additional packages required?
- Process user (root vs. service account)?
- Special file permissions or special files detected?
- Hard-coded /etc/hosts entries?
- External DNS servers?
- External services consumed?
- File system writes detected?
For Windows IIS websites:
- Windows features required?
- Additional IIS modules required?
- WebAppPool creation required?
- SSL certificates required?
- Group Managed Service Accounts (gMSAs) required?
- File system writes detected?
- External services consumed?
For Java App Servers (Non-X-Ray — WebSphere, WebLogic, Tomcat):
- External Active Directory integration?
- Database integration (DB2, etc.)?
- Message Queue integration?
- SSL certificates required?
6.3 AWS Cost Comparison
DART calculates the estimated monthly cost of hosting all discovered hosts in an AWS region of your choice.
Cost Calculation Components:
- Compute: EC2 instance selection based on discovered CPU/memory/OS specs
- Storage: EBS/storage based on discovered disk usage
- Network: Data transfer costs
- Business Support: AWS support tier
- VDI: Windows Desktop OS virtualization costs
Features:
- Automatic EC2 instance type mapping per AWS region
- Override instance types to model different cost scenarios
- Compare costs across multiple AWS regions
- Pre- and post-Broadcom VMware cost comparison for savings calculation
- 1-year and 3-year NURI (No Upfront Reserved Instance) options
Prerequisites: Project's Target Cloud must be set to AWS with a preferred region configured.
6.4 AWS Graviton Readiness Assessment
Included by default in every DART project. For each discovered host and component, DART shows:
- Graviton Readiness Indicator (compatible / not compatible)
- Graviton-compatible EC2 instance type recommendations
- Readiness by Application Component Types, Technology Types, and Complexity Levels
7. DART Reports & Dashboards
DART generates two types of reports, available as downloadable PDFs.
7.1 DART Report (CXO / Executive)
The DART Report is the project landing page itself — a live, interactive executive summary automatically generated from discovery data.
7.2 Practitioner Report
The Practitioner Report is the detailed technical report for IT teams responsible for executing the modernization. It is available per Application, per Component, or per Host.
Sections:
| Section | Contents |
|---|---|
| Executive Summary | Editable workshop notes and summary |
| Host Distribution | Breakdown by OS (Linux, Windows) |
| Complexity Distribution | All applications with calculated complexity scores |
| Technology Stack | Application components by technology |
| Topology | Network dependency map |
| Application Information | Per-application details and rationalization |
| Host Information | OS, IP, CPU cores, memory, CPU family, DNS, storage |
Accessing Practitioner Reports:
- From the Rationalize tab → Hosts tab → View Practitioner Report
- From the Rationalize tab → Applications list → View Practitioner Report
- From the project landing page → Applications, Components, or Hosts sections
7.3 Report Comparison
| Feature | DART Report | Practitioner Report |
|---|---|---|
| Audience | CIO, CDO, Migration Lead | DevOps Engineers, App Owners, Migration Teams |
| Scope | Full portfolio / project | Per application, component, or host |
| Complexity detail | Distribution view | Per-process scoring breakdown |
| Host detail | Summary table | Full OS, CPU, memory, storage, DNS |
| Editable content | No | Yes (Executive Summary) |
| Graviton readiness | Yes | Yes |
| Download |
8. Transform — Containerization
Transform is CHAI Flow's automated containerization engine. It takes the process artifacts collected during DART discovery — binaries, dependencies, ports, configuration — and builds production-ready Docker container images without manual Dockerfile authoring.
8.1 What is Transform
Transform builds a Docker container image from all artifacts collected during the discover phase: process binaries, process dependencies, and process port bindings. The entire process is agentless.
Transform operates in two phases:
| Phase | What Happens |
|---|---|
| Phase 1 | Builds the Docker container image from the discovered process information |
| Phase 2 | Uploads the built container image to a public or private Docker registry (optional) |
8.2 Build Box
The Build Box is the intermediate host that runs the Docker daemon and builds container images from process information.
Build Box Operating System Support:
- Linux (SSH connection, port 22)
- Windows (for Windows container builds)
Prerequisites: The Build Box must satisfy platform-specific prerequisites (available in CHAI settings) before a Transform job can start. This is a mandatory step.
Base Image: Each Transform job uses a base Docker image (from Docker Hub or a custom source) as the foundation into which process information is inserted to create the final application container.
8.3 Application Transformation Studio
The Application Transformation Studio is CHAI Flow's one-stop interface for managing the full containerization workflow. It preserves all historical discovery data as an immutable record and allows users to create editable copies for customization.
Key Principle: Original discovery data is immutable. All customization work is performed on named copies (profiles), preserving the source-of-truth.
Studio Features
| Feature | Description |
|---|---|
| Edit Dockerfile | View and edit the auto-generated Dockerfile for any discovered process |
| File Explorer | Visualize and manage files bundled into the container (Linux and Windows) |
| Validate and Build | Run pre-checks and trigger container image build with one click |
| Container Runtime Options | Configure ports, replicas, environment variables, config maps, CPU, and memory |
| Profile Versioning | Create, name, and manage multiple copies of a process profile (max 10 versions) |
| Merge Components | Combine multiple processes into a single merged container profile |
| Image Management | View all built images per profile; mark a specific image as final |
Profile Management Workflow
8.4 Containerizing Linux Processes
CHAI Flow containerizes any discovered Linux process directly from the Transform view.
Workflow:
1. Select the project and click Transform in the left menu
2. Click Containerize next to the desired process
3. Click Create Copy to create an editable profile
4. Customize via tabs: Edit Dockerfile, File Selection, Container Config
5. Click Validate and Build — select the Build Box and configure registry
6. Click Build Container Image to trigger the build
7. Monitor progress in the Logs tab
8. Verify the image in the configured registry upon completion
Registry Configuration per Type:
| Registry | Required Fields |
|---|---|
| Docker Hub | Repository name, Image tag, Vault credentials |
| Amazon ECR | Repository URI, Repository name, Image tag, Vault credentials |
| QUAY | Server (quay.io), Repository, Image tag, Vault credentials |
| Azure ACR | Server address, Repository, Image tag, Vault credentials |
| Harbor | Server address, Repository, Image tag, Vault credentials |
| Custom Registry | Server address, Repository, Image tag, Vault credentials |
8.5 Containerizing Windows Processes
CHAI Flow supports containerization of the three Windows application types discovered by DART:
| Application Type | Support Level |
|---|---|
| IIS Websites | Full support — including multi-site merge |
| Console Applications | Beta |
| Windows Services | Beta |
IIS Merge Feature: Multiple IIS websites can be merged into a single container image — enabling consolidation of related web applications without architectural changes.
Console and Service Applications: Working directories are captured from Program Files locations; additional files can be included or excluded during the Transform configuration step.
Windows Build Workflow:
1. Navigate to Transform → select Windows process → click Containerize
2. Create a profile copy
3. Click Validate and Build
4. Add Windows Build Box credentials
5. Select registry type and provide registry configuration
6. Run pre-checks
7. Click Build Container Image
8.6 Replatforming Java Application Servers
Transform's most powerful capability: taking Windows-hosted Java application servers and replatforming them to Linux container images — eliminating the Windows runtime dependency entirely.
Replatform Base Images:
| Source App Server | Target Base Image | Notes |
|---|---|---|
| Oracle WebLogic | Oracle official base image | Version-matched to discovered WebLogic version |
| IBM WebSphere | WebSphere Liberty base image | Migrated to Liberty runtime |
| Apache Tomcat | Tomcat official base image | Version-matched to discovered Tomcat version |
| JBoss EAP | WildFly base image | Community upstream of JBoss |
Replatform Workflow (all Java servers follow the same pattern):
1. Click on the project → Transform → select the Java app server process → Containerize
2. Click Create Copy to create a customizable profile
3. Use the three customization tabs:
- Edit Dockerfile: Review and optionally modify the auto-generated Dockerfile. Base image is selected automatically based on the discovered server version
- File Selection: Bundle additional files into the container image
- Container Config: Review and complete all ConfigMaps. Parameters requiring user input are marked <change-me>. SSL keystore configuration is included where certificates were discovered
4. Click Validate and Build → select the Linux Build Box → configure registry
5. Click Build Container Image
6. Monitor logs; verify image in registry on completion
9. Cruise — Kubernetes Deployment
Cruise (internally referenced as Cruize) is CHAI Flow's self-service Kubernetes deployment engine. It takes container images produced by Transform and deploys them as production workloads on any CNCF-compliant Kubernetes cluster — with no manual YAML authoring required.
9.1 What is Cruise
Cruise is a self-service platform for on-demand application deployments on any CNCF-compliant Kubernetes cluster. It bridges the gap between container images (produced by Transform) and running production workloads — using Application Blueprints as the portable deployment specification.
Cruise Core Concepts:
| Concept | Definition |
|---|---|
| Application Blueprint | A portable specification describing all application components and their interdependencies — ports, replicas, config maps, environment variables, CPU, memory |
| Blueprint Version | A snapshot of a blueprint at a point in time. Versioned lifecycle aligned with software development (default: v0, max 10 revisions per blueprint) |
| Workload | A running application on a Kubernetes cluster — one or more pods managed by CHAI Flow |
| Cluster | A CNCF-compliant Kubernetes cluster imported into CHAI via BYOC |
9.2 Application Blueprints
An Application Blueprint describes all application components, their container images, and runtime configuration. Blueprints are created automatically when a Transform profile is finalized, or manually through the Cruise UI.
Blueprint Creation Methods:
| Method | When to Use |
|---|---|
| From Transform Profile | After containerization is complete — CHAI auto-populates ports, replicas, config maps, environment variables, CPU, and memory from discovery data |
| Manual Creation | When importing externally built container images or defining blueprints independently of a CHAI Flow discovery project |
Blueprint Name Requirements:
- Alphanumeric characters and hyphens only
- Must start and end with alphanumeric character
- Maximum 25 characters, unique within the project
Blueprint Version Lifecycle:
1. Create blueprint (v0 by default)
2. Create copies for parallel development or hotfixes
3. Promote a version to final; deploy to target cluster
4. Create next version as the application evolves (max 10 revisions)
Blueprint Operations:
| Operation | Description |
|---|---|
| Create New Blueprint | Define a new deployment spec manually or from Transform |
| Create Blueprint Copy | Branch an existing blueprint for independent changes |
| Create Blueprint Version | Increment the version for a new release |
| Edit Blueprint | Modify component config, replicas, ports, environment variables |
| Delete Blueprint | Remove a blueprint and all its versions |
| Generate Blueprint | From Transform → Applications: one-click blueprint generation |
| Deploy in Cruise | Transition a finalized blueprint to Cruise for workload creation |
9.3 Cluster Management — Bring Your Own Cluster
Cruise supports importing any of the following Kubernetes distributions:
| Platform | Provider |
|---|---|
| EKS | Amazon Web Services |
| AKS | Microsoft Azure |
| GKE | Google Cloud |
| OpenShift | Red Hat |
| IBM Cloud Kubernetes Service | IBM |
| Tanzu | VMware |
| Rancher | SUSE |
| Kubernetes | Self-managed / on-premises |
Add Cluster Workflow:
Cluster validation confirms:
- Kubernetes version
- Node count and health
- Available namespaces
- Persistent volumes
- Ingress controllers
9.4 Creating Workloads
A Workload is a running application on a Kubernetes cluster — the result of deploying an Application Blueprint to a target cluster.
Workload Creation — Three-Step Process:
Environment Options: Development, Stage, QA, Production
Namespace Override: If the blueprint's defined namespace does not exist on the target cluster, Cruise allows a namespace override at deployment time.
9.5 Viewing and Managing Workloads
Cruise provides two views for workload visibility:
| View | Access Path | Shows |
|---|---|---|
| By Blueprint | Cruise → select Blueprint → Deployed Workloads | All workloads created from a specific Application Blueprint |
| By Cluster | Settings → Clusters → kebab menu → Deployed Workloads | All workloads running on a specific cluster |
Both views provide unified visibility across environments, clusters, and blueprint versions — enabling platform teams to see the full deployment landscape from a single screen.
10. End-to-End CHAI Flow Workflow
The complete CHAI Flow modernization journey from first discovery to production Kubernetes workload:
11. Supported Technology Stack
Application Servers and Middleware
| Technology | Discovery | Containerization | Replatform |
|---|---|---|---|
| Oracle WebLogic 12.1.3, 12.2.1.4 | Full (Non-X-Ray) | Yes | Windows → Linux (Oracle base image) |
| IBM WebSphere 8.x, 9.x | Full (Non-X-Ray) | Yes | Windows → Linux (Liberty base image) |
| Apache Tomcat 7, 8, 9, 10 | Full (Non-X-Ray) | Yes | Windows → Linux (Tomcat base image) |
| JBoss EAP 6.1 | Full (Non-X-Ray) | Yes | Windows → Linux (WildFly base image) |
| IIS Websites (Windows) | Full | Yes (including multi-site merge) | — |
| General Linux Processes | Full (Phase 1 + X-Ray) | Yes | — |
| Console Applications (Windows) | Beta | Beta | — |
| Windows Services | Beta | Beta | — |
Operating Systems
| OS | Version | Discovery | Containerization |
|---|---|---|---|
| Red Hat Enterprise Linux | 7.x, 8.x | Phase 1 + Phase 2 | Supported |
| Ubuntu | 16+ | Phase 1 + Phase 2 | Supported |
| Windows Server | 2012 R2 and above | Phase 1 (non-intrusive) | Supported |
| Windows Server | 2016 | Phase 1 (non-intrusive) | Supported |
Kubernetes Cluster Platforms
| Platform | Provider | BYOC Support |
|---|---|---|
| EKS | Amazon Web Services | Yes |
| AKS | Microsoft Azure | Yes |
| GKE | Google Cloud | Yes |
| OpenShift | Red Hat | Yes |
| IBM Cloud Kubernetes Service | IBM | Yes |
| Tanzu | VMware | Yes |
| Rancher | SUSE | Yes |
| Kubernetes (self-managed) | On-premises / any cloud | Yes |
Container Registries
| Registry | Type |
|---|---|
| Docker Hub | Public / Private |
| Amazon ECR | Private (AWS) |
| QUAY | Private / Enterprise |
| Azure ACR | Private (Azure) |
| Harbor | Self-hosted |
| Custom Registry | Any OCI-compliant registry |
Connection Protocols
| Component | Protocol | Default Port |
|---|---|---|
| Linux host discovery | SSH (key-based or password) | 22 |
| Windows host discovery | WinRM (Basic or Kerberos) | 5986 |
| Host callback to CHAI | HTTPS | 443 |
| Linux Build Box | SSH | 22 |
12. Business Outcomes
CHAI Flow™ delivers end-to-end modernization outcomes — from discovery through to production Kubernetes deployment:
What Organizations Get from CHAI Flow
| Deliverable | Phase | Description |
|---|---|---|
| Complete host inventory | DART | Every Windows and Linux host with OS, CPU, memory, disk, installed packages |
| Application dependency map | DART | Live Netwatch capture of all network connections — inbound, outbound, ports, processes |
| Application complexity scores | DART | Automated High/Medium/Low scoring per process, based on 10+ containerization factors |
| Technology stack report | DART | Distribution of app servers, databases, OS types across the portfolio |
| OS license expiry timeline | DART | Which hosts are running end-of-life or near-expiry OS versions |
| 6R rationalization | DART | Per-host cloud migration strategy: Rehost, Replatform, Refactor, Retain, Retire |
| AWS cost projection | DART | Monthly cost estimate for hosting discovered portfolio in target AWS region |
| Graviton readiness | DART | Per-component and per-host Graviton compatibility assessment |
| DART Report (PDF) | DART | Executive-ready portfolio summary for CIO/CDO stakeholders |
| Practitioner Report (PDF) | DART | Detailed per-app technical report for migration execution teams |
| Auto-generated Dockerfiles | Transform | AI-generated Dockerfiles for every discovered process — no manual authoring |
| Container images | Transform | Built and registry-pushed container images for all modernization candidates |
| Replatformed Java containers | Transform | WebLogic / WebSphere / Tomcat / JBoss → Linux container images |
| Application Blueprints | Transform + Cruise | Portable Kubernetes deployment specs auto-populated from discovery + transform data |
| Kubernetes workloads | Cruise | Production workloads deployed to any CNCF-compliant cluster via BYOC |
| Multi-cluster visibility | Cruise | Unified workload view across all environments and cluster platforms |
Appendix A — CHAI Flow vs Traditional Modernization
| Dimension | Traditional / Fragmented | CHAI Flow™ |
|---|---|---|
| Discovery | Manual interviews, spreadsheets | Agentless automated discovery via SSH / WinRM |
| Assessment time | 2–3 weeks per application | Hours for a 50-host project |
| Complexity scoring | Subjective expert estimate | Formula-based R6Ai® scoring — reproducible |
| Dockerfile authoring | Manual, per application | Auto-generated from discovery artifacts |
| Java app server replatforming | Custom scripts, per app, per team | Built-in WebLogic / WebSphere / Tomcat / JBoss pipelines |
| Registry integration | Manual push scripts | Built-in support for 6 registry types |
| Kubernetes deployment | Manual YAML files | Application Blueprint auto-generated from Transform |
| Cluster flexibility | Often locked to one vendor | BYOC: EKS, AKS, GKE, OpenShift, Rancher, Tanzu |
| End-to-end traceability | Zero — tools don't share data | Single platform from discovery host to running workload |
| Graviton assessment | Not typically included | Built-in Graviton readiness per host/component |
| Scalability | Bottlenecked by analyst and engineering capacity | Parallel discovery, parallel containerization, parallel deployment |
Appendix B — Key CHAI Flow Concepts Glossary
| Term | Definition |
|---|---|
| Project | A logical grouping of up to 50 hosts for discovery, assessment, and containerization |
| Host | A physical or virtual machine (Linux or Windows) added to a CHAI Flow project |
| Phase 1 | Static discovery — collects OS, hardware, installed packages, and process list |
| Phase 2 (X-Ray) | Dynamic discovery — attaches probes to capture live network connections and file system activity (Linux only) |
| Non-X-Ray Discovery | Single-phase discovery for Java app servers — reads config files instead of probes |
| Netwatch | Network monitoring feature that captures all inbound/outbound connections over a configurable time window |
| Topology | Visual map of connections between all hosts and processes in a project |
| Application | A user-defined grouping of processes belonging to the same logical application |
| 6R Classification | Per-host migration strategy: Reinvest (Rehost / Replatform / Refactor), Retain, or Retire |
| Complexity Score | Numerical score (0–25 Low, 26–35 Medium, 36+ High) reflecting containerization effort per process |
| DART Report | Auto-generated executive portfolio report (the project landing page) |
| Practitioner Report | Detailed technical report per application, component, or host for migration teams |
| Vault | CHAI's secure credential store — holds SSH keys, WinRM credentials, cloud access keys, registry credentials |
| Build Box | An intermediate host (Linux or Windows) with a Docker daemon used to build container images |
| Base Image | The Docker base image used as the foundation for a containerized application |
| Transform Profile | A versioned set of containerization parameters (Dockerfile, file selection, container config) for a discovered process |
| Profile Copy | An editable version of a Transform profile — original discovery data remains immutable |
| Application Transformation Studio | CHAI Flow's UI for managing Dockerfiles, file selection, container config, profile versions, and image builds |
| Replatform | Converting a Windows-hosted Java application server to a Linux container image |
| Application Blueprint | A portable Kubernetes deployment specification describing all application components, dependencies, ports, replicas, and configuration |
| Blueprint Version | A point-in-time snapshot of a blueprint aligned to software development lifecycle (max 10 per blueprint) |
| Workload | A running application on a Kubernetes cluster, managed by CHAI Flow Cruise |
| Cluster | A CNCF-compliant Kubernetes cluster imported into CHAI via BYOC |
| BYOC | Bring Your Own Cluster — CHAI imports existing enterprise Kubernetes clusters for deployment |
| Graviton Readiness | AWS Graviton ARM-based processor compatibility assessment per host/component |
| AWS Cost Comparison | Automated EC2 instance mapping and monthly cost projection for a target AWS region |