behan의 개인적인 기술 블로그

1. 성능 효율성(Performance Efficiency) 본문

클라우드(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
    1. 서버리스 애플리케이션, 이벤트 기반 워크로드, 간헐적 작업 등에 사용.
    2. 코드만 업로드하면 실행되며, 사용 시간만큼 요금이 부과된다.
    3. 메모리 크기를 지정하면 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의 주요 기능:
      1. 엣지 로케이션
        • 전 세계 400개 이상의 엣지 로케이션을 통해 사용자와 가까운 서버에서 콘텐츠를 제공.
        • 정적 파일(HTML, 이미지) 및 동적 콘텐츠(API 응답) 모두 가속 가능.
      2. 캐싱 정책
        • TTL(Time-to-Live)을 설정해 콘텐츠를 엣지에서 캐싱하고 원본 서버 요청을 최소화
      3. 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