- https://aws.amazon.com/architecture/well-architected
- 얼마나 capacity가 필요할지 예측하지 마라 (대신 오토 스케일링을 사용하라)
- 프로덕션 스케일에서도 시스템을 테스트 하라
- 자동화를 통해 architectural experimentation을 더 쉽게 하라
- 진화하는(evolutionary) 아키텍처를 허용하라
- 데이터를 활용하여 아키텍처를 드라이빙하라
- Game Day를 통해 향상
- ex. 플레이 세일 기간 동안의 애플리케이션 시뮬레이션
- Operational Excellence - 운영 우수성
- Security - 보안
- Reliability - 신뢰성
- Performance Efficiency - 성능 효율성
- Cost Optimization - 비용 최적화
- Sustainability - 지속 가능성
- 위의 원칙들은 밸런스를 맞추거나 트레이드-오프의 관계가 아니라, 시너지를 이룸
- 고수준의 AWS 계정 평가 - 따로 뭘 설치할 필요 없음
- AWS 계정을 분석하고, 다음의 5개 카테고리에 따라 추천을 제안
- Cost Optimization
- Performance
- Security
- Fault tolerance
- Service limits
- 7 CORE CHECKS (Basic & Developer Support plan)
- S3 버킷 권한
- Security groups - 제한이 걸려있지 않은 특정 포트
- IAM 사용 (최소 하나의 IAM 이용자)
- 루트 계정에 MFA 적용
- EBS Public Snapshots
- RDS Public Snapshots
- Service Limits
- FULL CHECKS (Business & Enterprise Support plan)
- 5개 카테고리에 대한 완전한 체크를 수행
- 문제가 발견(limit reached)되었을 때 CloudWatch alarm을 보내도록 설정할 수 있음
- AWS Support API를 통해 프로그래밍적인 방식으로 액세스 가능
- 지금껏 제일 중요한 아키텍처 패턴들을 살펴봤음:
- Classic: EC2, ELB, RDS, ElastiCache, etc...
- Serverless: S3, Lambda, DynamoDB, CloudFront, API Gateway, etc...
- 더 많은 아키텍처에 대해 살펴보고 싶다면