사내벤처 3기 · ATI Labs · 10주 완성 개발 클래스 · 배포
10주 개발 클래스
만든 것과 쓰이는 것 사이엔
강이 하나 있다
배포 — 남이 쓰게 만들기 (방법론 + AWS 한 바퀴)
그리고 그 강은 한 번만 건너는 게 아니다. 고칠 때마다 다시 건넌다.
2026 · 배포 · 발표자 김승원 (AI자동화 T/F 팀리더)
my laptop server cross it, then cross it again
02
Recap · 오늘 위치

만들었고 · 지켰고 — 오늘은 남이 내 서비스 쓰게 만들기

내 PC에만 있을 땐 쓸 일 없던 보안 — 남이 쓰기 시작하는 이번 주부터 진짜
① PRD · 뭘·왜 ② 설계 문서 · 어떻게 ③ 구현 · Claude ④ 검증 · 직접 확인 ⑤ 올리기
7/16 · 23
만든다
PRD·MVP
7/30 · 8/6
지킨다
보안
오늘 · 8/20
올린다
배포
방법론
8/27
잰다
성능
9/10
지켜본다
모니터링
9/17
늘린다
규모
10/1
트랙 ①
10/8
트랙 ②
10/15
발표
회고
📌 순서를 바꿨어요 — 쓰는 사람이 나뿐인 상태에서 "몇 명까지 버티나"는 답할 대상이 없는 질문이라서요.
DEV CLASS · 배포
03
배포란 · 한 줄로

배포 = 남이 쓸 수 있게 만들기

지금 보고 계신 이 화면도 배포된 것이에요 — 제 노트북은 지금 닫아도 됩니다
지금 같이 보기airportflow.xyz — 우리 팀 사내 위키 · 이 수업 페이지 · 오늘 이 슬라이드까지 전부 저기 올라가 있어요
내 PC나만 쓸 때
  • 지금 여러분 상태
  • 돈이 안 든다
  • 노트북 닫으면 같이 꺼진다
클라우드아무나 접속해야 할 때
  • 사내 위키 · 공모전 출품작
  • 카드 한 장이면 몇 시간
  • 요금이 나온다
회사 서버회사 데이터를 다룰 때
  • Passenger Flow (작년 실배포)
  • 인증서·도메인·방화벽 신청
  • 회사 밖에서는 접속 안 된다
남이 쓰게만이 아니에요 — 나도 지하철에서 폰으로 쓸 수 있게 되는 거예요. 누군가는 그 컴퓨터를 24시간 켜 둬야 하고, 그걸 빌리는 게 클라우드예요.
🔎 혼자 더 볼 때deployment배포cloud vs on-premise클라우드 ↔ 자체 서버IaaS서버를 빌려 쓰기air-gapped network인터넷 없는 폐쇄망
공사망은 만드는 시간이 아니라 신청을 기다리는 시간이 일정을 정해요DEV CLASS · 배포
04
왜 · 완성 전에 올리는 이유

완성해서 올리는 게 아니라 — 올려서 완성하기

만든 서비스는 대부분 안 됩니다. 그래서 되는지부터 확인하고 거기에 몰아요
① 핵심 기능 하나만 ② 올린다 ③ 알린다 ④ 반응을 본다 ⑤ 되는 것에 집중
이렇게 하지 마세요완성한 다음에 공개
  • 몇 달을 갈고닦아 열었더니 쓰는 사람이 없다
  • 사람도 없는데 속도·확장부터 손본다
  • 수요가 있는지를 가장 마지막에 확인한다
⚠️ 이 수업이 계속 경계해 온 과한 설계가 여기서도 똑같이 나와요
이렇게작게 올리고 확인
  • 되는지 볼 수 있는 최소한만 만들어 올린다
  • 반응을 보고 다음에 뭘 만들지 정한다
  • 속도·안정성은 사람이 몰린 다음에
