150분권장 수업시간
20장학생용 슬라이드 대응
2개실서비스 배포 실습
5종클라우드 고삐 재점검
수업 설계 개요
10장은 Vercel 클릭 사용법 수업이 아닙니다. 로컬에서 작동하던 서비스를 서버리스 구조로 안전하게 이사하고, 비밀·비용·데이터·복구·로그를 사람이 통제하는 배포 운영 수업입니다.
1차시 · 75분
- 도입·Vercel 연결 15분
- 서버리스 구조 이해 15분
- qa-board Plan·Import 20분
- Redis·환경 변수 15분
- LTE/5G 검증 10분
2차시 · 75분
- food-chatbot 위험 분석 15분
- 상한·도배 정책 15분
- 배포 검증 10분
- 자동 배포·오류 로그 20분
- 롤백·5가지 고삐·정리 15분
수업 전 준비
환경·계정
- GitHub에 업로드된 qa-board·food-chatbot 비공개 저장소
- Vercel Hobby 계정과 GitHub 연결 권한
- Upstash Redis 생성 가능한 상태와 최신 무료 한도 확인
- 스마트폰 LTE/5G 및 PC 브라우저
- 파괴·롤백용 실습 복사본
보안·비용
- 실제 키 대신 화면 예시에는 sk-ant-*** 사용
- Claude·Naver 키의 폐기·재발급 경로 확인
- 낮은 DAILY_CAP과 도배 방지 설정
- 로그 공유 전 개인정보·비밀 마스킹
- 수업 후 테스트 프로젝트·권한·환경 변수 정리 계획
공통 평가 원칙
구조 이해파일·메모리·SSE가 서버리스에서 왜 바뀌는지 설명했는가?
배포 검증Ready가 아니라 외부망·DB·API·통제 기능까지 확인했는가?
운영 통제비밀·비용·로그·롤백과 다섯 고삐를 직접 점검했는가?
핵심 오개념 대응
서버리스 = 서버가 없음?
아닙니다. 요청 시 플랫폼이 실행 환경을 만들고 서버 운영의 상당 부분을 대신합니다.
Ready = 기능 완료?
아닙니다. DB·환경 변수·외부 API·방어 장치까지 사용자 관점에서 검증해야 합니다.
환경 변수 = GitHub의 .env?
아닙니다. 비밀은 저장소에 올리지 않고 Vercel 전용 금고에 별도로 등록합니다.
롤백 = 모든 데이터 복구?
주로 코드 배포 버전 복귀입니다. DB·키·외부 데이터는 별도 복구 대상입니다.
슬라이드별 교수 지침
01직접 코딩 0% · CHAPTER 10
10장. Vercel 배포
2분 교육 의도
장의 성취를 ‘공개 URL·자동 배포·운영 통제’로 선명하게 제시한다.
핵심 설명
localhost를 벗어나 GitHub의 코드를 Vercel이 가져가 실행하는 전체 흐름을 예고한다.
발문·활동
현재 자신의 서비스를 다른 네트워크에서 접속할 수 있는지 묻는다.
오개념·주의
배포를 단순 링크 공유로 축소하지 않는다. 지속 실행·수정·복구까지 포함한다.
교수자 확인 기준공개 전과 공개 후, 무엇이 달라질지 한 문장으로 말한다.
연결 문장먼저 Vercel을 선택하는 이유부터 확인한다.
02직접 코딩 0% · CHAPTER 10
집 주방에서 — 거리의 가게로
4분 교육 의도
Vercel 선택 이유를 무료·공개 URL·자동 배포로 구조화한다.
핵심 설명
GitHub는 금고, Vercel은 가게다. 푸시가 새 배포를 촉발한다.
발문·활동
세 이유 중 운영을 가장 크게 바꾸는 하나를 고르게 한다.
오개념·주의
무료는 무제한이 아니다. 요금·사용량 한도는 변할 수 있으므로 현장 화면을 확인한다.
교수자 확인 기준GitHub와 Vercel의 역할을 구분한다.
연결 문장이제 오늘의 전체 이사 경로를 본다.
03직접 코딩 0% · CHAPTER 10
계획하고, 이사하고, 바깥세상에서 검증합니다
3분 교육 의도
20장 학습 경로를 계정 연결–서버리스 전환–두 서비스 배포–자동화–통제 점검으로 조망한다.
핵심 설명
3번 슬라이드는 2열 로드맵이다. 기능 작업과 운영 통제 작업이 병행됨을 강조한다.
발문·활동
학습자가 가장 위험하다고 보는 구간에 표시하게 한다.
오개념·주의
절차를 클릭 순서 암기로 가르치지 말고 각 단계가 막는 위험을 연결한다.
교수자 확인 기준7개 절의 흐름과 마지막 검증 단계를 찾는다.
연결 문장첫 단계는 금고 열람권을 최소 범위로 주는 일이다.
04직접 코딩 0% · CHAPTER 10
가게에게 금고 열람권을 줍니다
7분 교육 의도
Vercel 가입과 GitHub 권한 연결을 최소 권한 원칙으로 수행한다.
핵심 설명
Hobby 선택, Authorize, Only select repositories, 이메일 인증의 의미를 설명한다.
발문·활동
All repositories와 Only select repositories 중 안전한 선택과 이유를 말하게 한다.
오개념·주의
인증 코드·이메일·계정명은 화면 공유에서 가린다. UI 문구는 변경될 수 있다.
교수자 확인 기준qa-board 저장소가 Import 목록에 보이고 권한 범위가 제한됐는지 확인한다.
연결 문장연결됐어도 현재 앱 구조는 서버리스에 맞지 않는다.
05직접 코딩 0% · CHAPTER 10
상시 영업 가게 vs 호출형 주방 — 서버리스
7분 교육 의도
상시 프로세스와 서버리스 실행 모델의 차이를 생활 비유로 이해시킨다.
핵심 설명
요청마다 실행 공간이 새로 생길 수 있어 로컬 파일·메모리 상태·장시간 SSE를 전제로 할 수 없다.
발문·활동
왜 data 폴더에 질문을 저장하면 사라질 수 있는지 짝에게 설명하게 한다.
오개념·주의
‘서버가 없다’가 아니라 서버 관리를 플랫폼이 감춘 방식이다. PM2 원리는 사라진 것이 아니다.
교수자 확인 기준파일→외부 DB, SSE→폴링이라는 이사 필요성을 설명한다.
연결 문장구조 변경은 추측하지 않고 Plan 모드로 먼저 설계한다.
06직접 코딩 0% · CHAPTER 10
어디를 고쳐야 하는지 — 몰라도 됩니다
9분 교육 의도
Plan 모드로 서버리스 이사 계획과 통제 장치 보존 여부를 검토한다.
핵심 설명
Upstash Redis와 폴링을 선택하되, 왜 필요한지와 비용·한계를 함께 읽는다.
발문·활동
계획에서 파일 저장·SSE·메모리 카운터에 해당하는 변경을 찾아 표시한다.
오개념·주의
추천값을 맹목 승인하지 않는다. 책과 동기화하되 실제 환경에서는 대안의 장단점을 확인한다.
교수자 확인 기준‘왜·어디를·어떻게·검증’을 포함한 계획인지 확인한다.
연결 문장승인 후에도 사람이 해야 하는 콘솔 작업이 남는다.
07직접 코딩 0% · CHAPTER 10
Claude Code가 건네준 다음 단계 5가지
6분 교육 의도
AI 작업과 사용자 인증·콘솔 작업의 경계를 구분한다.
핵심 설명
푸시, Import, Redis 연결, 환경 변수, 배포·로그 확인의 5단계를 체크리스트로 운영한다.
발문·활동
각 단계의 담당자를 AI/사람/플랫폼으로 분류하게 한다.
오개념·주의
폴링은 탭 수에 따라 Redis 명령을 소비한다. 무료 한도 수치는 현행 정책을 확인한다.
교수자 확인 기준GitHub에서 변경 시각과 커밋을 확인한 뒤 다음 단계로 간다.
연결 문장이제 Vercel에서 첫 배포를 실행한다.
08직접 코딩 0% · CHAPTER 10
Vercel에서 금고를 열어 — 가게를 엽니다
7분 교육 의도
GitHub 저장소를 Import하고 첫 Deploy 상태를 읽는다.
핵심 설명
Express preset, 루트 디렉터리, 빌드 로그, Congratulations와 Dashboard의 의미를 짚는다.
발문·활동
Deploy 전 화면에서 저장소·브랜치·프로젝트 이름을 소리 내어 검문하게 한다.
오개념·주의
첫 화면이 떠도 DB와 환경 변수가 없으면 기능 완료가 아니다.
교수자 확인 기준배포 상태가 Ready이며 올바른 저장소에서 생성됐는지 확인한다.
연결 문장다음은 서비스의 장부를 외부 DB로 옮긴다.
09직접 코딩 0% · CHAPTER 10
Upstash Redis — 주방 밖의 장부 금고
8분 교육 의도
서버리스에서 지속 데이터를 보관할 외부 저장소를 생성·연결한다.
핵심 설명
지역, Free 플랜, 프로젝트·환경 연결, 자동 주입되는 접속 변수의 의미를 설명한다.
발문·활동
쓰기 중심 지역을 왜 가까운 곳으로 고르는지 묻는다.
오개념·주의
실습 시 최신 지역·무료 한도를 확인한다. 서비스별 DB 분리를 기본으로 한다.
교수자 확인 기준Storage가 qa-board와 연결되고 관련 환경 변수가 등록됐는지 확인한다.
연결 문장DB 열쇠는 자동 등록됐지만 Claude API 키는 직접 금고에 넣어야 한다.
10직접 코딩 0% · CHAPTER 10
Vercel의 전용 금고 — 환경 변수
8분 교육 의도
비밀을 코드·GitHub가 아닌 배포 플랫폼 환경 변수로 관리한다.
핵심 설명
Production 환경에 ANTHROPIC_API_KEY를 등록하고 변경 후 Redeploy해야 적용된다.
발문·활동
왜 .env를 업로드하지 않고도 서비스가 키를 읽을 수 있는지 설명하게 한다.
오개념·주의
실제 키를 발표 화면·채팅·스크린샷에 노출하지 않는다. 예시는 sk-ant-***만 사용한다.
교수자 확인 기준키 이름, 대상 환경, Sensitive 설정, 재배포 완료를 확인한다.
연결 문장진짜 배포 확인은 같은 와이파이가 아니라 외부망에서 한다.
11직접 코딩 0% · CHAPTER 10
와이파이를 끄세요 — 그것이 진짜 확인입니다
10분 교육 의도
공개 URL·DB·컴퓨터 독립성·통제 장치를 사용자 관점에서 검증한다.
핵심 설명
LTE/5G 접속, 교차 기기 데이터 확인, 컴퓨터 종료 후 접속, 욕설 필터를 순서대로 시험한다.
발문·활동
2인 1조로 폰과 PC에서 같은 질문이 보이는지 증거를 남긴다.
오개념·주의
실제 행사 전 다중 기기 부하를 시험한다. QR·도메인 캡처에 관리자 정보가 없는지 확인한다.
교수자 확인 기준4종 체크리스트와 Ready 상태를 모두 통과한다.
연결 문장같은 길로 food-chatbot을 옮기되 비용 위험이 더 크다.
12직접 코딩 0% · CHAPTER 10
같은 길 — 그러나 두 가지가 더 무겁습니다
7분 교육 의도
공개 AI 서비스에서 환경 변수와 도배 방지가 비용 통제임을 인식시킨다.
핵심 설명
Claude·Naver 키는 지갑의 열쇠이며 전 세계 공개 후 요청 제한은 생존 조건이다.
발문·활동
질문 1건이 어떤 외부 API와 비용을 발생시키는지 흐름을 그리게 한다.
오개념·주의
Private 저장소도 비밀 저장소가 아니다. 키는 환경 변수에만 둔다.
교수자 확인 기준검문→비공개 푸시→Plan→환경 변수→배포→외부망 확인 순서를 말한다.
연결 문장Plan 모드에서 전체 상한과 사용자 식별 기준을 결정한다.
13직접 코딩 0% · CHAPTER 10
하루 상한과 도배 식별 기준을 함께 정합니다
9분 교육 의도
비용 상한과 도배 방지의 정책 결정을 기술 구현보다 먼저 한다.
핵심 설명
낮은 DAILY_CAP부터 시작하고 IP 식별의 장점과 공용망 오탐 한계를 설명한다.
발문·활동
300/1000/100 중 수업용 값을 고르고 근거·초과 메시지를 작성하게 한다.
오개념·주의
어떤 식별법도 완벽하지 않다. 카운터는 공유 DB에서 원자적으로 처리되어야 한다.
교수자 확인 기준상한·초기화 시각·집계 대상·식별 기준·예외 메시지가 계획에 명시됐는지 본다.
연결 문장배포 후 실제 API·차단·비밀 검문을 다시 수행한다.
14직접 코딩 0% · CHAPTER 10
5G 화면 속 ‘맛집 박사’ — 확인 3종
7분 교육 의도
food-chatbot의 외부 API 연동과 방어 장치를 실제 배포 환경에서 검증한다.
핵심 설명
실제 가게명·주소·출처, 연속 질문 차단, GitHub 비밀 부재를 확인한다.
발문·활동
한 명은 정상 질문, 한 명은 빠른 연속 질문을 맡아 결과를 비교한다.
오개념·주의
무리한 도배 테스트로 실제 비용을 만들지 않도록 낮은 실습 한도·모의 호출을 우선한다.
교수자 확인 기준기능·제한·비밀 검문 3종의 증거를 제시한다.
연결 문장이제 수정 한 번이 자동으로 전 세계 서비스에 반영되는 고리를 본다.
15직접 코딩 0% · CHAPTER 10
이 장에서 가장 마법 같은 실습
8분 교육 의도
말하기→수정→푸시→자동 배포→새로고침의 CI/CD 체감을 만든다.
핵심 설명
사람은 방향·테스트·업로드·Ready를 승인하고, 도구와 플랫폼이 반복 작업을 수행한다.
발문·활동
작은 문구를 바꾸고 GitHub 커밋과 Vercel 새 배포를 시간순으로 관찰한다.
오개념·주의
자동 배포는 자동 승인과 다르다. 검문과 테스트 없이 푸시하지 않는다.
교수자 확인 기준커밋 해시·새 배포·화면 변경이 한 변경으로 연결되는지 확인한다.
연결 문장자동화의 진가는 오류가 났을 때 로그로 빠르게 고치는 데 있다.
16직접 코딩 0% · CHAPTER 10
500 에러 — 로그를 건네주면 됩니다
9분 교육 의도
막연한 오류 번호보다 구체적 로그가 AI 진단의 품질을 높임을 익힌다.
핵심 설명
Logs에서 발생 시각·상세 메시지를 확보하고 민감 정보를 마스킹해 전달한다.
발문·활동
500 코드만 준 경우와 Invalid export 로그까지 준 경우의 프롬프트를 비교한다.
오개념·주의
로그에는 키·이메일·사용자 질문이 섞일 수 있다. 반드시 *** 처리 후 공유한다.
교수자 확인 기준수정 후 같은 기능, Logs, Ready, 사용자 화면을 다시 확인한다.
연결 문장배포 환경에서 다섯 고삐가 어떻게 진화했는지 전수 점검한다.
17직접 코딩 0% · CHAPTER 10
집이 바뀌었으니 — 고삐 전수 점검
7분 교육 의도
로컬 통제 체계를 클라우드 운영 구조로 매핑한다.
핵심 설명
규칙·울타리·검증은 유지되고, PM2는 플랫폼 복구·롤백으로, CCTV는 Vercel Logs까지 확장된다.
발문·활동
각 고삐에 대해 ‘그대로/진화/대체’ 중 하나로 분류하게 한다.
오개념·주의
플랫폼 기능이 애플리케이션 통제를 자동 보장하지 않는다. 관리자 인증·도배 방지는 계속 설계해야 한다.
교수자 확인 기준다섯 고삐 각각의 클라우드 대응 장치를 말한다.
연결 문장새 장치인 롤백과 로그를 직접 확인한다.
18직접 코딩 0% · CHAPTER 10
롤백과 Vercel 로그
9분 교육 의도
클라우드 복구와 관찰 가능성을 실제 운영 절차로 익힌다.
핵심 설명
롤백은 코드 배포를 되돌릴 뿐 DB·환경 변수까지 과거로 돌리지 않는다. 로그는 요청·오류의 출입구 기록이다.
발문·활동
이전 Ready 배포 찾기와 로그 실시간 확인을 짝 실습한다.
오개념·주의
파괴 실습은 전용 복사본에서만 한다. 관리자 페이지·암호 차단도 함께 확인한다.
교수자 확인 기준롤백 후 기능·데이터 호환, 로그 유입, 관리자 접근 통제를 재검증한다.
연결 문장마지막으로 이 장에서 바뀐 운영 구조를 언어화한다.
19직접 코딩 0% · CHAPTER 10
localhost가 사라지고, 진짜 주소가 생겼습니다
5분 교육 의도
장의 변화를 인프라·데이터·자동화·통제 관점으로 회고한다.
핵심 설명
파일은 외부 DB로, PM2는 플랫폼으로, 수동 반영은 GitHub 연동 자동 배포로 바뀌었다.
발문·활동
‘전에는/지금은’ 문장 네 개를 완성하게 한다.
오개념·주의
서비스 완성은 운영 종료가 아니다. 공개 순간부터 비용·비밀·성장 관리가 시작된다.
교수자 확인 기준학습자가 자신의 배포 URL과 검증 증거, 남은 위험 한 가지를 제시한다.
연결 문장다음 장에서는 공개 서비스 주인의 일로 넘어간다.
20직접 코딩 0% · CHAPTER 10
NEXT · 11장. 운영 — 공개된 서비스의 주인이 되는 법
3분 교육 의도
학습 성취를 축하하되 운영 책임으로 자연스럽게 전환한다.
핵심 설명
코드를 직접 쓰지 않아도 지시·검증·통제·승인을 수행하면 서비스 운영자가 될 수 있다.
발문·활동
오늘 만든 서비스에서 내일 아침 가장 먼저 확인할 지표를 하나 고르게 한다.
오개념·주의
실제 URL·키·사용자 데이터가 남은 화면은 수업 종료 전 정리한다.
교수자 확인 기준종료 체크: 배포 상태, 비용 상한, 비밀, 로그, 롤백 경로를 말한다.
연결 문장11장에서 비용 알림·비밀 관리·성장 관찰을 다룬다.