클라우드에서 좋은 아키텍처를 갖추려면
수용량을 추측하는 걸 그만둬야한다.
대신 오토 스케일링을 사용해 시스템의 실제 수요에 맞춰서 확장해야한다.
그리고 이 이점을 활용해 시스템 테스트를 프로덕션 규모로 수행해야한다.
아키텍처 실험을 더 쉽게 수행하려면 자동화도 중요하다.
코드형 인프라를 사용한다면 쉽게 아키텍처를 만들 수 있기 때문에
CloudFormation이 아주 중요해진다.
Beanstalk 같은 서비스형 플랫폼을 사용하는 것도 빠른 실험에 도움이 된다.
변화하는 요구 사항에 대응할 수 있게 설계해 아키텍처가 진화하게 만들어야한다.
워크로드를 온프레미스에서 클라우드로 마이그레이션 할때
처음엔 일대일로 매치하더라도
나중에는 서버리스로 점점 바꿔나가는 등, 더 나은 클라우드 활용법을 고려해야한다.
클라우드 설계 원칙
ㅁ 확장성 : 수직 & 수평
ㅁ 일회용 리소스: 서버의 생성/삭제가 쉬워야한다.
ㅁ 자동화: 서버리스, 서비스형 인프라, 오토 스케일링 등의 원칙에 따라야한다.
ㅁ 느슨한 결합: 작고 느슨한 컴포넌트들로 만들어야 유지 관리 확장에 용이하다.
ㅁ 서버가 아닌 서비스: 가능한 EC2가 아닌 서버리스를 사용
Well-Architected Framework 6대 원칙
ㅁ Operational Excellence 운영 우수성
ㅁ Security 보안
ㅁ Reliability 안정성
ㅁ Performance Efficiency 성능 효율성
ㅁ Cost Optimization 비용 최적화
ㅁ Sustainability 지속 가능성
ㅁ Operational Excellence
운영 우수성은 시스템을 실행하고 모니터링해서 사업가치를 전달하고
지원 과정 및 절차를 지속적으로 개선하는 것이다.
즉 운영에 관한 것이다.
설계 원칙이 있는데
먼저, 코드를 통해 운영해야한다.
CloudFormation과 같은 코드형 인프라가 운영 우수성의 초석이 될것이다.
ㅁ Security
보안에는 위험 평가 및 완화 전략을 통해 비즈니스 가치를 제공하는 동시에
정보, 시스템 및 자산을 보호하는 기능이 포함된다.
ㅁ Reliability
안정성은 인프라 또는 서비스 중단으로부터 복구하고, 수요를 충족하기 위해 컴퓨팅 리소스를 동적으로 획득하며,
잘못된 구성 또는 일시적인 네트워크 문제와 같은 중단을 완화하는 시스템의 능력이다.
ㅁ Performance Efficiency
성능 효율성은 시스템 요구사항을 충족하기 위해 컴퓨팅 리소스를 효율적으로 사용하고
수요 변화 및 기술 발전에 따라 효율성을 유지하는 기능을 포함한다.
설계원칙으로는
먼저 고급 기술을 사용해야한다.
서버리스 아키텍처를 사용 하고
새로나온 서비스나 서비스의 업데이트을 주시하고
새로운 기술을 사용해서 성능을 효율적으로 유지해야한다.
ㅁ Cost Optimization
최소한의 가격으로 기업의 가치를 제공하기위한 시스템을 실행하는 능력이다.
예를들면
사용하지 않으면 요금이 나오지 않고 사용한 만큼만 지불하는 Lambda가 있다.
ㅁ Sustainability
지속 가능성은 클라우드 워크로드 실행이 환경에 미치는 영향을 최소화하는데 주목한다.
에너지 효율을 높여 환경에 미치는 영향을 줄이기 위해
서비스 활용도 극대화 해야한다.
'IT > AWS' 카테고리의 다른 글
VPC Endpoints (0) | 2023.03.09 |
---|---|
Transit Gateway (0) | 2023.03.08 |
AWS WaveLength (0) | 2023.03.08 |
VPC Flow Logs (0) | 2023.03.08 |
AWS 머신 러닝 관련 (0) | 2023.03.08 |