PKOS - 7주차 졸업 과제 RedHat - Red Hat 개발자 워크샵 Container & Cloud-Native hands-on 후기 (1)
- -
졸업 과제 주제 선정 이유
최근 Red Hat에서 진행하는 개발자 워크샵 Container & Cloud-Native에 다녀왔다.
개인적으로 관심있었던 MSA와 모놀리스 애플리케이션의 Cloud-Native화, 그리고 OpenShift를 직접 다루어 볼수 있는 Hands-on 세션으로 이루어진 흥미로운 주제의 좋은 워크샵 이었기에 공유하면 어떨까 하는 생각에 이렇게 졸업 과제 주제를 선정하게 되었다.
Red Hat 개발자 워크샵에는 많은 내용이 있었지만 그중 Migration Toolkit for Applications을 사용하여 Java EE 애플리케이션을 JBoss EAP로 이동하고 컨테이너화는 Module1에 대해서 다루려고 한다.
Red Hat 개발자 워크샵 개요 & 커리큘럼


RedHat에서 진행하는 Container & Cloud-Native Hands on 세션
워크샵 환경
워크샵 환경은 미리 준비된 샌드박스 환경의 오픈시프트 클러스터등으로 구성이 되어 있었고 이를 위해서 설치된 서비스에 액세스할 수 있는 클릭 가능한 URL과 사용자 계정,비밀번호 등이 제공 되어 별도의 개발 환경 클러스터 구성 없이 바로 진행할 수 있었고 Hands-on 세션을 위해 가이드 문서가 미리 제공 되어 쉽게 오픈시프트 환경에서 테스트를 진행 할 수 있었다.
사용 중인 작업장 환경
작업장 환경은 미리 설치되어 바로 사용할 수 있는 여러 구성 요소로 구성됩니다. 수행 중인 워크샵의 부분에 따라 다음 중 하나 이상을 사용합니다.
- Red Hat OpenShift - 자신의 프로젝트 (Kubernetes 네임스페이스)를 하나 이상 사용 하고 다른 워크샵 수강생과 격리합니다.
- Red Hat CodeReady Workspaces - Eclipse Che 기반으로 클라우드 기반 브라우저 내 IDE(IntelliJ IDEA, VSCode, Eclipse IDE와 유사)입니다. 이 워크숍에 사용할 개인 작업 공간이 프로비저닝되었습니다. 여기에서 코드를 작성, 테스트 및 배포합니다.
- Red Hat Application Migration Toolkit - 기존 애플리케이션을 마이그레이션하는 데 사용합니다.
- Red Hat Runtimes - Spring Boot, Node.js 및 Quarkus 와 같은 클라우드 네이티브 런타임 모음
- Red Hat AMQ Streams - Apache Kafka 기반 스트리밍 데이터 플랫폼
- Red Hat SSO - 인증/권한 부여용 - Keycloak 기반
- Knative (서버리스 앱용), Jenkins 및 Tekton (CI/CD 파이프라인), Prometheus 및 Grafana (모니터링 앱) 등과 같은 기타 오픈 소스 프로젝트 .
Red Hat은 Quarkus의 지원 및 유지 관리와 함께 완벽하게 지원되는 Red Hat Build of Quarkus(RHBQ)를 제공합니다 . 이 워크숍에서는 Quarkus를 사용하여 Kubernetes 네이티브 마이크로서비스를 개발하고 이를 OpenShift에 배포합니다. Quarkus는 Red Hat Runtimes 에 포함된 런타임 중 하나입니다 . RHBQ에 대해 자세히 알아보세요 .
2. 애플리케이션용 마이그레이션 툴킷 시작하기
이 모듈에서는 소매 웹샵용으로 설계된 기존 Java EE 애플리케이션으로 작업합니다. webshop의 현재 버전은 Oracle Weblogic Application Server용으로 구축된 Java EE 애플리케이션입니다. 현대화 전략의 일환으로 이 애플리케이션을 JBoss EAP로 이동하고 컨테이너화한 다음 OpenShift를 사용하여 Kubernetes 플랫폼에서 실행하기로 결정했습니다.
애플리케이션용 마이그레이션 툴킷이란 무엇입니까?

