Discover Concepts
What is Discover
Discover feature collects the System information (CPU, memory, network, scheduled jobs and so on), overall process information, process details of each running process and it's dependencies, external communication by each process from the host. - OmniDeq application uses an agentless method for the said discovery.
Host
Host is a physical or virtual machine which runs the processes which are to be containerized. Following host OSes are supported. ( Follow the full support matrix here.)
- Linux
- Windows
Project
Project is a group of hosts.
- The hosts run the applications which you can discover.
- One can add a maximun of 50 hosts to a Project.
- The hosts can be a mix of Windows and Linux.
In releases prior to 2.x, Project was referred to as a Wave
Discover Phases
Discover Process is divided into 2 phases.
- Phase 1 - Fetches the static information about the host ( System Information, Process Information ).
- Phase 2 - Fetches the dynamic information about each selected process on the host ( dependencies like .so files, config files, log files, network communication to other process either on the same host or another ) by attaching a probe to a running process.
Both the phases are supported on Linux. Only phase 1 is supported for Windows.
Prerequisites
The host requires the prerequisites to be satisfied before starting the discover. This is the mandatory step without which the discover will not start.
- Linux prerequisites
- Windows prerequisites
Force Discover
Sometimes the discover may get stuck for unknown reasons and the results are not displayed on the UI. The Force discover overrides the earlier discover process and triggers a fresh discover.
Non Invasive Discover
Phase 2 discover is skipped for specific servers like IBM Websphere, Oracle Weblogic, Apache Tomcat and Jboss EAP where most of phase 2 discovery information is fetched in phase 1 itself. Thus one can proceed with Transform without X-Ray. - Non invasive discover is automatically performed. - It is supported on all OSes Linux, Windows.
Ignore List
During the phase 1 discover all the running processes on the host are scanned for it's properties and I/O. This may increase the overall processing time and thus is undesirable. The user can define the ignore list of processes per host which can be safely ignored during discover phase 1.
Application Ignore List
This is specifically for Non-Xray Java applications deployed on AppServers like IBM Websphere, Oracle Weblogic, Apache Tomcat and Jboss EAP. If the user already knows the applications hosted on these Java Servers, then one or more applications can be analyzed instead of all by defining Application Ignore List.
Application
Application is a way to group processes running across multiple hosts in a Project belonging to a mult-tier application. Think of an application as a bucket which holds discrete but connected processes.
Example : A multi-tier application where following processes are running on multiple hosts.
- Nginx : Reverse proxy
- Nginx : Hosts react.js code as frontend
- Apache Tomcat : Middleware
- Mysql : Database
Report
Report is an organized, detailed information of Project, hosts and processes which includes Executive summary, About customer, Discovery findings, Hosts classifications, Container Complexity calculations, Technology stacks, Application distributions, Topology and Containerization recommendations. Using this report the application architect can decide further containerization strategy.
Topology
Topology shows the connections between the hosts and the processes it runs in a Project in a graphical manner.
Classify Host
One can classify the host(s) based on 3 of the 6R's principle - Retire, Retain or Rehost
What is 6R's Principle ?
- Reinvest : This strategy is typically used for applications that are strategic. Organizations are ready to invest additional efforts. time and money to keep the application up to date and useful. The sub-category of actions in this category are Rehost, Replatform or Refactor.
- Replatform : The replatform strategy involves moving applications almost as-is, but replacing some components to take advantage of the cloud. CloudHedge enables replatform in multiple ways. We enable application teams a choice of rationalizing the application environments used for host the applications to leaner and cost-effective options. This also helps in moving qualified services from Windows operating systems to Linux OS as applicable.
- Refactor : This strategy calls for a overhaul of the application to adapt it to the cloud native. It is valuable when you have a strong business need for cloud-native features, such as improved development agility, scalability or performance. CloudHedge specializes in getting started on your refactoring journey that can lead to breaking up the application into independent services and transitioning to a micro-services architecture. CloudHedge makes it possible to get started on this path depending on organizational skills/abilities.
- Rehost : This strategy involves moving applications from the on-prem environment to the cloud without modification. It is commonly used to migrate large-scale legacy applications to meet specific business objectives such as an accelerated product launch timeline.This strategy involves moving applications from the on-prem environment to the cloud without modification. It is commonly used to migrate large-scale legacy applications to meet specific business objectives such as an accelerated product launch timeline.
- Retain : This doesn’t involve migrating the application to the cloud. The business is heavily invested in the on-prem application and may have currently active development projects. Legacy operating systems and applications are not supported by cloud environments. Application is working well—no business case for the cost and disruption of migration. For industries which must adhere to strict compliance regulations that require that data is on-prem. For applications that require very high performance, the on-prem option may prove the better choice.
- Retire : This doesn’t involve migrating the application to the cloud. In many cases, during a migration project you can identify applications that are redundant, and shutting them down can represent a cost saving. There may already be existing plans to decommission the application or consolidate it with other applications.