티스토리 뷰

개발

AWS Summit Seoul 2019

박비버 2019. 4. 18. 22:45

AWS Summit Seoul 2019 후기 및 정리

4월 18일

 

지속적인 성능과 확장을 보장하는 마이크로 서비스 패턴 데이터베이스 구현하기

RDB 에서 서비스 중심의 아키텍처 설계 (=Multi DataStore) 로 변환하기 위해 데이터 특성을 분류, 이에 따라 적합한 저장소를 선택함

  Relational Key-value Document In-Memory Graph Time-series Ledger
Common Data Models

Referential integrity, ACID transactions,

schema-on-write

High throughput low-latency reads and writes, endless scale Store documents and quickly access querying on any attribute Query by key with microsecond latency

 

Quickly and easily create and navigate relationships between data

Collect, store, and process data sequenced by time

Complete, immutable, and verifiable history of all changes to application data

Common Use Cases Lift and shift, ERP, CRM, finance Real-time Bidding, shopping Cart, social, product catalog, customer preferences Content management, personalization, mobile Leaderboards, real-time analytics, caching Fraud detection, social networking, recommendation engine IoT applications, event tracking Systems of record, supply chain, health care, registrations, financial
  Amazon Aurora Amazon RDS Amazon DynamoDB Amazon DocumentDB Amazon ElastiCache Amazon Neptune Amazon Timestream Amazon QLDB

 

데이터 모델 - Use Cases - aws db

 

 

AWS 클라우드 핵심 서비스로 클라우드 기반 아키텍처 빠르게 구성하기

 

Amazon EC2 Instance 유형

병용 컴퓨팅 최적화 메모리 최적화 가속화된 컴퓨팅 스토리지 최적화
M5 C5 High Memory P3 I3
M4 C4 X1e P2 I2
T3   X1 G3 D2
T2   R4, R5 F1  

 

플랫폼 선택

카테고리 : 범용, 순간확장성능, 컴퓨팅 집약, 메모리 집약, 높은 I/O Storage, 고밀도 스토리지, GPU 기반, 그래픽 집약

기능 : 프로세서 선택, 빠른 processor, 높은 메모리공간, 인스턴스 스토리지, 가속화된 컴퓨팅, 네트워킹, Bare Metal, instance 크기

옵션 : Amazon Elastic Block Store, Elastic Graphics, Elastic Inference

 

 

스토리지 선택

Amazon Elastic Block Store (Amazon EBS) : Block

- 동일 가용영역 내 인스턴스에 스토리지 attach, detach 가능, SSD, HDD 선택가능, 볼륨 암호화 제공, 스냅샷 지원

Amazon Elastic File System (Amazon EFS) : File

- 수천개 이상 서버에서 동시접속 지원, 전송 보관시 암호화 파일 추가, 제거에 따라 자동으로 확장 축소

Amazon Simple Storage Service (Amazon S3), Amazon Glacier : Object

- 99.999999999% 내구성, 확장에 제약이 없음, 리전간 데이터 복제, 데이터 수명주기 관리(자동화되어있음)

 

 

컨테이너와 서버리스 기반 CI/CD 파이프라인 구성하기

릴리즈 프로세스

1. 소스

2. 빌드

3. 테스트

4. 프로덕션

 

CI : Continuous Integration 지속적 통합 (빌드까지)

CD : Continuous Delivery 지속적 전달, Continuous Deployment 지속적 배포

 

 

지속적 통합, 지속적 배포, 코드형 인프라

지속적 통합의 목표

- 새 코드가 체크인되면 자동으로 새 릴리즈 시작

- 일관되고, 반복가능한 환경에서 코드 빌드 및 테스트

- 배포준비가 완료된 아티팩트 항시 보유

- 빌드 실패시 피드백 루프 최적화

 

AWS CodePipeline

- 빠르고 신뢰할 수 있는 애플리케이션 업데이트를 위한 지속적 전달 서비스

- 소프트웨어 릴리즈 프로세스 모델링 및 시각화

- 코드가 변경될 떄 마다 자동으로 빌드, 테스트, 배포 (브랜치 기준, 오브젝트 또는 폴더 기준, 도커 태그 기준)

- 타사 도구 및 AWS와 통합

 

AWS CodePipeline 지원 트리거

- Amazon CloudWatch Events : 스케쥴(밤마다릴리즈), AWS Health 이벤트

- Webhooks : DockerHub, Quay, Artifactory

 

지속적 배포의 목표

- 테스트를 위해 스테이징 환경에 새로운 변경 사항을 자동으로 배포

- 고객의 사용성에 영향 없이 안전하게 프로덕션으로 배포

- 고객에게 신속하게 제공 : 배포 빈도를 높이고, 리드 타임과 실패율을 줄임

 

AWS CodeDeploy

- 모든 인스턴스와 Lambda로 코드 배포를 자동화

- 애플리케이션 업데이트의 복잡성을 처리

- 애플리케이션 배포 중 다운타임 최소화

- 오류 감지 시 자동으로 롤백

- Amazon EC2, Lambda. 온프레미스 서버에 배포

 

코드로 관리하는 인프라의 목표

- 인프라 변경 사항을 반복적이고 예측 가능하게 함

- 코드 변경과 동일한 도구를 사용하여 인프라 변경 사항 릴리즈

- 스테이징 환경에서 프로덕션 환경을 복제하여 지속적인 테스트 가능하게 함

 

지속적인 테스트

아티팩트 검증 (빌드 단계) : 유닛 테스트, 정적분석, 목업 의존성 및 환경, 취약점 이미지 스캔

환경 검증 (테스트 단계) : 실제 의존성 및 실제 환경에 대한 통합 테스트, 부하 테스트, 침투 테스트, 환경에 미치는 영향을 테스트 하기 위한 모니터링

 

AWS CDK (Cloud Deployment Kit) 로 파이프라인 모델링

- 객체 지향 언어를 사용하여 복사-붙여넣기를 최소화

- 하나의 클래스에서 마이크로서비스 파이프라인 모양을 정의하고, 여러 파이프라인에서 재사용

- CDK는 CodePipeline 을 모델링하기 위한 많은 고수준 Constructs를 포함하고 있으며, 자동으로 IAM 역할 정책을 구성

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
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
글 보관함