Skip to Content

운영 배포와 변경 관리

실습복습
관련 기초 개념

7.1 운영 배포와 변경 관리

세부 학습 목표

  • Azure 인프라·모델·에이전트·앱·검색 구성의 배포 책임을 나눈다.
  • Global/Data Zone/geography와 Standard/Provisioned/Batch의 선택 축을 비교한다.
  • 자료·프롬프트·모델·도구·평가 버전을 묶어 CI/CD 승격·관측·복구를 정한다.

개요

  • 배포 대상: 모델·앱 코드·검색 인덱스·도구·환경 설정.
  • 유형 선택: 처리 위치·요청 부하·응답 시간·비용 비교.
  • 변경 관리: 함께 동작하는 버전과 복구 경로 기록.

모델 배포와 앱 배포

  • 모델을 선택했다는 것만으로 웹 앱이 완성되지는 않습니다.

    모델 배포에는 호출에 사용할 이름과 용량, 처리 위치 등의 설정이 필요합니다. 앱에는 사용자의 인증, API 호출, 오류 처리, 화면이 들어갑니다. 검색 시스템에는 문서 수집과 인덱스 갱신이 별도로 필요합니다. 같은 모델을 사용해도 이 구성 중 하나가 바뀌면 답변이 달라질 수 있습니다.

  • 예를 들어 환불 상담 서비스를 운영한다면 refund-chat이라는 모델 배포, 고객 상담 API, 약관 검색 인덱스, 환불 요청 도구를 각각 확인합니다.

    모델 호출만 성공해도 검색 권한이 없으면 근거를 가져오지 못합니다. 도구 API가 개발용 주소를 바라보면 실제 업무를 처리할 수 없습니다. 배포 후 검증은 사용자 요청에서 도구 결과까지 이어져야 합니다.

위치와 용량을 다른 축으로 비교한다

판단 축선택지확인할 조건
추론 처리 위치Global / Data Zone / 지정 Azure geography데이터 처리 위치 요구 사항과 해당 모델의 지원 여부
사용량 기반 처리Standard 계열트래픽 변동, 분당 제한, 실제 지연 분포
예약 처리 용량Provisioned 계열지속 사용량, 필요한 처리량, 용량 확보 비용
비동기 일괄 처리Batch 계열즉시 응답이 필요 없는 작업, 지원 모델·완료 기한
  • Global이라는 이름은 저장 데이터의 위치와 추론 처리 위치가 같다는 뜻이 아닙니다.

    저장 위치와 처리 경로를 나눠 확인합니다. 또한 Provisioned를 사용해도 앱의 데이터베이스 지연이나 잘못된 검색 설계까지 해결되지는 않습니다. 모델별로 선택 가능한 유형이 다르므로 배포 화면과 공식 지원 표를 확인합니다.

배포 유형추론 처리 경계비용·작업 특성
Global Standard지원되는 전역 Azure 지역사용 토큰 기반의 일반 실시간 처리
Data Zone Standard지정된 데이터 존데이터 존 제약과 사용량 기반 과금
Standard지정한 Azure geography해당 geography 안의 처리와 사용량 기반 과금
Provisioned 계열선택한 전역·데이터 존·geography 경계예약 PTU에 기반한 처리량 확보
Batch 계열선택한 전역·데이터 존 경계즉시 응답이 필요 없는 비동기 일괄 처리

Standard의 geography 경계는 단일 데이터센터나 한 Azure 지역에 고정된다는 보장이 아닙니다. 같은 geography의 여러 지역 사이에서 처리될 수 있습니다. 단일 지역 고정이 필수라면 유형 이름만으로 충족한다고 판단하지 말고 현재 제품의 처리 위치 계약을 확인합니다.

  • 예를 들어 야간에 문서 10만 건을 분류하는 작업은 Batch를 검토할 수 있습니다.

    사용자가 기다리는 실시간 상담에는 응답 지연과 혼잡 시 동작이 더 중요합니다. 이러한 선택은 업무 조건에 따른 설계 판단이며 모든 프로젝트에 동일한 유형을 적용하는 규칙은 아닙니다.

변경한 구성을 재현할 수 있어야 한다

아래는 이 교재에서 정의한 앱 배포 기록 예시입니다. Azure에 그대로 제출하는 설정 파일이 아닙니다.

{ "release": "refund-app-2026-10-21.1", "code_commit": "example-commit", "model_deployment": "refund-chat", "prompt_version": "refund-v3", "index_version": "policy-2026-10", "evaluation_set": "refund-regression-v2", "tool_contract": "refund-request-v1" }
  • 오류가 늘었을 때 이 기록이 있어야 “프롬프트만 되돌릴지, 인덱스도 되돌릴지”를 판단할 수 있습니다.

    운영 중인 인덱스를 바로 덮어쓰기보다 새 버전을 만들고 평가한 뒤 전환하면 이전 구성을 보존하기 쉽습니다. 단, 모델 버전이 종료되면 과거 구성을 영구히 재현할 수 있는 것은 아니므로 지원 기간도 변경 계획에 넣습니다.

