Amazon CodeGuru

ML 기반 권장 사항을 통한 코드 검토 자동화 및 애플리케이션 성능 최적화

가장 비경제적인 코드 줄을 찾아 코드 품질 높이기

Amazon CodeGuru는 코드 수준을 향상하고 애플리케이션에서 가장 비경제적인 코드 줄을 찾아내는 데 유익한 지능형 권장 사항을 제공하는 개발자 도구입니다. CodeGuru를 기존 소프트웨어 개발 워크플로에 통합하면 애플리케이션 개발 중에 코드 검토를 자동화하고, 프로덕션에서 애플리케이션 성능을 지속적으로 모니터링하며, 코드 품질 및 애플리케이션 성능 개선을 위한 권장 사항과 시각적 단서를 제공하고, 전체 비용을 절감할 수 있습니다.

CodeGuru 리뷰어는 기계 학습을 사용하여 애플리케이션 개발 중 심각한 문제, 보안 취약성 및 찾기 힘든 버그를 식별하여 코드 품질을 높입니다. 자세히 알아보기 »

CodeGuru Profiler를 사용하면 애플리케이션의 가장 비경제적인 코드 줄을 파악하여 애플리케이션의 런타임 동작을 이해하고 코드가 비효율적인 부분을 파악해 제거하고, 성능을 개선하여 컴퓨팅 비용을 대폭 절감할 수 있습니다. 자세히 알아보기 »

Introduction to Amazon CodeGuru (2:20)

작동 방식

CodeGuru 리뷰어 및 프로파일러를 개발 파이프라인에 통합하여 코드 품질을 개선하고 애플리케이션 성능을 최적화할 수 있습니다.
Amazon CodeGuru 작동 방식

Amazon CodeGuru 리뷰어

CodeGuru 리뷰어는 Java 및 Python(평가판으로 제공 중) 코드의 문제를 찾고 해결 방법에 대한 권장 사항을 제공합니다. 수십 년간 축적된 지식과 경험을 바탕으로 훈련된 CodeGuru 리뷰어는 기계 학습, AWS 및 보안 모범 사례와 수백만 건의 코드 검토와 오픈소스 프로젝트와 수천 개의 오픈 소스 및 Amazon 리포지토리에서 힘들게 얻은 교훈을 기반으로 구축되었습니다.

코드 검토를 시작하려면 GitHub, GitHub Enterprise, Bitbucket 또는 AWS CodeCommit의 기존 코드 리포지토리를 CodeGuru에 연결하면 됩니다.

이점

프로덕션 이동 전에 코드 문제를 포착

개발자는 코드를 검토할 때 평소와 다름없이 코드를 GitHub, GitHub Enterprise, Bitbucket Cloud 및 AWS CodeCommit 등에 커밋하고 CodeGuru 리뷰어를 코드 검토자 중 하나로 추가하면 됩니다. 일반적인 개발 프로세스를 달리 변경할 필요가 없습니다. CodeGuru 리뷰어는 리포지토리에 있는 기존 코드 베이스를 분석하고, 찾기 어려운 버그와 중요한 문제를 식별하며, 이를 해결하는 방법에 대한 지능형 권장 사항을 제공하고, 연속적인 코드 검토를 위한 기준을 생성합니다.

보안 취약성 해결

 
CodeGuru 리뷰어 보안 탐지기는 기계 학습과 수년에 걸친 AWS의 보안 경험을 바탕으로 코드 보안을 개선합니다. 상위 10개 OWASP 범주의 보안 취약성을 식별하고 KMS, EC2 API와 일반 Java 암호화 및 TLS/SSL 라이브러리에 대한 모범 사례를 준수하는 코드를 작성하는 데 도움이 됩니다. 보안 탐지기는 문제를 발견할 경우 코드 개선을 제안하는 이유에 대한 설명과 함께 문제 해결을 위한 권장 사항을 제공합니다. 따라서 보안 엔지니어는 아키텍처 및 애플리케이션 관련 보안 모범 사례에 집중할 수 있습니다.

