이 문서에서는 애플리케이션 현대화에 대한 엔드투엔드 지원을 제공하는 AI 도우미인 GitHub Copilot 앱 현대화에 대해 설명합니다.
기업은 개발 주기 내내 기술적인 문제를 처리하는 경우가 많으며 Java 런타임, 프레임워크 및 종속성을 업그레이드하는 것은 일반적이지만 리소스를 많이 사용하는 작업입니다. 동시에 많은 조직에서는 다음과 같은 애플리케이션 자산을 클라우드로 마이그레이션하고 현대화하는 것을 목표로 하고 있습니다.
- 코드, 구성 및 종속성의 현재 상태 평가
- Azure 리소스 계획
- 성공적인 마이그레이션을 가능하게 하기 위한 문제 해결
GitHub Copilot 에이전트 모드를 기반으로 하는 GitHub Copilot 앱 현대화는 Azure에서 애플리케이션을 실행하기 위한 업계 모범 사례를 통합하면서 일반적인 업그레이드 및 마이그레이션 시나리오에 대해 미리 정의된 작업을 제공합니다. 동시에 팀은 자체 코딩 표준, 조직 정책 및 기존 사례를 현대화 프로세스에 주입할 수 있습니다.
주요 기능 한눈에 보기
- 애플리케이션 평가 및 계획: 코드, 구성 및 종속성을 분석합니다. 평가에서 배포에 이르기까지 현대화 프로세스의 모든 작업을 시각화하는 데 도움이 됩니다.
- 코드 변환: 업그레이드 및 마이그레이션 시나리오에 대한 코드 수정을 제안하고 적용합니다.
- 빌드, 패치 및 테스트: 수정 후 프로젝트가 성공적으로 빌드되는지 확인하고 필요한 경우 수정을 적용합니다. CVE(Common Vulnerabilities and Exposures) 검사를 수행하여 보안 취약성에 대한 노출을 줄입니다. 기존 단위 테스트를 마이그레이션하고 새 단위 테스트를 생성하여 현대화 결과의 유효성을 검사하고 테스트 범위를 개선합니다.
- 컨테이너화 및 배포: Azure에 대한 배포를 자동화하기 위해 앱 컨테이너화 및 기타 아티팩트용 Dockerfile을 생성합니다.
GitHub Copilot 앱 현대화는 복잡한 업그레이드 단계를 자동화하는 것과 같은 OpenRewrite 오픈 소스 도구와 GitHub Copilot의 AI 기반 기능을 통합합니다. Maven 및 Gradle 프로젝트를 모두 지원하고 Java 버전 8, 11, 17 및 21 간의 업그레이드를 대상으로 합니다. 이 도구는 Spring Boot 프레임워크를 사용하는 애플리케이션을 현대화하는 데 특히 중점을 두고 있습니다. 업그레이드 프로세스는 모든 로그와 출력을 표시하여 제어를 유지하고 투명도를 보장합니다.
다음을 포함하여 클라우드 준비 마이그레이션 문제에 대한 개요를 보려면 앱 평가를 사용하여 마이그레이션 과정을 시작합니다.
- Azure 리소스 설정 지침
- 다음 모범 사례에 대한 권장 사항
- 애플리케이션 코드 변경에 대한 권장 사항
코드 변경이 필요한 시나리오에서 GitHub Copilot 앱 현대화는 수정 단계를 안내합니다. 이 단계에서는 다음과 같은 일반적인 문제에 대해 미리 정의된 작업을 사용할 수 있습니다.
- 암호 기반 인증에서 관리 ID로 전환
- AWS(Amazon Web Services) S3에서 Azure Blob Storage로 이동
현재 GitHub Copilot 앱 현대화에서 사용할 수 있는 미리 정의된 작업에 대한 자세한 내용은 미리 정의된 작업을 참조하세요.
개발과 관련하여 기업은 고객 정의 작업이 들어오는 엄격한 프로세스와 제어를 가지고 있는 경우가 많습니다. 자세한 내용은 빠른 시작을 참조하세요. GitHub Copilot 앱 현대화를 위한 고유한 작업 만들기 및 적용
고객 정의 작업은 이전에 마이그레이션된 애플리케이션에서 코드 커밋을 분석하여 자동으로 생성됩니다. 이러한 작업은 다른 앱에서 유사한 문제에 대한 수정 가이드 역할을 하므로 Copilot가 여러 코드베이스에 입증된 패턴을 적용할 수 있습니다. 마이그레이션이 성공할 때마다 기술 자료가 확장되어 향후 수정이 가속화되고 수동 작업이 줄어듭니다.
GitHub Copilot 앱 현대화에는 다음과 같은 특수 에이전트도 포함됩니다.
- 앱이 성공적으로 빌드되었는지 확인
- CVE를 해결하여 기술 부채 줄이기
- 단위 테스트를 사용하여 동작 무결성 유효성 검사
자세한 내용은 GitHub Copilot 앱 현대화 Java 유틸리티를 참조하세요.
현대화는 단순히 코드를 업그레이드하는 것이 아니라 클라우드용 애플리케이션을 준비하는 것입니다. Azure App Service, Azure Container Apps, AKS(Azure Kubernetes Service) 또는 AKS 자동을 대상으로 하든, Copilot를 사용하면 더 빠르고 자신있게 사용할 수 있습니다.