CI/CD에서 검사할 것

  • CI는 변경 사항을 자동으로 검사하는 과정이고, CD는 검증한 결과물을 대상 환경에 전달하는 과정입니다.

    코드 문법 검사와 단위 테스트, 답변 평가, 제한된 테스트 환경에서의 호출 검증은 서로 다른 실패를 찾습니다. “한 번 답했다”는 확인은 가용성을 점검하는 smoke test이며, 정확성·안전성 평가를 대신하지 않습니다.

  • 배포 작업의 클라우드 인증은 장기 키를 소스에 저장하는 방식보다 워크로드 ID 연동을 검토합니다.

    GitHub Actions에서 OIDC를 쓰더라도 해당 ID에 실제 배포 권한을 부여해야 합니다. 평가 기준과 배포 절차를 구분하는 실습은 CI/CD 보충 실습에 있습니다.

Azure 인프라 경계 설계

  • AI 앱 배포는 모델 배포만으로 끝나지 않습니다.

    앱의 호출자, 서비스 신원, 검색 저장소, 모니터링 및 장애 경로까지 설계해야 합니다. 공용 접근이 가능한 리소스와 사설 네트워크 자원을 구분합니다.

  • 상황: 사내 문서 챗봇을 브라우저에서 직접 모델 API로 호출하도록 설계하니 비밀키 노출 위험이 생겼습니다.

  • 적용: 브라우저는 앱 서버에 요청하고 서버는 사용자·자료 권한을 검증한 다음 필요한 리소스를 호출하도록 구성합니다.

지역·데이터 거주성 조건 확인

  • 모델이 지원되는 지역과 데이터 저장·처리 관련 조건은 서비스 및 배포 옵션별로 다를 수 있습니다.

    지역만 맞췄다고 모든 데이터 경로가 같은 지역에 남는다고 가정하지 않습니다.

  • 상황: 고객 데이터의 지정 지역 처리가 계약 조건인데 원하는 모델은 다른 배포 유형에서만 제공되는 상황입니다.

  • 적용: 서비스·배포 유형별 처리 위치 및 계약 조건을 공식 문서로 확인하고, 허용 모델 대체 또는 설계 변경을 비교합니다.

모델 배포 방식 비교

  • 표준형과 프로비저닝형 등 배포 옵션은 이용 가능한 기능, 용량, 과금·확장 조건이 다를 수 있습니다.

    최신 지원 상태와 용량·지역 조건을 확인한 뒤 선택합니다.

  • 상황: 야간에는 요청이 적고 오전 업무 시작 직후 집중되는 고객지원 서비스가 있습니다.

  • 적용: 피크 시점의 요청량과 평균 이용률을 따로 측정한 뒤 표준형의 탄력성·할당량과 프로비저닝형의 용량·비용을 비교합니다.

모델·에이전트·앱 배포 구분

  • 모델 엔드포인트가 준비되어도 앱 코드·프롬프트·도구 정의·에이전트 설정은 별도로 관리해야 합니다.

    장애가 발생하면 바뀐 구성과 호환성을 확인하고, 함께 정상 동작했던 버전 조합으로 복구할 수 있어야 합니다.

  • 상황: 새 에이전트 도구를 추가한 뒤 오류가 발생했지만 모델 배포는 정상입니다.

  • 적용: 모델 배포 ID, 에이전트 지침/도구 버전, 앱 릴리스 ID와 호출 trace를 비교해 변화 지점을 찾습니다.

    변경한 도구나 앱을 되돌릴 때도 프롬프트·상태·인덱스와 호환되는지 확인하고 대표 요청으로 복구 결과를 검증합니다.

확인 문제

공식 범위를 참고한 자체 제작 연습문제입니다. 공통 시험 유형을 연습하며 AI-103의 실제 문항 구성·난이도를 재현하지 않습니다. 공식 연습 평가 안내 (로그인 필요) · 공식 모듈 샘플 · 공식 시험 화면 체험

설계상 모든 고객 데이터가 승인 지역 R1에 남아야 합니다. 기록에서 먼저 검토할 위반은?

app: R1 / model_processing: R1
search: R1 / storage: R1
trace_export: R2 / payload=full_prompt_and_documents
access: private / identity=managed_identity
R2: 승인되지 않은 지역
  1. 추적 로그의 전송 지역과 본문 포함 설정을 검토한다
  2. 모델 처리 지역과 검색 리소스의 배치를 검토한다
  3. 사설 접근 경로와 관리 ID의 역할 범위를 검토한다
  4. 원문 저장 지역과 문서 보존 기간부터 검토한다

풀이 기록 기능을 불러오는 중…

해설 보기

정답: A. 추적 로그의 전송 지역과 본문 포함 설정을 검토한다

모델·저장소가 R1에 있어도 문서 본문을 포함한 로그가 R2로 전송됩니다. 데이터 흐름에는 관측 경로도 포함됩니다.

