Playce RoRo 분석 개념과 아키텍처

1. 시스템 개념과 역할

On-Premise 방식의 유닉스 시스템의 지속적 U2L 전환, 오픈소스 적용, 분산 환경 기반 마련을 통한 점진적으로 Cloud 전환이 확산 되고 있습니다. Playce RoRo는 고객이 가진 엔터프라이즈 업무 환경의 현재 상태를 즉각적으로 분석하고 이를 평가하여 클라우드 전환 시 발생할 수 있는 이슈 사항을 사전에 파악하는 것이 매우 중요합니다. 보통의 경우 고객사는 업무 시스템 운영을 위해 WEB/WAS/DB, 서드파티(3rd Party) 솔루션 등의 다양한 시스템 소프트웨어 환경을 가지고 있으며 이는 매우 복잡합니다.

클라우드로 전환하기 위해서 최소 5단계의 과정을 거치게 되며 가장 먼저 AS-IS 시스템의 분석을 진행하게 되는데, 대부분의 컨설턴트/엔지니어의 능력에 의존하는 경우가 많으며 수작업으로 인해 놓치는 부분이 발생하는 경우가 종종 있습니다. Playce RoRo는 이러한 분석을

또한 분석이 완료된 시스템을 대상으로 CSP(Cloud Service Provider)로 마이그레이션 과정이 진행되야 하는데 이를 자동화하는 기능을 제공합니다.

Playce RoRo를 활용하게 되었을 때 얻을 수 있는 이점은 다음과 같습니다.

1.1 Analyze & Assessment

  • 인력 의존성 제거

  • 기술 전황 이슈 선행 파악

  • 인벤토리 조사(Discover) - 현행 시스템 조사, 인터페이스 관계 분석

  • 소프트웨어 설정 분석, 자바 애플리케이션 분석

  • 업무 시스템별 통계 정보 제공

1.2 Migration

  • Re-Host, Re-Platform, Cloud간 상호 이동성, 영역별 가이드 라인 제공

  • Pre-configuration에 의한 User/Group, crontab, 파일 시스템 데이터의 클라우드 기반 환경으로의 이동

2. 구성요소와 아키텍처

Playce RoRo의 레퍼런스 아키텍처는 다음과 같습니다.

위의 그림에서 나타나는 각 컴포넌트의 역할은 다음과 같이 정의됩니다.

구분

설명

Repository

  • 관리 대상 시스템 인벤토리 및 메타 데이터 저장을 위한 내장 데이터베이스

  • 마이그레이션 후 소프트웨어 추가 설치를 위한 RPM 리포지토리

Playce  RoRo Layer

Assessment

  • 서버, 미들웨어, DB, 프로세스 분석 처리를 위한 Analyzer

  • 분석된 데이터를 시각화 처리를 수행하는 토폴로지 핸들러

  • 분석된 결과를 엑셀 등의 리포트로 출력하는 리포트 컴포넌트

Migration

  • 타켓 클라우드 원격 프로비저닝

  • 마이그레이션 Replatform 설정 컴포넌트

  • Raw 이미지 처리를 위한 핸들러

  • 전환 상태 검증을 위한 Verifier

User Interface/

Control Component

  • 웹 기반 관리도구를 위한 JSON 형태의 통신 방식 제공

  • 소스 시스템 분석을 위한 파이썬 및 CSP 제어를 위한 SDK 영역

Source/Target Layer

  • 시스템 환경 분석 진단 및 마이그레이션 대상 클라우드 환경

 

보다 상세하게 분석 영역의 내용을 살펴보게 되면 각 컴포넌트들이 상호 통신하고 있으며 도식도는 다음과 같습니다.

 

각 항목별 요소 기능은 다음과 같이 요약될 수 있습니다.

  1. 분석 대상 서버 시스템

  2. 유닉스/리눅스/윈도우 서버 분석기

  3. WEB/WAS/3rd Party 분석 컴포넌트

  4. 데이터베이스 분석 컴포넌트

  5. 애플리케이션 분석 컴포넌트

  6. 작업 스케줄러, 메타데이터 프로세서

  7. SpringBoot 코어 컴포넌트

  8. React 기반 화면 컴포넌트

