AWS는 고객의 피드백을 기반으로 신규 서비스와 기능들을 끊임없이 추가하고 있습니다. 올해에도 많은 신규 서비스와 기능들이 추가되었지만, 그중에서도 가장 문의와 관심을 받은 서비스와 기능이 있습니다. 데이터베이스의효율성과 애플리케이션의확장성을 높일 Amazon RDS Proxy, 더 많은 데이터를 비용 효율적으로 저장하고 분석할 수 있는 Amazon Elasticsearch Service - UltraWarm, ML을 통해 코드 수준을 향상할 수 있는 Amazon CodeGuru, 이 세 가지 서비스와 기능에 대해 데모와 함께 소개합니다.
8. Preview 단계 대비 추가된 Amazon CodeGuru 기능
Amazon CodeGuru Profiler
• 이상 감지
• Lambda 지원
• Cost of efficiency issue
• Color-my-code
• 효율성 이슈와 관련한 추천
보고서 및 CloudWatch 지표 및
경보
Amazon CodeGuru Reviewer
• GitHub Enterprise 지원
• 추천항목을 최소 30% 증가시킬
수 있는 Detector 개선
9. Amazon CodeGuru Reviewer 추천항목
• AWS 모범사례
• 동시성
• Resource 누수 방지
• 민감 정보 유출 방지
• 통상적인 코딩 모범사례
• Refactoring
• 입력 검증
10. Amazon CodeGuru Reviewer 지원 언어 및 저장소
• 지원 언어
• Currently Java only
• 지원 저장소
• AWS CodeCommit
• Bitbucket
• GitHub
• GitHub Enterprise Cloud
• GitHub Enterprise Server
11. Amazon CodeGuru Profiler
Amazon CodeGuru Profiler는 가장 실행 비용이 비싼 코드 라인을 식별하는
기계 학습 기반의 어플리케이션 Profiler입니다.
Amazon CodeGuru Profiler는 어플리케이션의 런타임 동작을 쉽게 이해할
수 있게 보조하여 개발자가 코드 비효율성을 식별 및 제거하고, 성능을
개선하고, 컴퓨팅 비용을 크게 절감할 수 있도록 도와줍니다.
Amazon CodeGuru Profiler는 수집한 정보를 분석하여 어떻게 문제를
수정할 수 있는지에 대한 권장 사항과 비효율적인 코드를 계속 실행할 경우
예상되는 비용(USD로 표시) 포함하여 시각화하고, 이를 활용하여 개발자는
코드 수정 우선순위를 정할 수 있습니다.
12. Amazon CodeGuru Profiler 통합방법
• Commandline을 통한 agent 구성 및 활성화
• Java, Scala, Jython, ColdFusion, Geronimo, SOLR, Tomcat, Glassfish, Grails, Jetty, Play,
Resin, Spring Boot, Tanuki Wrapper, Websphere Liberty Profile, Spark
• Code 내에서 agent 구성 및 활성화
• Java, Scala, Kotlin, Groovy, Jython, Jruby, Clojure
• AWS Lambda(Java) 지원
Command line Code
기존 애플리케이션 프로파일링 Yes No (requires re-compile)
Custom authentication provider No Yes
프로파일링 시작지점 지정 No (profiling begins at startup) Yes
자동 업데이트 No (requires download) Yes (at next re-compile)
18. 아키텍처
Amazon S3
Active Backup Backup
UltraWarm UltraWarm UltraWarm
Data
Node
Data
Node
Data
Node
Data
Node
Kibana
19. Amazon S3
Active Backup Backup
UltraWarm UltraWarm UltraWarm
Data
Node
Data
Node
Data
Node
Data
Node
Kibana
최대 90% 비용 절감
대화형 통합 로그 분석
PB 규모의 사이즈
아키텍처
20. 스토리지: 사이즈와 내구성 향상 및 비용 절감
데이터는 S3 에 저장
Elasticsearch 수준의 복제본 및 스냅샷 제거
Amazon Elasticsearch Service 100% 지원
사용한 스토리지 용량 만큼만 비용 지불
21. UltraWarm 노드: 성능에 최적화
최적화된 Nitro 인스턴스는 고대역폭의 S3 액세스 제공
숫자로 살펴보는 성능:
• 캐시 된 데이터에 쿼리할 경우 Hot 과 동일하게 동작
• 캐시 되지 않은 수많은 인덱스들에 대해 기존 HDD 기반 웜 인스턴스보다
최대 2 배 빠르게 쿼리 수행
• 캐시 되지 않은 소수의 인덱스에 대해서는 수초내에 쿼리 수행
대화형 분석을 제공하기위한 멀티 레이어 및 세분화 된 캐싱,
적응형 Prefetching 및 쿼리 엔진 최적화
쿼리는 로컬 캐시 데이터 또는 S3 데이터에 투명하게 실행
22. 원활한 대화형 사용자 경험 제공
이러한 모든 성능 최적화는 고객이 활용하는
Kibana 경험을 최적화 하기 위함 위함
• 기존 클러스터의 원활한 확장
• 기존의 검색 API 와 도구를 동일하게 사용
• 쿼리를 수정할 필요 없이 Hot 과 UltraWarm 모두에
수행 가능
• 대화형 대시보드 및 복잡한 쿼리 수행 가능
23. 데이터 저장 기간 연장을 위한 GB 당 비용 절감
기존의 Amazon Elasticsearch Service I3 기반 Hot 노드
대비 GB 당 데이터 저장 비용 최대 90 % 절감
수개월 동안 Elasticsearch 및 Kibana에서 데이터에
액세스 할 수 있도록 지원