MTA(Migration Toolkit for Applications)는 Java 응용 프로그램의 마이그레이션을 단순화하는 데 도움이 되는 확장 가능하고 사용자 정의 가능한 규칙 기반 도구입니다.
다음을 위해 조직에서 사용합니다.
- 계획 및 작업 견적
- 마이그레이션 문제 파악 및 솔루션 제공
- 자세한 보고
- 기본 제공 규칙 및 마이그레이션 경로
- 규칙 확장성 및 사용자 정의
- 소스 코드 또는 애플리케이션 아카이브 분석 능력
자세한 내용은 MTA 문서
실습 1 - MTA IDE 플러그인을 사용하여 앱 분석
이 단계에서는 Oracle WebLogic Server(WLS)와 함께 사용하도록 구축된 모놀리식 애플리케이션을 분석합니다. 이 애플리케이션은 표준 Java EE API와 독점 Weblogic API 및 모범 사례를 포함하여 다양한 기술을 사용하는 Java EE 애플리케이션입니다.
이 실습에서는 MTA를 사용합니다. IDE 플러그인 CodeReady 작업 공간을 기반으로 합니다.
Migration Toolkit for Applications용 IDE 플러그인은 Eclipse 및 Red Hat CodeReady Studio/Workspaces에서 마이그레이션 또는 현대화 작업을 위해 변경하는 개발자를 위해 직접 지원을 제공합니다. MTA를 사용하여 프로젝트를 분석하고, 소스 코드의 마이그레이션 문제를 표시하고, 문제를 해결하기 위한 지침을 제공하고, 가능한 경우 자동 코드 교체를 제공합니다.
1. 개발 환경에 액세스
다음을 기반으로 하는 온라인 IDE인 Red Hat CodeReady Workspaces를 사용하게 됩니다. 이클립스 체. 파일 변경사항은 몇 초마다 자동 저장되므로 변경사항을 명시적으로 저장할 필요가 없습니다.
시작하려면 CodeReady Workspaces 인스턴스에 액세스 할당된 사용자 이름과 암호를 사용하여 로그인합니다
(예: 페이지 상단/r3dh4t1에 사용자 ID를 입력하십시오!).

로그인하면 개인 대시보드에 배치됩니다. 아래와 같이 왼쪽에 미리 생성된 워크스페이스의 이름을 클릭합니다(할당된 번호에 따라 이름이 달라집니다).

중앙에 있는 작업 공간 이름을 클릭한 다음 화면 오른쪽 상단에 있는 Open 이라는 녹색 PLEASE ENTER USERID AT TOP OF PAGE 네임스페이스를 클릭할 수도 있습니다.

1~2분 후에 작업 공간에 배치됩니다.

이 IDE는 Eclipse Che(Microsoft VS 코드 편집기를 기반으로 함)를 기반으로 합니다.
프로젝트 탐색기, 검색, 버전 제어(예: Git), 디버깅 및 기타 플러그인 간을 탐색하기 위한 아이콘이 왼쪽에 표시됩니다. 이 워크숍을 진행하는 동안 이러한 도구를 사용하게 됩니다. 자유롭게 클릭하여 수행하는 작업을 확인하십시오.

CodeReady Workspaces의 많은 기능은 명령을 통해 액세스할 수 있습니다 . 홈 페이지에서 링크와 함께 나열된 몇 가지 명령을 볼 수 있습니다(예: New File.., Git Clone.. 및 기타).
메뉴에 표시되지 않는 명령을 실행해야 하는 경우 F1을 눌러 명령 창을 열거나 보다 전통적인 Control+SHIFT+P (또는 Mac OS X에서는 Command+SHIFT+P )를 누를 수 있습니다.
첫 번째 프로젝트를 가져오겠습니다. Git Clone..을 클릭합니다 . (또는 F1을 입력하고 'git'을 입력한 후 자동 완성된 Git Clone..을 클릭합니다. )

Repository URL 에 대해 다음 값을 사용하여 프롬프트를 단계별로 실행합니다 . FireFox 를 사용하는 경우 끝에 추가 공백을 붙여넣을 수 있으므로 붙여넣은 후 백스페이스를 누르십시오.

프로젝트/가 선택되어 있는지 확인하고 저장소 위치 선택을 클릭한 다음 열기를 클릭합니다 .

새 작업공간을 로드하려면 웹 브라우저를 다시 로드해야 할 수 있습니다.
프로젝트를 작업 공간으로 가져오고 프로젝트 탐색기에 표시됩니다( OPEN EDITORS 접기 ).