3. AS-IS 시스템의 분석 방법

다양한 운영체제가 혼재하는 데이터 센터 내의 다수의 서버 운영 환경 내에서는 업무 애플리케이션을 구동하기 위하여 많은 종류의 소프트웨어가 설치되어 있습니다. 이를 관리하기 위해 EAMS 솔루션, CMDB, 인벤토리 관리 시스템 등을 도입하고 있으나 현실적으로 서버 관리자, 네트워크 관리자, 애플리케이션 관리자, 데이터베이스 관리자로 관리 영역을 나누고 업무 기준 단위의 시스템 분석 정보 자동으로 수집하는 방법이 없어 관리되는 시스템 정보와 실제 시스템 정보의 차이가 발생하는 것이 일반적입니다. 이로 인해 업무에 대한 사일로가 발생하고 C 레벨의 임원 입장에서는 IT와 비즈니스가 마치 분리된 것과 같은 현상과 부딪히게 됩니다.

 

대부분 AS-IS 시스템의 분석은 마이그레이션을 진행하는 업체의 엔지니어가 투입되어 해당 시스템의 User/Group, 사용자 프로세스, 파일 시스템 등을 분석하여 정리하는 것이 일반적입니다. Playce RoRo에서는 이러한 과정을 프로세스, 포트를 분석하여 사용중인 시스템을 역으로 추출하는 기법을 사용합니다.

 

Playce RoRo는 운영체제에 의해 오픈된 소켓 정보를 활용하여 현재 운영체제에서 오픈된 포트 정보를 파악하게 되고, 이를 활용하여 현재 사용 중인 프로그램 목록과 연결 대상 시스템을 파악할 수 있습니다. 이 중 상태가 LISTEN 인 정보는 해당 포트를 사용하는 데몬을 구동하는 프로그램의 프로세스 아이디를 확인하며, 이를 통해 웹서버, 웹 애플리케이션 서버(WAS), 데이터베이스 서버의 파악을 수행하는 것이 가능하게 됩니다.

네트워크에서 추출된 PID(Process ID) 목록을 활용하여 프로세스 정보를 기준으로 다시 기동 중인 마이그레이션 대상 소프트웨어를 파악하게 됩니다.

사용하는 포트를 통해 프로세스 파악이 완료되면 그 프로세스를 사용하는 소프트웨어의 프로세스 상태 정보를 조회하고 이 소프트웨어에 대한 역추적 작업을 수행하게 된다. 예를 들어 해당 프로세스가 자바로 판명이 되는 경우 웹 애플리케이션 서버를 활용하는 데몬의 경우 이를 기동하기 위해 필요한 자바 런타임 버전, 소프트웨어를 구동하기 위한 클래스 정보, 필요한 라이브러리의 목록을 파악하게 됩니다.

운영체제에서 사용하는 시스템 프로세스 중 네트워크를 사용하는 SSH, FTP, Telnet 등의 프로세스의 경우 어떤 클라이언트에서 접속을 했는지 여부도 동일한 방법으로 파악하게 되며 대상 시스템이 마이그레이션 인벤토리 내의 서버인지 확인 후 알려지지 않은(Unknown) 서버인 경우 등록 작업을 루틴을 다시 수행하도록 합니다.  이러한 분석 대상 시스템의 사용자/프로세스/네트워크 상태 정보의 분석에 따라 사용하고 있는 소프트웨어의 정보를 역으로 추출하는 정보가 되며, 이는 아래의 도식처럼 상호 연관 관계를 가지게 됩니다.

 

Playce RoRo는 사용자, 프로세스, 네트워크의 정보를 활용하여 수집된 정보를 기반으로 데이터를 수집합니다. 이는 모두 에이전트가 필요없는 대상 서버의 SSH만을 활용하여 분석을 진행하고 있습니다.