처음부터 1억 명을 받을 필요는 없어요 — 대신 나중에 고칠 수 있게만 해두면 돼요
수요 없는 것을 잘 만드는 게 가장 큰 낭비예요.
🗣 현업 조언(어드바이저) — "작게라도 한 바퀴 먼저 돌려라". 몰랐던 문제도, 비용도, 막히는 자리도 거기서 나와요.
🔎 혼자 더 볼 때MVP되는지 볼 최소한product-market fit수요가 있는가ship early일단 올리기over-engineering과한 설계iteration돌려가며 고치기
DEV CLASS · 배포
05
왜 · 실제로 이렇게 하는 사람들

한 달에 하나씩 12개를 올린 사람

될 것을 고른 게 아니라 — 올려보고 남은 것에 집중했어요
사례 ①12개를 12달에
  • 1주차에 나왔던 그 1인 개발자예요
  • 매달 하나씩 만들어 그때그때 올렸어요
  • 대부분은 조용히 사라졌고, 살아남은 소수가 지금의 수입원
완성도로 이긴 게 아니라 시도 횟수로 찾은 거예요
사례 ②만들기 전에 먼저 팔기
  • AI 인물사진 서비스 — 기능을 만들기 전에 소개 화면부터 올렸어요
  • 결과 예시도 미리 만들어 둔 것이었어요
  • 버튼을 누르면 뒤에서는 사람이 손으로 돌렸어요
먼저 확인한 것 = "돈을 내고 쓸 사람이 있나" 하나
공통점 = 둘 다 완성품을 먼저 만들지 않았어요. 먼저 올리고, 반응을 보고, 남은 것에 몰았어요.
⚡ 다만 빨리 올리는 것함부로 올리는 것은 달라요 — 다음 장이 그 얘기예요.
🔎 혼자 더 볼 때12 startups in 12 monthslevels.iofake door test수요부터 확인하기concierge MVP뒤에서 사람이 처리landing page소개 화면
06
30초 호러 · 이 주가 필요한 이유

업데이트 한 번이 만든 인천공항 400m 줄

인천공항은 그 프로그램을 쓰지도 않았는데 — 그날 같이 멈춘 우리 공항
그날 밤 제주항공
발권 카운터 앞에 늘어선
400m 대기 줄
2024년 7월 19일 21시경 · 인천공항 — 전 세계로는 약 850만 대
✈️ 인천공항에서 실제로
다음 날 오전까지 제주항공 인천발 47편 지연. 이스타항공·에어프레미아도 이어졌어요
🔗 우리가 쓴 프로그램이 아니었는데도
항공사 발권 시스템이 그 위에 올라가 있었어요 → 수기 발권, 1~2시간 늦은 출항
⭐ 되돌렸는데도 안 돌아온 PC
파일은 78분에 되돌렸지만 멈춘 PC는 사람이 한 대씩. 다음 날까지 못 푼 외항사 8곳
해킹이 아니라 테스트가 덜 된 업데이트 하나였어요(항목을 20개로 아는데 21개가 왔죠). 사고 뒤 그 회사가 내놓은 대책이 단계적 배포오늘 뒤에서 할 얘기가 정확히 그것이에요.
🔎 혼자 더 볼 때staged rollout단계적 배포blast radius사고가 닿는 범위third-party dependency남의 시스템에 얹힌 내 서비스postmortem · RCA원인 규명 보고서
출처 : 인천공항공사·항공업계 (2024.7.20 보도) · Microsoft·CrowdStrike 공식 RCADEV CLASS · 배포
07
개념 1 · 가게를 여는 것처럼

올리는 순간 반드시 생기는 것 넷

앞의 셋은 안 만들면 안 열리는 것, 마지막 하나는 안 만들면 그냥 새는 것
1
도메인 · DNS
주소
번호 대신 외우는 이름
안 달면 매번 숫자를 불러줘야 해요
2
HTTPS
자물쇠
오가는 내용을 잠그는 것
주소창의 자물쇠 표시가 이거예요
3
로그인 · 권한
문지기
누가 들어올지 정하는 것
내 PC에선 필요 없던 기능이죠
4
사용 요금
계량기
켜 둔 시간만큼 나가는 돈
⚠️ 안 만들면 그냥 새는 항목
🏪 가게를 여는 것과 같아요 — 간판 달고, 문 잠그고, 누가 들어올지 정하고, 그리고 전기요금이 나와요.
🔎 혼자 더 볼 때DNS이름 ↔ 주소TLS / HTTPS자물쇠authentication너 누구야authorization봐도 돼?cloud cost · FinOps계량기
DEV CLASS · 배포
08
개념 2 · 배포의 작동 원리 — 다음 주에 순서대로

