AI 시스템 구축: 자동화 기법
ㅁ 자동화 기법
1. Self-healing
ㅇ 정의:
시스템이나 서비스에서 장애나 오류가 발생했을 때, 외부 개입 없이 자동으로 문제를 감지하고 복구하는 기술.
ㅇ 특징:
– 모니터링과 진단 로직이 내장되어 있음
– 장애 탐지 후 자동 복구 스크립트 실행
– SLA(서비스 가용성) 유지에 효과적
ㅇ 적합한 경우:
– 24/7 무중단 서비스가 필요한 금융, 클라우드 환경
– 인력 대응이 지연될 경우 손실이 큰 서비스
ㅇ 시험 함정:
– Self-healing은 예방이 아니라 사후 복구 기술임 (O)
– 모든 장애를 사전에 차단하는 기술이라고 설명하면 틀림 (X)
ㅇ 시험 대비 “패턴 보기” 예시:
– “장애 발생 시 자동으로 감지하고 복구하는 기능을 의미한다” (O)
– “장애를 사전에 완벽히 방지하는 기술이다” (X)
2. 자가조정
ㅇ 정의:
시스템이 환경 변화나 부하 변화에 따라 성능, 자원 배분 등을 자동으로 최적화하는 기술.
ㅇ 특징:
– 실시간 모니터링 기반 자원 재분배
– 성능 메트릭 기반 동적 튜닝
– AI/ML 기반 예측 조정 가능
ㅇ 적합한 경우:
– 클라우드 기반 애플리케이션 성능 최적화
– IoT, 엣지 환경에서 자원 제약이 있는 경우
ㅇ 시험 함정:
– 자가조정은 복구가 아니라 성능 최적화 목적임 (O)
– 장애 복구 기능이라고만 이해하면 오답 (X)
ㅇ 시험 대비 “패턴 보기” 예시:
– “부하 변화에 따라 시스템 파라미터를 자동으로 조정한다” (O)
– “시스템 장애를 자동으로 복구한다” (X)
3. Auto Scaling
ㅇ 정의:
시스템 부하에 따라 컴퓨팅 자원(인스턴스, 컨테이너 등)을 자동으로 확장 또는 축소하는 기능.
ㅇ 특징:
– 수평 확장(인스턴스 추가)과 수직 확장(CPU/RAM 증설) 지원
– 클라우드 서비스에서 기본 제공되는 경우 많음
– 비용 효율성과 성능 균형 유지
ㅇ 적합한 경우:
– 트래픽 변동이 심한 웹 서비스
– 이벤트성 캠페인, 대규모 데이터 처리 작업
ㅇ 시험 함정:
– Auto Scaling은 부하 예측 기반으로 사전 확장 가능 (O)
– 항상 부하 발생 후에만 확장하는 기능이라고 하면 틀림 (X)
ㅇ 시험 대비 “패턴 보기” 예시:
– “시스템 부하에 따라 자원을 자동으로 조절한다” (O)
– “항상 사람이 직접 자원 증설을 수행한다” (X)
4. 이벤트 기반 Task Trigger
ㅇ 정의:
특정 이벤트(파일 업로드, 메시지 수신, 상태 변화 등)가 발생했을 때 자동으로 작업을 실행하는 메커니즘.
ㅇ 특징:
– 이벤트 소스와 작업이 느슨하게 결합됨
– 실시간 처리 가능
– 서버리스 아키텍처와 결합 시 효율적
ㅇ 적합한 경우:
– 데이터 파이프라인 자동화
– IoT 센서 데이터 처리
– 로그 분석 및 알림 시스템
ㅇ 시험 함정:
– 이벤트 기반은 폴링 방식과 다르게 즉시 반응 가능 (O)
– 주기적 스케줄링만을 의미한다고 하면 틀림 (X)
ㅇ 시험 대비 “패턴 보기” 예시:
– “특정 이벤트 발생 시 자동으로 작업을 실행한다” (O)
– “정해진 시간 간격으로만 작업을 실행한다” (X)
ㅁ 추가 학습 내용
Self-healing과 자가조정은 개념적으로 구분해야 한다.
– Self-healing: 시스템이 장애나 오류 발생 시 자동으로 복구하는 기능. 핵심은 ‘복구’에 초점이 있다.
– 자가조정: 시스템이 성능이나 자원 사용량을 최적 상태로 유지하도록 자동으로 조정하는 기능. 핵심은 ‘최적화’에 초점이 있다.
Auto Scaling 관련 개념
– 수평 확장(Horizontal Scaling): 서버나 인스턴스의 개수를 늘리거나 줄이는 방식.
– 수직 확장(Vertical Scaling): 기존 서버의 CPU, 메모리 등 자원 스펙을 업그레이드하거나 다운그레이드하는 방식.
– 사전 확장(Predictive Scaling): 트래픽 패턴이나 예측 데이터를 기반으로 미리 확장 또는 축소를 수행.
– 사후 확장(Reactionary Scaling): 실제 부하나 지표 변화가 발생한 후에 확장 또는 축소를 수행.
이벤트 기반 Task Trigger
– 서버리스(Function as a Service) 환경에서 Lambda, Cloud Functions 등과 연계하여 특정 이벤트 발생 시 자동으로 함수 실행.
– 이벤트 기반: 특정 조건이나 상태 변화가 발생했을 때 즉시 실행.
– 스케줄 기반: 정해진 시간이나 주기에 맞춰 실행.
– 동기 실행: 요청과 결과가 실시간으로 연결되며, 결과를 받을 때까지 대기. 응답 속도가 중요할 때 적합하지만 지연이 발생할 수 있음.
– 비동기 실행: 요청 후 결과를 기다리지 않고 다른 작업을 수행. 대규모 처리나 병렬 작업에 유리하지만, 결과 확인이 지연될 수 있음.