모델 추론을 지정한 Azure geography 안에서 처리해야 합니다. 실시간 요청량이 변하며 토큰 사용량에 따라 지불하려고 합니다. 지원되는 유형 중 가장 적절한 것은?

  1. Global Standard
  2. Standard
  3. Data Zone Standard
  4. Global Batch

풀이 기록 기능을 불러오는 중…

해설 보기

정답: B. Standard

Standard는 지정한 Azure geography 안의 처리와 사용량 기반 과금에 맞습니다. 같은 geography의 여러 지역에서 처리될 수 있으므로 단일 지역 고정으로 해석하면 안 됩니다. 모델·지역의 지원 여부와 저장 데이터의 위치도 별도로 확인합니다.

모델 호출은 성공하지만 에이전트의 사내 도구만 실패합니다. 다음 조치는?

model_call: HTTP 200 / identity=app-id
agent_run: started / identity=agent-id
tool_call inventory: DNS resolution failed
agent_runtime: private network N1
inventory.internal: private DNS zone linked to N2 only
  1. app-id의 모델 권한을 넓힌 뒤 추론 호출을 재검증한다
  2. agent-id의 도구 권한을 넓힌 뒤 인가 결과를 재검증한다
  3. N1의 이름 해석 연결을 고친 뒤 도구 호출을 재검증한다
  4. 도구 응답 스키마를 고친 뒤 에이전트 지침을 재검증한다

풀이 기록 기능을 불러오는 중…

해설 보기

정답: C. N1의 이름 해석 연결을 고친 뒤 도구 호출을 재검증한다

실패는 도구 호스트의 DNS 해석에서 관찰되고 해당 DNS 영역은 N2에만 연결돼 있습니다. 에이전트 실행 환경 N1의 연결을 확인할 근거가 있습니다.

동일 평가셋과 고정된 출시 기준을 사용했습니다. 릴리스 게이트의 결과는?

기준: answer_pass_rate ≥ 0.90 AND unauthorized_actions == 0
이전: code=c7 / prompt=p2 / index=i4 / rate=0.93 / actions=0
후보: code=c7 / prompt=p3 / index=i4 / rate=0.95 / actions=1
smoke_test: passed
  1. 후보를 출시하고 안전 기준을 1건까지 완화한다
  2. 코드를 c6로 되돌리고 p3의 평가 결과를 유지한다
  3. 평가셋을 교체하고 기존 두 비율을 다시 비교한다
  4. 후보를 차단하고 p2 조합으로 회귀 여부를 확인한다

풀이 기록 기능을 불러오는 중…

해설 보기

정답: D. 후보를 차단하고 p2 조합으로 회귀 여부를 확인한다

품질 비율 0.95는 통과하지만 무승인 실행 1건이 안전 기준을 위반합니다. 변경된 p3와 검증된 p2를 같은 조건에서 비교해야 합니다.

이 절 문제 모아보기

참고 자료

자료 확인: 2026-10-25 · 적용 사례 교정: 2026-10-23. 사례는 교육용이며 Azure API 호출·요금은 실행 검증하지 않았습니다.

직접 적용하기

교육용 가상 상황

새 배포에서 코드 v8, 프롬프트 p4, 인덱스 i9로 바꾼 뒤 오답이 늘었습니다. 코드만 v7로 되돌렸지만 오답이 계속됩니다.

함께 추적할 버전과 복구 확인 과제를 적으세요.

답안 저장 기능을 불러오는 중…

검증 기준과 해설 보기
  1. 코드·모델·프롬프트·데이터/인덱스·설정을 함께 추적한다.
  2. 정상 조합을 확인하고 복구 대상과 호환성을 정한다.
  3. 이전 대표 질의로 기능·근거·권한을 재검증한다.

코드 외 구성 변화가 남아 있을 수 있습니다. 이전 정상 조합과 현재 조합의 차이를 확인하고 호환되는 버전으로 복구한 뒤 같은 대표 과제로 확인합니다. 코드 복구가 데이터 복구를 자동으로 의미하지 않습니다.

복습하기

  1. 코드만 되돌리면 같은 결과가 보장되나요?
  2. 배포 환경을 왜 구분하나요?
  3. 복구 후 무엇을 확인하나요?
  4. Standard와 Global Standard의 처리 경계는 같은가요?
답변 확인 기준
  1. 코드만 되돌리면 같은 결과가 보장되나요?

    프롬프트·모델·인덱스·환경 변화가 남아 있을 수 있습니다.

  2. 배포 환경을 왜 구분하나요?

    시험 변경이 운영 데이터와 사용자에게 영향을 주지 않도록 검증 경계를 둡니다.

  3. 복구 후 무엇을 확인하나요?

    실제 요청·품질·권한·관측 지표를 정상 기준과 비교합니다.

  4. Standard와 Global Standard의 처리 경계는 같은가요?

    Global Standard는 전역 처리, Standard는 지정한 Azure geography 안의 처리입니다. geography 안에서 지역이 바뀔 수 있으므로 단일 지역 고정으로 해석하지 않습니다.