지속적인 모니터링을 통해 코드 품질을 사전에 개선

CodeGuru 리뷰어는 시작된 모든 풀 요청에 대해 증분 코드 변경을 자동으로 분석하고 풀 요청에 직접 권장 사항을 게시합니다. 또한 정기적인 코드 유지 관리를 위한 전체 리포지토리 또는 코드베이스 검사와 코드 실사 이니셔티브를 지원하여 코드 품질을 일관되게 유지합니다.

Amazon CodeGuru 프로파일러

CodeGuru 프로파일러는 프로덕션에서 실행 중인 애플리케이션의 성능을 최적화하고 가장 비경제적인 코드 줄을 식별합니다. 항상 애플리케이션 성능 최적화를 검색하고, 이러한 코드를 수정하여 CPU 사용률을 줄이고 컴퓨팅 비용을 절감하고 애플리케이션 성능을 개선할 방법을 권장합니다.

Amazon EC2, Amazon ECS, AWS Fargate, Amazon EKS, AWS Lambda 또는 온프레미스에서 실행되는 각종 애플리케이션의 성능을 최적화합니다.

이점

성능 문제 해결

CodeGuru 프로파일러는 애플리케이션의 런타임 데이터를 분석하여 CPU 및 메모리 사용률을 개선하고 성능 문제를 해결하여 지연 시간 및 처리량을 개선합니다. CodeGuru 프로파일러는 CPU 사용률에 대한 최소한의 오버헤드로 프로덕션에서 지속적으로 실행됩니다. 힙 요약 정보를 통해 메모리를 사용 중인 항목을 파악할 수 있습니다.

애플리케이션 성능 이상 및 일반적인 성능 문제 발견

CodeGuru 프로파일러는 애플리케이션 스택에서 더 많은 CPU를 소비하기 시작하거나 지연 시간을 늘리는 중요한 메서드의 성능 이상을 자동으로 탐지하고 5분 간격으로 업데이트되는 탐지 보고서를 제공합니다. 이러한 조기 탐지 및 알림을 통해 프로덕션에서 문제가 에스컬레이션되는 것을 방지하고 서비스 가용성과 고객의 경험에 영향을 미치기 전에 문제를 해결할 수 있는 충분한 시간을 확보할 수 있습니다.

지금 바로 가장 비경제적인 코드 줄 확인하기

 
코드와 애플리케이션의 효율성이 높을수록 실행 비용이 줄어듭니다. CodeGuru 프로파일러는 성능 문제를 해결하는 방법에 대한 시각화 및 권장 사항을 제공하여 프로덕션에서 실행되는 모든 애플리케이션의 운영 비용을 최대 50%까지 절감합니다. 또한 비효율적인 코드를 실행하는 것에 대한 예상 비용을 보여줌으로써 개발자가 중요한 문제를 우선적으로 처리할 수 있도록 합니다.

CodeGuru에 대해 자세히 알아보려면 Amazon CodeGuru 개발자 포럼을 방문하세요.

frame-cost-3
Discover Anomalies
github-code-review-recommendation
CodeGuruBenefit3
Fix
Troubleshoot performance issues

고객 성공 사례

Atlassian

"170,000개 이상의 회사의 팀이 Atlassian의 제품을 사용하여 더 쉽게 팀워크를 이루고, 업무를 조직하고, 토론하며, 완성하는 데 도움을 받습니다. Atlassian의 많은 서비스는 배포당 100여개의 체크인이 필요합니다. 개발 팀의 코드 검토는 버그가 프로덕션에 도달하는 것을 방지하는 데 큰 역할을 하기는 하지만, 하루에 여러 배포가 이루어지기 때문에 스트레스 상황에서의 시스템 작동 방식을 예측하거나 복잡한 데이터 형태를 관리하는 것이 항상 가능한 것은 아닙니다."

