아래 내용은 견고한 데이터 엔지니어링(조 라이스, 맷 하우슬리 지음)의 3.2장의 내용을 정리한 것이다.
3.2 우수한 데이터 아키텍처의 원칙
AWS의 Well-Architected 프레임 워크와 구글클라우드 네이티브 아키텍처를 위한 원칙에서 영감을 얻어 데이터 엔지니어링 아키텍처 원칙을 정의하고 한개씩 살펴본다.
- AWS의 Well-Architected 프레임 워크 6개 요소
- 운영 우수성
- 보안
- 신뢰성
- 성능 효율성
- 비용 최적화
- 지속가능성
- 구글 클라우드 네이티브 아키텍처를 위한 5대 원칙
- 자동화를 위한 설계하기
- 상태를 스마트하게 관리하기
- 관리형 서비스를 선호하기
- 심층 방어 연습하기
- 항상 아키텍처를 설계하기
3.2.1 원칙 1: 공통 컴포넌트를 현명하게 선택하라
- 공통 컴포넌트를 통해 팀협업을 촉진하고 사일로를 허문다.
- 강력한 권한과 보안을 지원해 팀 간 자산을 공유하되, 부정 접근은 방지해야 한다.
- 공통 컴포넌트를 잘 선택하여 데이터 엔지니어링 수명 주기, 팀 전반의 요구사항에 초점을 맞추되, 개별 프로젝트에 유용한 컴포넌트를 활용하며 상호 운용과 협업을 동시에 촉진해야 한다.
3.2.2 원칙 2: 장애에 대비하라
- 견고한 데이터 시스템을 구축하려면 설계 시 장애를 고려해야 한다.
- 가용성, 신뢰성, 복구시간목표(RTO), 복구시점목표(RPO)를 고려한다.
3.2.3 원칙 3: 확장성을 위한 아키텍처를 설계하라
- 상당한 양의 데이터를 처리할 수 있도록 스케일 업 할 수 있다.
- 확장 가능한 시스템 규모를 스케일 다운 할 수 있다.
- 현재 부하와 대략적인 로드 스파이크를 측정해서 향후 부하를 예측해 아키텍처를 판단한다.
3.2.4 원칙 4: 아키텍처는 리더십이다.
- 데이터 아키텍트는 기술을 결정하고, 아키텍처 설명을 담당한다.
- 팀원들을 지도하며 전문지식을 전파해야 하며, 모범사례를 교육하고 회사 엔지니어링 자원을 통합한다.
3.2.5 원칙 5: 항상 아키텍처에 충실하라
- 현 상태를 유지하지 말고 계속해서 협력적이고 민첩하게 변화해야 한다.
- 현재 상태에 대한 깊은 지식을 개발하고, 목표 아키텍처를 개발하며, 아키텍처 변경의 우선순위와 순서를 결정하는 시퀀싱 계획을 수립힌다.
3.2.6 원칙 6: 느슨하게 결합된 시스템을 구축하라
느슨하게 결합된 시스템의 속성은 다음과 같다.
- 시스템은 많은 수의 작은 컴포턴트로 나뉜다.
- 추상화 계층을 통해 다른 서비스와 상호작용 한다.
- 컴포넌트에 대한 내부 변경은 다른 부분에 대한 변경을 요구하지 않아 개별적으로 발전할 수 있다.
- 시스템 전체에 대한 waterfall 방식의 배포 주기가 없고, 각 컴포넌트 별로 개별적으로 갱신된다.
3.2.7 원칙 7: 되돌릴 수 있는 의사결정을 하라
- 단순하고 민첩성 있는 아키텍처를 위해서는 돌이킬 수 있는 유연한 의사결정을 목표해야 한다.
- 환경의 진화에 따라 업그레이드 하거나 변경 할 수 있도록 준비해야 한다.
3.2.8 원칙 8: 보안 우선순위를 지정하라
- 제로 트러스트 보안 모델: 외부의 접근에 대해서만 엄격한 보안을 갖춘 기존의 강화된 경계 보안 모델은 내부자 공격에 취약하다.
- 공동 책임 모델: 클라우드 제공업체는 클라우드 보안을 책임지고, 사용자는 클라우드 내부의 보안에 대한 책임이 있다.
- 데이터 엔지니어는 스스로를 보안 엔지니어라고 간주하고 보안에 대한 책임을 져야한다.
3.2.9 원칙 9: 핀옵스를 수용하라
- 클라우드 시대에는 지출이 훨씬 더 역동적으로 되어, 비용에 대한 예산, 우선순위, 효율성을 관리해야 한다.
- 지출을 계속해서 모니터링하여, 비정상적인 지출을 막는다.
'Data Engineering' 카테고리의 다른 글
DuckDB를 사용해서 Iceberg 테이블에 쿼리 실행하기 (0) | 2024.09.15 |
---|---|
견고한 데이터 엔지니어링 - 데이터 수집 (0) | 2024.08.18 |
견고한 데이터 엔지니어링 - 원천 시스템에서의 데이터 생성 (0) | 2024.05.26 |
견고한 데이터 엔지니어링 - 데이터 엔지니어링이란? (0) | 2024.04.20 |
Airflow Dag 작성 Best practice (0) | 2023.11.05 |