클라우드 산업으로 재미보고 있는 AWS가, 고객사들을 위해 클라우드에 적합한 아키텍쳐를 위한 가이드를 친절하게 문서화 한 내용이 있다고 해서 정리해 놓습니다.
비단 실사용자 뿐만이 아니라, 클라우드 아키텍쳐 설계에 대한 기본 지식 함양(+면접용)을 위해서, 그리고 AWS Cloud Certification 취득에도 관련 내용들이 나온다고 하니, 공부해 둘 가치가 있을 것 같습니다.
Lessions
- 중시하는 가치는 Scalable, Automation, Testing, Upgradable, Operation, Availability (+보안)
- Operation: S3에 로그 반출+Cloudwatch / Serverless architecture 사용으로 operational cost 감소
- Automation: 빠른 배포 및 롤백 프로세스(using IaC), auto scaling
- Testing: On-premise 대비 적은 비용으로 수요에 알맞는 성능으로 서비스 가능
- Availability: SPOF 지양, 작은 구성요소로 구성하기, replication (over the region, if possible)
- 런북, 플레이북을 통해 준비사항 검토
- 지표 기준(비용, 성능, 오류, 효율성 등) 을 설정하고 이에 대해서 분석하는 과정이 필요. 이상 및 위험의 경우에 경고 기능. 정기적인 간격의 지표 및 이에 대한 분석도 필요 (주기적인 분석으로 찾을 수 있는 문제들도 있다).
- 업그레이드 시 immutable infra를 사용하는 것을 고려 (mutable infra의 경우 훨씬 환경 유지가 까다롭다는 것은 익히 알려진 사실. e.g. package manager like RPM)
- 분산 시스템에서 고려해야 할 것: 약결합 종속성(위의 SPOF 이야기), 모든 응답의 멱등성 유지 (재시도 가능한 리퀘스트 설계), 동기 vs 비동기 적합성 판단. 실패시 대비해서 stateless 요청 / 요청 큐 / 필요시 요청횟수 및 빈도 조절 등.
링크
'개발 > Engineering' 카테고리의 다른 글
컨테이너 기반 가상화 기술, 그리고 AWS Lambda (0) | 2022.05.06 |
---|---|
Borg로 알아보는 클라우드 환경에서의 컨테이너 매니징 (0) | 2022.05.06 |
리눅스 커널 바로 위에 executable 얹기 (0) | 2022.05.04 |
DynamoDB와 Spanner, 어떻게 다를까? (0) | 2022.05.04 |
왜 ElasticSearch 인가? (0) | 2022.04.30 |