올리면 반드시 막히는 다섯 곳

오늘 외울 필요 없는 다섯 개 — 다음 주에 막혔을 때 "몇 번이구나"만 떠오르면 성공
1
실행 환경
"제 컴퓨터에선 되는데요"
내 PC에 깔아둔 것들이
새 서버엔 없어요

그래서 집째로 말아 옮겨요
2
요청이 오는 길
주소를 치면 무슨 일이
이름 → 서버 → 문 → 내 앱
하나만 어긋나도 안 떠요
3
포트 · 방화벽
모든 문이 잠긴 건물
서버는 기본이 전부 잠김
열어준 문으로만
들어와요
⚠️ 거의 전원이 여기서
4
계속 떠 있기
터미널과 함께 죽는 서비스
내가 창을 닫으면
앱도 같이 죽어요

꺼지면 다시 켜지게 걸어둬요
5
설정과 비밀
현관에 붙여둔 열쇠
DB 주소·비밀번호는
코드 밖에 둬요

코드는 보여줘도 열쇠는 아니죠
🔎 혼자 더 볼 때container · Docker통째로 말아 옮기기port문 번호firewall · security group열어줄 문 정하기process supervisor꺼지면 다시 켜주기environment variable코드 밖의 설정값12-factor config설정은 코드 밖에secret management비밀 보관
DEV CLASS · 배포
09
정석 · 원래는 이렇게 합니다

예전엔 한 줄씩 직접 — 지금은 일임할 수 있어요

그래도 오늘 다섯 개를 배운 이유 = 막혔을 때 어디가 막힌 건지 알아야 풀려요
예시서버에 직접 올리던 순서
  • 서버 만들기 → 패키지 업데이트 → 파이썬 설치
  • DB 설치·설정 → 계정·실행 환경 → 환경변수
  • 실행기 → 서비스 등록(꺼져도 다시 켜지게)
  • 웹 서버 → 도메인SSL방화벽
  • 그리고 고칠 때마다 다시
공개 강의 하나가 이 한 섹션에 한 시간 반을 써요 — 단계 수는 중요하지 않아요
접으면오늘 배운 것이 전부예요
  • 설치·환경 → ① 제 컴퓨터에선 되는데요
  • 방화벽 → ③ 모든 문이 잠긴 건물
  • 실행기·서비스 등록 → ④ 터미널과 함께 죽는 서비스
  • 환경변수 → ⑤ 현관에 붙여둔 열쇠
  • 도메인·SSL → 주소와 자물쇠
⭐ 새 개념이 아니라 오늘 배운 것의 다른 이름이에요
회사는 여기에 더 붙여요 리포 테스트 패키지 배포 모니터링· 로깅
🤖 이 과정은 이제 Claude Code에 맡길 수 있어요 — 대신 막히는 건 여전히 내 몫이라 이름은 알고 있어야 해요.
모니터링·로깅은 사람이 몰리면 그때 붙여도 돼요 — 단 밖에 여는 순간은 그때부터 먼저예요.
🔎 혼자 더 볼 때CI/CD pipeline자동 검사·배포artifact registry패키지 보관소canary release일부에게 먼저rollback되돌리기monitoring · logging지켜보기·기록
예시 출처 : 파이썬 API 개발 공개 강의 · 배포 섹션 — 업계 격언 "금요일엔 배포하지 마라"DEV CLASS · 배포
10
그럼 나는 · 지금 밟을 칸은 하나

회사 방식을 지금 다 따라 하지 않기

