Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- ubuntu
- sudo docker
- api service key error
- AppTransportSecurity
- swiftui keyboard dismiss
- service key is not registered error
- codingkey
- swiftui keyboard
- NSURLErrorDomain Code=-1022
- Alamofire.AFError.session Task Failed(error: Error Domain=NSURLErrorDomain Code=-1022
- SwiftUI
- 6pillar
- Alamofire
- M1
- 가상머신
- Docker Engine
- m4
- Linux
- well architected
- swiftm
- Arm
- ssh-remote
- Apple Silicon
- perfomance efficiency
- ubuntu-desktop
- aws database
- Swift
- 성능효율성
- M3
- M2
Archives
- Today
- Total
behan의 개인적인 기술 블로그
1. 성능 효율성(Performance Efficiency) 본문
반응형
클라우드 환경에서 성능 효율성(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을 지원해 복잡한 그래프 쿼리를 처리.
반응형
'클라우드(AWS) > 클라우드 아키텍처 - Well Architected' 카테고리의 다른 글
0. Preview (0) | 2025.01.03 |
---|