이 문서에서는 애플리케이션 현대화에 대한 엔드투엔드 지원을 제공하는 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를 사용하면 더 빠르고 자신있게 사용할 수 있습니다.