아직 쓰는 사람이 나뿐 — 네 단계를 다 세우는 건 이 수업이 경계하는 과한 설계
0
손으로 올리기 지금. 이게 잘못이 아니에요 — 완성해서 올리는 게 아니라 작게 한 바퀴 먼저
1
되돌릴 수 있게 남이 쓰기 시작하면 — 이전 버전을 버리지 말고 남겨둬요
2
사용자보다 내가 먼저 알게 밖에 열면 — 심장 박동 · 알림 · 기록. 사용자가 먼저 알면 이미 늦어요
3
자동화 고치는 일이 잦아지면 — 그때 파이프라인을 만들어요
1번이 오늘의 한 문장이에요 — 못 되돌린 건 절차가 없어서가 아니라 돌아갈 어제 것이 없어서였어요.
⭐ 판단 기준은 "손으로 몇 번 하고 있나". 사내 위키는 주 2~3회 손으로 올려요 — 그 정도면 자동화할 때예요. 2번은 9월에 독립 주차로 다시 와요.
🔎 혼자 더 볼 때deployment frequency얼마나 자주 올리나over-engineering과한 설계monitoring계속 지켜보기alerting알림health check살아있나 확인log aggregation기록 모으기
아직 손님이 나뿐인데 주방 자동화 설비부터 놓지 마세요 — 대신 어제 것은 버리지 마세요DEV CLASS · 배포
11
남은 시간 · 같이 보기

서버 한 대 띄우고 — 앱 올리고, 지우기

오늘은 제 화면으로 끝까지 한 바퀴, 다음 주는 각자 올려서 서로 접속해요
1
계정 만들기
가입
이메일 · 카드 · 전화 인증
무료 사용분이 있어도 카드는 등록해요
🏠 오늘 숙제가 여기까지
2
요금 알림
Budgets
금액을 정해두고 넘으면 메일
⚠️ 서버를 만들기 전에 이것부터 걸어요
3
서버 한 대
EC2 인스턴스
빌리는 컴퓨터 한 대
우분투 · 가장 작은 유형 · 지역은 서울
4
열쇠 받기
키 페어 · pem
비밀번호 대신 파일 하나
만드는 화면에서 그때 한 번만 내려받아요
5
문 열어주기
보안 그룹
들어올 문만 골라 여는 것
같은 화면에서 접속용 문 + 앱이 쓸 문
6
접속하기
SSH
내 노트북에서 그 서버로
⚠️ 열쇠 파일을 나만 읽게 잠가야 들어가져요
7
올리기
Claude에 일임
앞 장의 그 과정을 대신
끝나면 주소로 접속해 확인해요
8
지우기
인스턴스 종료
빌린 컴퓨터를 반납하는 것
⚠️ "중지"만 하면 디스크 요금이 계속 나가요
⚠️ 막히면 "다섯 개 중 몇 번인가"부터 — 앱은 도는데 화면만 안 뜨면 ③ 문이 잠긴 것이에요.
💻 맥은 터미널 · 윈도우는 PowerShell. ⑥ 열쇠 잠그기만 방법이 달라요 — 맥 chmod 400 키파일 / 윈도우 우클릭 → 속성 → 보안 → 고급 → 상속 끄기
🔎 혼자 더 볼 때EC2 instance빌리는 서버 한 대key pair · pem열쇠 파일security group열어줄 문 정하기terminate vs stop종료 ↔ 중지chmod 400 · icacls맥 ↔ 윈도우 열쇠 잠그기
📋 명령어 복붙용 런북 — 이 8칸을 그대로 따라가는 페이지  ·  🎒 다음 주 준비물 — 노트북 · 핫스팟 · 가입 완료DEV CLASS · 배포

중요한 건 잘 올리는 게 아니라 —
잘못 올렸을 때 되돌리는 것.

만든 것과 쓰이는 것 사이의 강은, 한 번만 건너는 게 아니다.
🔎 슬라이드 아래 칩 = 혼자 더 파고 싶을 때 쓸 진짜 이름이에요 — Claude에게 그 단어를 그대로 물어보세요

오늘 숙제 : 클라우드 가입까지만 (카드 등록 · 무료 사용분)  ·  다음 주 = 각자 실제로 올리고, 서로 접속하고, 다 같이 지워요