Amazon CodeGuru는 자동화된 코드 검토 및 애플리케이션 성능 권장 사항을 제공하는 기계 학습 서비스입니다.

Amazon CodeGuru 리뷰어

Amazon CodeGuru 리뷰어는 코드의 문제를 찾고 이러한 문제를 해결하는 방법을 권장하는 기능입니다. 예를 들어 CodeGuru 리뷰어는 AWS API 및 SDK 사용 모범 사례와 다른 부분을 감지하며 동시성 문제, 리소스 유출, 및 올바른 입력 검증을 식별합니다. 코드 검토를 시작하려면 GitHub 또는 AWS CodeCommit의 기존 코드 리포지토리를 CodeGuru에 연결하면 됩니다.

코드 검토 자동화

CodeGuru 리뷰어는 소스 코드 풀 요청을 자동으로 분석하여 중요한 문제를 찾은 다음 풀 요청 안에서 직접 코드 결함을 해결하는 데 필요한 지능형 권장 사항을 제공합니다.

Screenshot_Catch-Code-Issue_2 - Features
Screenshot_Catch-Code-Issue_2 - Features
 확대하려면 클릭

Amazon CodeGuru 리뷰어는 풀 요청을 스캔하고 Github 또는 AWS CodeCommit의 소스 코드를 기준으로 문제의 원인 및 해결 방법에 대한 설명과 함께 권장 사항을 제공합니다.


빠르고 안정적인 코드 문제 감지

CodeGuru 리뷰어는 소스 코드에서 스레드 안정성 문제, 삭제되지 않은 입력 사용, 민감한 데이터(예: 자격 증명)의 부적절한 처리 및 리소스 유출 같은 다양한 문제를 감지하고 플래그를 지정합니다. 또한 이러한 문제의 해결 방법에 대한 권장 사항을 제공합니다. 이러한 문제는 일반적으로 피어 코드 검토 및 단위 테스트를 통해 감지하기가 어렵습니다. 여기에 더해 CodeGuru 리뷰어는 코드에 사용된 AWS API 및 SDK를 검토하며, 최신 AWS 기능 및 모범 사례를 숙지하는 데 도움이 되는 정보를 제공합니다.

Reviewer-Best-practices-pagination
Reviewer-Best-practices-pagination
 확대하려면 클릭

Amazon CodeGuru 리뷰어는 코드에 사용된 AWS API 및 SDK를 검토하고, 모범 사례와 다른 부분을 감지하며, 페이지 매김 누락 같은 프로덕션 문제로 이어질 수 있는 일반적인 문제에 플래그를 지정합니다.

Amazon CodeGuru 프로파일러

Amazon CodeGuru 프로파일러는 항상 애플리케이션 성능 최적화를 검색하고, 가장 “비경제적인” 코드 줄을 식별하며, 이러한 코드를 수정하여 CPU 사용률을 줄이고 컴퓨팅 비용을 절감하고 애플리케이션 성능을 개선할 방법을 권장합니다. 예를 들어 CodeGuru 프로파일러는 애플리케이션에서 핵심 비즈니스 논리를 실행하는 것이 아니라 일상 작업을 로깅하는 데 과도한 CPU 용량이 소비되는 상황을 식별할 수 있습니다.

애플리케이션의 실행 시간 동작 파악

CodeGuru 프로파일러는 애플리케이션 CPU 사용률 및 지연 시간 특성을 분석하여 애플리케이션에서 대부분의 주기가 사용되는 영역을 보여줍니다. 이 분석은 대화형 플레임 그래프로 표현되며 이 그래프에서 가장 많은 리소스가 사용되는 경로를 파악하고 애플리케이션이 예상대로 작동하는지 여부를 확인하며 추가 최적화가 가능한 영역을 식별할 수 있습니다.

Screenshot_FlameGraph
Screenshot_FlameGraph
 확대하려면 클릭

플레임 그래프는 지정된 시간에 실행되는 모든 스택 추적을 집계하여 애플리케이션의 성능을 시각화합니다. 플레임 그래프를 사용하여 가장 많은 리소스가 사용되는 경로를 파악하고 애플리케이션이 예상대로 작동하는지 여부를 확인하며 추가 최적화가 가능한 영역을 식별할 수 있습니다.


지능형 권장 사항

CodeGuru 프로파일러는 애플리케이션의 성능 문제를 자동으로 식별하고 해결 방법에 대한 지능형 권장 사항을 제공합니다. 이러한 권장 사항은 성능 엔지니어링에 관한 전문 지식 없이 코드에서 가장 비경제적이거나 리소스 집약적인 메서드를 식별하고 최적화하는 데 도움이 됩니다. 최적화를 수행하면 인프라 비용을 절감하고 지연 시간을 줄이며 전체 최종 사용자 경험을 개선할 수 있습니다.

Screenshot_FIND-YOUR-MOST_Annotated
Screenshot_FIND-YOUR-MOST_Annotated
 확대하려면 클릭

애플리케이션 성능을 최적화할 기회를 발견하는 경우 Amazon CodeGuru 프로파일러는 변경을 권장하는 이유, 문제의 원인, 해결 방법 및 이 문제가 애플리케이션에 영향을 미치는 코드의 영역을 설명합니다.


프로덕션 애플리케이션에 대한 상시 프로파일링

CodeGuru 프로파일러는 최소한의 CPU 오버헤드로 프로덕션에서 지속적으로 실행되도록 설계되었기 때문에 계속 실행 중인 상태로 유지해도 애플리케이션 성능에 미치는 영향이 작습니다. 따라서 실제 고객 트래픽 패턴을 사용하여 애플리케이션 프로파일링 및 문제 해결을 수행할 수 있으며 테스트 환경에서 감지되지 않았을 수 있는 성능 문제를 손쉽게 찾을 수 있습니다.

Product-Page_Standard-Icons_01_Product-Features_SqInk
제품 요금에 대해 자세히 알아보기

Amazon CodeGuru 요금 페이지를 방문하십시오.

자세히 알아보기 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
무료 계정에 가입

AWS 프리 티어에 즉시 액세스할 수 있습니다. 

가입하기 
Product-Page_Standard-Icons_03_Start-Building_SqInk
콘솔에서 구축 시작

AWS Management Console에서 Amazon CodeGuru를 사용하여 구축을 시작하십시오.

로그인