클라우드(AWS)/클라우드 아키텍처 - Well Architected
1. 성능 효율성(Performance Efficiency)
behan
2025. 1. 3. 22:07
반응형
클라우드 환경에서 성능 효율성(Performance Efficiency)을 극대화하려면, 워크로드에 적합한 컴퓨팅 타입을 선택하는 것이 매우 중요하다. 잘못된 컴퓨팅 자원을 사용하면 비용 낭비는 물론, 성능 저하와 사용 경험 악화로 이어질 수 있다.
AWS에서는 다양한 컴퓨팅 옵션을 제공하며, 워크로드의 요구 사항에 맞는 타입을 선택하는 것이 성능과 비용 효율성을 최적화하는 핵심이다. 애플리케이션의 특성과 사용 사례를 기반으로 적절한 컴퓨팅 리소스를 선택하면 클라우드 인프라의 성능을 극대화할 수 있다.
1. 적절한 컴퓨팅 타입 선택
- EC2 (Elastic Compute Cloud)
- 고성능 컴퓨팅, 빅데이터 처리, 애플리케이션 서버 등에 사용.
- Intance families
- C - Compute optimized
- D - Dense storage
- F - FPGA
- G - Graphics intensive
- Hpc - High performance computing
- I - Storage optimized
- Inf - AWS Inferentia
- M - General purpose
- Mac - macOS
- P - GPU accelerated
- R - Memory optimized
- T - Burstable performance
- Trn - AWS Trainium
- U - High memory
- VT -Video Transcoding
- X - Memory intensiv
- Processor families
- a - AMD processors
- g - AWS Graviton processors
- i - Intel processors
- Additional capabilities
- d - Intance store volumes
- n - Network and EBS optimized
- e - Extra storage or memory
- z - High performance
- flex - Flex instance
- AWS Lambda
- 서버리스 애플리케이션, 이벤트 기반 워크로드, 간헐적 작업 등에 사용.
- 코드만 업로드하면 실행되며, 사용 시간만큼 요금이 부과된다.
- 메모리 크기를 지정하면 CPU, 네크워크 대역폭, 디스크 I/O 성능이 비례하여 자동으로 할당된다. 따라서 적절한 메모리 할당은 성능과 비용의 균형을 유지하는 데 중요하다.
- Lambda는 메모리를 128MB에서 10,240MB까지 64MB 단위로 설정할 수 있다.
- 할당된 메모리 양에 따라 CPU 성능(vCPU)이 자동으로 스케일 업된다.
- 1,768MB 메모리에서 1 vCPU에 해당하는 처리 능력이 제공되며, 메모리가 증가하면 비례적으로 더 많은 vCPU가 할당된다.
- Lambda Power Tuning 도구(AWS Lambda Power Tuning)를 사용하여 메모리 설정에 따른 실행 시간을 비교해 최적의 성능-비용 조합을 찾는다.
2. 네트워크 최적화: CDN(Content Delivery Network) 활용
- Amazon CloudFront를 활용한 CDN 최적화
- CDN은 사용자와 가까운 위치에 콘텐츠를 배포해 지연 시간을 줄이고, 원본 서버의 부하를 감소시킨다. AWS에서는 Amazon CloudFront가 대표적인 CDN 서비스로 제공된다.
- CloudFront의 주요 기능:
- 엣지 로케이션
- 전 세계 400개 이상의 엣지 로케이션을 통해 사용자와 가까운 서버에서 콘텐츠를 제공.
- 정적 파일(HTML, 이미지) 및 동적 콘텐츠(API 응답) 모두 가속 가능.
- 캐싱 정책
- TTL(Time-to-Live)을 설정해 콘텐츠를 엣지에서 캐싱하고 원본 서버 요청을 최소화
- AWS Origin과 통합
- S3 버킷, EC2 인스턴스, Elastic Load Balancer(ELB)와 원활히 연동.
- CloudFront Functions 또는 Lambda@Edge로 사용자 요청 전후의 데이터 변환 가능.
- 엣지 로케이션
3. 목적에 맞는 데이터베이스 선택
AWS는 다양한 데이터 베이스 서비스를 제공하며, 워크로드 특성에 따라 선택해야 한다.
- 관계형 데이터베이스(RDB)
- Amazon RDS (MySQL, PostgreSQL, MariaDB, Oracle, SQL Server)
- 트랜잭션이 많고 스키마 기반 데이터 관리가 필요한 경우 사용.
- 관리형 서비스로 백업, 복구, 확장 등을 자동화.
- 비관계형(NoSQL) 데이터베이스
- Amazon DynamoDB
- key-value 기반 데이터 저장, 높은 스루풋과 저지연이 필요한 애플리케이션에 사용.
- 무제한 스케일링, 완전 관리형으로 복잡한 관리 부담 제거.
- 데이터 웨어하우스
- Amazon Redshift
- 대규모 데이터 분석, 비즈니스 인텔리전스 워크로드 등에 사용.
- 열 기반 저장소를 사용해 데이터 분석 속도 향상.
- 인메모리 데이터베이스
- Amazon ElastiCache (Redis, Memcached)
- 캐싱 레이어, 세션 저장소, 빠른 데이터 조회.
- 밀리초 이하의 응답 속도를 제공.
- 분산 그래프 데이터베이스
- Amazon Neptune
- 소셜 네트워크, 추천 시스템, 지식 그래프 등에 사용
- Gremlin, SPARQL을 지원해 복잡한 그래프 쿼리를 처리.
반응형