VS Code + GitHub Copilot + Azure로
이어지는 Agentic SDLC
자연어로 의도를 말하고, 에이전트가 빌드·배포·운영까지 잇는 한 사이클
코드를 한 줄씩 작성하는 시대에서, 의도를 정의하고 결과를 검증하는 시대로 바뀌고 있습니다. IDE · 저장소 · CI/CD · 배포 · 운영 · 자가복구가 끊김 없이 한 바퀴로 돌아가는 7단계 사이클을 정리합니다.
이 가이드에서 얻게 되는 것
"에이전트에게 일을 맡기는 시대"에 개발자와 조직이 실제로 무엇을 어떻게 연결해야 하는지를 한 페이지에 정리합니다.
7단계 사이클의 지도
Big Picture개발 → 저장 → 빌드/테스트 → 보안 검증 → 배포 → 운영 → 자율 개선이 어떤 도구를 통해 한 바퀴로 연결되는지 한눈에 봅니다.
3개 플랫폼의 결합 방식
VS Code × GitHub × AzureIDE의 Copilot · MCP · Extensions가 GitHub의 저장소·Actions·GHAS를 거쳐 Azure의 Static Web App·Container Apps·Cosmos DB까지 어떻게 한 흐름으로 묶이는지.
사람과 에이전트의 분담
Roles & Boundaries"코드 타자기"에서 "에이전트 디렉터·검증자"로 바뀌는 개발자의 역할. 어디까지 자동화하고 어디서 사람이 승인하는지 매트릭스로 정리합니다.
핵심 명제 : IDE와 언어의 중요성이 사라지는 게 아니라, 중요해지는 지점이 바뀝니다. 예전에는 사람이 코드를 작성하기 위해 IDE와 언어를 배웠다면, 앞으로는 AI가 만든 결과물을 지시하고 · 제한하고 · 검증하고 · 운영하기 위해 IDE와 언어를 배웁니다.
왜 Agentic SDLC 인가
예전 개발자는 "파일 열기 → 코드 작성 → 디버깅 → 커밋"의 흐름이 일상이었습니다. 이제는 "목표 설명 → 에이전트 수정 → 결과 검증 → 추가 지시 → 승인"의 흐름이 표준이 되어가고 있습니다.
BEFORE 전통 SDLC
- 사람이 코드를 한 줄씩 작성
- 리뷰는 동료 개발자가 수동으로 수행
- CI/CD는 사람이 트리거하고 결과를 해석
- 운영 알람을 보고 사람이 우선순위 부여
- 핫픽스 → 사람이 작성 → 사람이 리뷰 → 사람이 배포
- 도구를 깊이 알아야 빠르다
AFTER Agentic SDLC
- 사람은 의도와 제약을 자연어로 정의
- Copilot Agent가 다중 파일을 수정 · 테스트 실행
- GitHub Advanced Security가 SAST를 자동 수행
- SRE Agent가 운영 신호를 감지하고 GitHub Issue 등록
- Coding Agent가 PR을 만들면 사람·AI가 함께 리뷰
- 사람은 의도 정의 · 검증 · 승인에 집중
전체 사이클 한 눈에
7개 페이즈가 시계방향으로 순환합니다. 마지막 페이즈(자율 개선)는 다시 코드 관리 단계로 이어져 한 사이클을 닫고 다음 사이클을 엽니다. 노드를 클릭하거나 위로 마우스를 올리면 아래의 상세 카드와 함께 강조됩니다.
개발 (Develop)
VS Code의 Copilot Agent Mode가 코드베이스를 읽고, 다중 파일을 수정하고, 터미널 명령·테스트를 실행합니다. MCP 서버로 외부 도구·API를 컨텍스트로 끌어옵니다.
코드 관리 (Source)
모든 변경은 PR 단위로 관리합니다. Issue · PR · Branch protection 으로 사람과 에이전트의 작업을 한 곳에 추적하고, 머지 직전에 모든 검증이 통과되어야 합니다.
빌드 · 테스트 (Build & Test)
PR이 열리면 자동으로 lint · 단위/통합 테스트 · 빌드가 돌고, 동적 컨텐츠는 컨테이너 이미지로 만들어 ACR에 푸시됩니다. 정적 컨텐츠는 빌드 산출물을 그대로 사용합니다.
보안 검증 (Secure / SAST)
CodeQL이 SAST를 수행하고, Secret Scanning · Dependency Review · Dependabot가 비밀·취약 의존성을 탐지합니다. PR 단계에서 리스크를 가시화해 머지 차단까지 가능합니다.
Azure 배포 (Deploy)
Bicep/Terraform으로 인프라를 먼저 프로비저닝한 뒤, 정적 컨텐츠는 Static Web App, 동적 컨텐츠는 Container Apps에 ACR 이미지를 배포합니다. 데이터는 Cosmos DB가 받습니다.
운영 · 모니터링 (Operate)
Azure Monitor · Application Insights가 메트릭/로그/트레이스를 수집합니다. SRE Agent가 비정상 신호를 자율적으로 분석해 원인 가설과 권장 조치를 만들고, 필요 시 GitHub Issue를 자동 등록합니다.
자율 개선 (Auto-Heal)
SRE Agent가 만든 Issue를 GitHub Copilot Coding Agent가 받아 코드 변경을 PR로 제안합니다. 사람·AI 리뷰 후 머지되면 다시 2번 페이즈로 합류해 같은 사이클을 닫습니다.
개발 환경 — VS Code · Copilot · MCP · LLMs
Agentic SDLC의 출발점은 IDE입니다. 여기서 사람은 더 이상 모든 코드를 직접 작성하지 않습니다. 대신 의도를 자연어로 전달하고, 에이전트의 작업 결과를 검증·승인합니다. VS Code는 그 작업의 대시보드이자 검증 콘솔입니다.
VS Code · Copilot · MCP · LLMs 관계도
개발자가 자연어로 의도를 말하면, VS Code 안의 Copilot Agent가 두 갈래의 외부 채널 — ① LLM 모델(추론)과 ② MCP 서버(실제 시스템 컨텍스트·도구) — 을 함께 호출하며 작업을 수행합니다. 결과는 다시 IDE 안에서 diff·테스트로 검증된 뒤 사람의 승인을 거칩니다.
개발 환경 구성 요소
Copilot이 호출하는 LLM 모델
Agent Mode는 작업 성격에 맞춰 모델을 선택할 수 있습니다. 추론 깊이가 필요한 리팩터링은 Opus 계열, 빠른 코드 생성은 Sonnet 계열, 멀티모달 입력이나 긴 컨텍스트가 필요한 작업은 Gemini처럼 모델을 도구로 다룹니다.
- 한 번에 큰 변경을 시키지 말고, plan을 먼저 요구한 뒤 작은 단위로 지시합니다.
- 변경 전에 "어떤 파일이 영향을 받느냐"를 묻고 diff 요약을 받으세요.
- 테스트를 먼저 작성하게 하고, 그 다음 구현을 만들게 하면 위험이 줄어듭니다.
코드 관리 — GitHub Repository
에이전트가 만든 변경도 예외 없이 PR을 통해서만 메인 브랜치에 합쳐집니다. 사람과 에이전트가 만든 코드를 같은 통로로 흘리는 것이 사이클의 신뢰성을 결정합니다.
- main 브랜치 직접 push 금지 — 모든 변경은 PR 경유
- 최소 1명의 리뷰 + 모든 status check 통과 필수
- "Author = Agent"인 PR은 라벨링하여 리뷰어가 더 면밀히 검토
- CODEOWNERS로 도메인별 자동 리뷰어 지정
빌드 · 테스트 — GitHub Actions
PR이 열리면 GitHub Actions가 lint · 단위/통합 테스트 · 빌드를 자동 수행합니다. 동적 컨텐츠는 Docker 이미지로 빌드해 Azure Container Registry(ACR)에 푸시하고, 정적 컨텐츠는 빌드 산출물을 그대로 다음 페이즈로 넘깁니다.
- 이미지 태그를 commit SHA로 — 어떤 코드가 어떤 이미지로 만들어졌는지 1:1 추적
- 테스트 결과·빌드 산출물을 아티팩트로 업로드해 Coding Agent가 재현 가능
- Azure 자격 증명은 OIDC 페더레이션으로 — 시크릿을 저장소에 두지 않습니다
보안 검증 — GitHub Advanced Security (SAST)
AI가 코드를 빠르게 만들수록 보안 검증의 자동화가 결정적입니다. GitHub Advanced Security는 PR이 머지되기 전에 코드 자체와 의존성, 비밀 키 노출까지 한 번에 점검합니다.
Azure 배포 — IaC가 인프라를 먼저, 서비스가 그 위에
배포는 두 단계로 흐릅니다. (1) Bicep · Terraform이 인프라를 선언적으로 프로비저닝하고, (2) 그 위에 정적/동적 컨텐츠와 데이터 서비스를 얹습니다. 컨텐츠 성격에 맞는 PaaS를 골라 운영 비용·확장성·보안을 동시에 잡습니다.
컨텐츠 유형별 Azure 서비스 매핑
Bicep / Terraform
Static Web App
Container Apps
Cosmos DB
- 모든 시크릿은 Azure Key Vault, 접근은 Managed Identity로
- Container Apps · Cosmos DB는 private endpoint로 폐쇄망 구성
- 이미지·인프라 모두 commit SHA로 라벨링해 운영 단계에서 추적 가능
운영 — Azure Monitor + SRE Agent
배포가 끝나면 운영 데이터가 곧 다음 사이클의 입력이 됩니다. Azure Monitor · Application Insights가 메트릭/로그/트레이스를 모으고, SRE Agent가 비정상 신호를 자동으로 분석해 원인 가설과 권장 조치를 만듭니다.
자율 개선 — Issue → Coding Agent → PR → 재배포
SRE Agent가 만든 진단을 GitHub Issue로 자동 등록합니다. 이 Issue를 GitHub Copilot Coding Agent가 받아 코드베이스를 조사하고, 계획을 세우고, 새 브랜치에 PR을 만듭니다. 사람과 AI가 함께 리뷰한 뒤 머지되면, 사이클은 다시 페이즈 2로 합류합니다.
사이클이 다시 닫히는 흐름
auto/sre 부여.사람과 에이전트의 역할 분담
Agentic SDLC에서도 사람의 책임은 사라지지 않습니다. 다만 그 책임의 위치가 "코드 작성"에서 "의도 정의 · 위험 판단 · 최종 승인"으로 이동합니다.
- 제품 의도 · 사용자 흐름 정의
- "이 변경이 우리가 원하는가?" 판단
- 보안·개인정보·비용 정책 결정
- 위험한 PR의 최종 승인
- 아키텍처 큰 그림과 트레이드오프
- 다중 파일 수정 · 보일러플레이트 생성
- 테스트 케이스 작성 · 리팩터링 초안
- 로그·메트릭 묶어 가설 만들기
- 의존성 업데이트 · CVE 수정 PR
- 1차 코드 리뷰 (잠재 버그 · 엣지 케이스)
- 작업을 작은 단위로 쪼개 지시하기
- plan을 먼저 요구하기 · diff 요약받기
- 위험한 변경 영역을 빠르게 짚기
- 실행 결과·로그 기반 재지시하기
- 한 번에 큰 변경 시키지 않기
Agentic SDLC 설계 원칙
자율성을 높이되 통제를 잃지 않으려면, 플랫폼이 강제하는 가드레일이 필요합니다. 사이클을 만들 때 다음 6가지를 꼭 기억하세요.