> For the complete documentation index, see [llms.txt](https://docs.appfactor.io/52eJroWboQfTwsFl14gL/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.appfactor.io/52eJroWboQfTwsFl14gL/quickstart-guide/overview.md).

# Overview

## What is AppFactor?&#x20;

AppFactor is a cloud-native platform that enables enterprises to discover, analyze and assess the applications running on their environments (*on-premises* or *cloud*, *iron* or *VMs*), automatically migrate applications and workloads into cloud-native components and deploy those into containerized solutions that can ran in any cloud (*public* or *private*) environment.&#x20;

***

## Main Use Cases

* Gain information and visibility on large scale environments full of legacy applications, sometimes orphaned.
* Provide compliance and governance intelligence about the application landscape.
* Complement CMDB catalogues with additional information about hosts and applications.
* Migrate legacy applications (e.g. running on VMware) into cloud containers.
* Modernize application portfolios, generate technical documentation, fix bugs, add new features to applications, etc.&#x20;
* Provide automatic maintenance to application portfolios.

***

## Basic Functionality

* Scans, analyses and introspects your application environments, listing dependencies, vulnerabilities, EOL (End Of Life) for software components and risk factors. Scans are on-demand and there is no executable running on your endpoint host/system. Scan snapshots are kept to journal the changes on each system/application.
* Provides assessment reports suggesting migration targets based on risk factor and priority.
* Automatically extracts application code, refactoring workloads and fixing issues, and prepares it for cloud deployment.
* Design Cloud Deployment waves to orchestrate your cloud migrations.
* Runs on your cloud environment, keeping privacy and security on the spotlight.

***

## High-Level Architecture

<figure><img src="/files/zWZzqyVaNXldVy5RePA2" alt=""><figcaption><p>Solution Components</p></figcaption></figure>

### Components

The entire solution is composed of the following components:

* **Scanner** - deployed on-demand on the destination host
* **Orchestrator** - runs on your premises (e.g. a laptop of the user) and has network connectivity with the hosts
* **Frontend** **UI** - the web interface that can be used to mange the scans, migrations and observe all the captured data
* **Backend Services** - a set of microservices that runs on your cloud and contains the business logic components required for the platform to operate
* **Target Destinations** - your destination environment (e.g. cloud container solutions) where you want to deploy the migrated application

For more information, please see [Components](/52eJroWboQfTwsFl14gL/quickstart-guide/overview/components.md)

***

## What application types can we detect & assess?&#x20;

Below a list of frameworks, languages and versions of the applications/workloads we can assess:

<table><thead><tr><th width="242.15625">Language or Framework</th><th valign="middle">Type or Version</th></tr></thead><tbody><tr><td><strong>Linux system container</strong></td><td valign="middle">Linux 64bits (VM or otherwise)</td></tr><tr><td><strong>Java</strong></td><td valign="middle">Any version</td></tr><tr><td><strong>Apache Tomcat</strong></td><td valign="middle">Apache Tomcat v8.5 - v10.0</td></tr><tr><td><strong>Apache</strong> <strong>Web</strong></td><td valign="middle">Apache HTTP Server v2.4</td></tr><tr><td><strong>JBoss or WildFly</strong></td><td valign="middle">​JBoss Application Server v8.1.0 or later<br>​JBoss Enterprise Application Platform v7.0 - 7.4</td></tr><tr><td><strong>IBM WebSphere</strong></td><td valign="middle"><p>​WebSphere Application Server </p><p> v8.55 &#x26; v9.05<br>WebSphere Application Server Liberty (all versions)</p></td></tr><tr><td><strong>WordPress sites</strong></td><td valign="middle">WordPress v4.0 or later</td></tr><tr><td><strong>Oracle WebLogic</strong></td><td valign="middle">Oracle WebLogic 12.2 or later​</td></tr><tr><td><strong>.NET ASP</strong></td><td valign="middle">​IIS v7.5 or later.<br>.NET v2 or later</td></tr><tr><td><strong>PHP</strong></td><td valign="middle">PHP Frameworks</td></tr><tr><td><strong>Python</strong></td><td valign="middle">Python Frameworks (Django)</td></tr></tbody></table>

## What about other services, like Messaging Services or Databases?&#x20;

We can detect additional services like Messaging (e.g. MQ) or Databases (e.g. SQL), but we do not provide assessment or migration capabilities for it.

## How to run an Application Discovery & Assessment?&#x20;

For more information. please see [Discovery & Assessment](/52eJroWboQfTwsFl14gL/quickstart-guide/discovery-and-assessment.md)

***

## How to run an Application Modernization?&#x20;

For more information. please see [Migration & Deployment](/52eJroWboQfTwsFl14gL/quickstart-guide/migration-and-deployment.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.appfactor.io/52eJroWboQfTwsFl14gL/quickstart-guide/overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