중요: 적절한 Git 브랜치를 확인하세요.
올바른 버전의 프로젝트 파일을 사용하고 있는지 확인하려면 CodeReady 터미널에서 다음 명령을 실행하십시오.
|
CodeReady Workspaces의 터미널 창. 개발자 작업 공간에서 실행 중인 모든 컨테이너에 대한 터미널 창을 열 수 있습니다. 이 실습의 나머지 부분에서는 터미널에서 명령을 실행해야 할 때마다 오른쪽에 있는 >_ New Terminal 명령을 사용할 수 있습니다.
|
2. 구성 편집기를 사용하여 분석 설정
왼쪽의 MTA 탐색기 아이콘을 클릭합니다 . 그런 다음 새 MTA 구성이 표시됩니다.

소스 파일 및 디렉터리를 입력하려면 추가를 클릭한 다음 파일 탐색기 열기를 선택합니다.
기존 입력 디렉터리를 제거해야 할 수도 있습니다.

프로젝트 > cloud-native-workshop-v2m1-labs를 연 다음 모놀리식 디렉터리를 선택합니다. 선택 을 클릭합니다 ... :

그러면 --input 구성 에 /projects/cloud-native-workshop-v2m1-labs/monoilth 디렉터리가 추가된 것을 볼 수 있습니다 .
마이그레이션할 --target server에서 eap7이 이미 선택되어 있는지 확인하십시오 .

마이그레이션할 --source를 클릭한 다음 weblogic을 선택합니다. 다른 구성은 그대로 둡니다.

3. 분석 보고서 실행
Run 아이콘을 클릭하여 WebLogic 애플리케이션을 분석합니다. 실행 아이콘이 표시되지 않으면 mtaConfiguration 을 클릭해야 합니다 .

MTA(Migration Toolkit for Applications) CLI가 새 터미널에서 자동으로 실행된 후 분석을 완료하는 데 몇 분 정도 걸립니다. 보고서 열기 를 클릭합니다 .

4. 보고서 검토

보고서의 기본 랜딩 페이지에는 처리된 애플리케이션이 나열됩니다. 각 행에는 스토리 포인트, 인시던트 수 및 해당 애플리케이션에서 발생한 기술에 대한 높은 수준의 개요가 포함되어 있습니다.
모놀리 식 링크를 클릭하여 프로젝트 세부 정보에 액세스합니다.

5. 보고서 이해
대시보드는 전체 애플리케이션 마이그레이션 작업에 대한 개요를 제공합니다. 요약:
- 카테고리별 사건 및 스토리 포인트
- 제안된 변경 사항의 노력 수준별 사건 및 스토리 포인트
- 패키지별 사건
|
스토리 포인트는 기능 또는 변경 사항을 구현하는 데 필요한 노력의 상대적 수준을 추정하기 위해 애자일 소프트웨어 개발에서 일반적으로 사용되는 추상 메트릭입니다. Migration Toolkit for Application은 스토리 포인트를 사용하여 특정 애플리케이션 구조 및 애플리케이션 전체를 마이그레이션하는 데 필요한 노력 수준을 표현합니다. 작업 수준은 마이그레이션할 애플리케이션의 크기와 복잡성에 따라 크게 달라집니다.
|
이 보고서를 사용하여 각 앱이 얼마나 쉬운지/어려운지 추정하고 마이그레이션할 앱, 리팩터링할 앱, 그대로 둘 앱을 결정할 수 있습니다. 이 경우 JBoss EAP로 바로 마이그레이션합니다.
'Study > PKOS' 카테고리의 다른 글
| PKOS - 7주차 졸업 과제 RedHat - Red Hat 개발자 워크샵 Container & Cloud-Native hands-on 후기 (2) (0) | 2023.03.05 |
|---|---|
| PKOS - 7주차 - 보안 (0) | 2023.03.04 |
| PKOS - 6주차 - 얼럿매니저 로깅시스템 (0) | 2023.02.24 |
| PKOS - 4주차 Harbor, Gitlab, ArgoCD (0) | 2023.02.06 |
| PKOS - 중간 과제 Azure Kubernetes Service 간단 소개 (0) | 2023.02.02 |
소중한 공감 감사합니다