Atlassian 기술 팀 엔지니어링 책임자 Zak Islam

Atlassian이 CodeGuru Profiler를 통해 프로덕션에서 서비스를 프로파일링하는 방법 알아보기 »

 

EagleDream

"애플리케이션 개발의 일부는 기존 시스템에 피드백과 지속적인 개선 사항을 적용하는 것뿐만 아니라 성능이 뛰어난 시스템을 만드는 것입니다. 이는 강력한 아키텍처 기반에서부터 시작하지만 애플리케이션 코드의 상세 정보로 끝나는 경우가 많습니다. EagleDream에서 우리 팀이 이러한 세부사항을 파고들 때는 우리 마음대로 다양한 도구를 사용하고, 정적 분석과 동적 분석을 모두 사용하는 것이 도움이 됩니다. Amazon CodeGuru 프로파일러에서 제공하는 런타임 분석은 실행하기 가장 간단하고 빠른 분석 중 하나이며, 애플리케이션 코드에 대한 통찰력을 생성하여 해결하기 쉽습니다. 이러한 도구를 사용하여 사용하지 않았을 경우에 찾기 어려웠을 애플리케이션 부분의 병목 현상을 빠르게 찾아낸 후 아주 빠른 피드백 루프를 통해 구현 및 테스트할 수 있는 변경 사항을 개발할 수 있었습니다. 이를 통해 우리와 고객의 워크로드를 지속적으로 제공하고 개선할 수 있으므로 고객에게 뛰어난 성능을 제공하는는 동시에 비용을 절감할 수 있습니다."

EagleDream 수석 클라우드 솔루션스 아키텍트 Dustin Potter

EagleDream이 CodeGuru Profiler를 통해 애플리케이션을 최적화하는 방법 살펴보기 »

DevFactory

"DevFactory에서는 100개 이상의 엔터프라이즈 소프트웨어 제품 전체에서 6억 줄 이상의 코드를 관리합니다. 향후 로드맵의 핵심 구성요소는 모든 제품을 AWS에서 사용할 수 있는 놀라운 관리 서비스를 활용하는 클라우드 네이티브 제품으로 바꿔 놓는 것입니다. 구식의 온프레미스 아키텍처를 재구축하고, 클라우드용으로 아키텍처를 변환하면 모든 최신 서비스를 계속 받는 것부터 아키텍처와 관련된 패러다임 전환에 맞게 조정하는 것까지 다양한 엔지니어링 과제가 발생합니다. Amazon CodeGuru는 제품의 성능을 최적화하는 동시에 준비된 모든 모범 사례를 통해 이러한 서비스를 활용할 수 있게 하는 매우 귀중한 도구입니다. Amazon CodeGuru 리뷰어와 같은 도구가 없었다면 FogBugz와 같은 전체 제품을 AWS 클라우드 네이티브로 다시 작성할 수 없었을 것입니다. 현재 저희는 Amazon CodeGuru 프로파일러를 사용하여 EngineYard의 컨테이너 기반 'No Ops' 플랫폼과 차세대 Jive 협업 플랫폼을 비롯한 다수의 제품을 최적화하고 있습니다."

DevFactory CEO Rahul Subramaniam

DevFactory가 CodeGuru를 통해 더 나은 애플리케이션을 구축하는 방법 알아보기 »

블로그 및 기사

2020년 12월 4일
Ran Fu, Pierre Marieu, Neela Sawant
2020년 12월 1일
Brian Farnhill
 
2020년 9월 10일
Kazuma Ohara, Yumiko Kanasugi
Amazon DevOps Guru

Amazon DevOps Guru

DevOps Guru는 개발자와 운영자가 애플리케이션의 운영 성능 및 가용성을 측정하고 개선할 수 있는 단순한 방법을 제공합니다.

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를 사용하여 구축을 시작하십시오.

로그인