오늘 끝나면
서버·배포·클라우드
- ✓서버·배포·클라우드의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 서버이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
내 코드가 인터넷에 올라가는 법 — 호스팅·배포 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
개발 · Day 19 / 운영 · 배포
내 코드를
세상에 내보내기
노트북에서만 도는 코드는 나만 봄. 인터넷에 올려야 남이 씀 — 이게 배포임. 그 코드를 얹어 둘 24시간 켜진 컴퓨터가 서버임. 그 서버를 빌려 쓰는 게 클라우드임.
localhost — 나만 보는 주소
코드를 짜고 돌리면 화면에 잘 뜸. 근데 그건 내 노트북 안에서만임.
주소창을 보면 localhost라고 적혀 있음. '이 컴퓨터' 라는 뜻임. 내 노트북이 나한테만 보여주는 주소임.
그래서 친구한테 그 주소를 보내도 안 열림. 친구의 localhost는 친구 컴퓨터를 가리키기 때문임. 같은 글자라도 사람마다 딴 데를 봄.
내가 만든 걸 남한테 보여주려면 인터넷 어딘가에 올려야 함. 그 올리는 일을 배포(deploy)라고 부름.
내가 만든 걸 남이 보려면 인터넷에 올려야 함 (배포)
서버 = 절대 안 꺼지는 컴퓨터
내 노트북은 자러 가면 닫고, 들고 다니다 끔. 꺼지면 그 안의 앱도 같이 멈춤.
근데 웹사이트는 새벽 3시에도 누가 들어올 수 있음. 누가 언제 와도 답하려면 컴퓨터가 한 순간도 안 꺼져야 함.
그렇게 24시간 늘 켜진 채 요청을 기다리는 컴퓨터를 서버라고 부름. 모양은 그냥 컴퓨터인데, 데이터센터에서 인터넷에 붙은 채 안 꺼지고 돌아감.
내 앱을 그 서버 위에 얹어 두면, 내가 자는 동안에도 서버가 대신 손님을 받음. 그게 서버가 하는 일의 전부임.
서버 = 늘 켜진 채 요청을 기다리는 컴퓨터
클라우드 = 서버를 빌려 씀
그럼 서버 컴퓨터를 내가 사야 하나? 옛날엔 그랬음. 비싸고 손도 많이 갔음.
지금은 남이 깔아 둔 서버를 빌려 씀. 쓴 만큼만 돈 냄. 이게 클라우드임 — AWS, Vercel 같은 회사들이 빌려줌.
전기를 떠올리면 쉬움. 발전소를 집에 안 지음. 플러그만 꽂고 쓴 만큼 요금을 냄. 클라우드도 똑같음. 서버를 안 사고, 필요할 때 꽂아 쓰고 쓴 만큼 냄.
손님이 갑자기 몰려도 클라우드가 알아서 서버를 늘려 줌. 한가하면 줄여 줌. 그 조절을 내가 안 해도 됨. 그래서 혼자서도 큰 서비스를 돌릴 수 있음.
서버를 안 사고 필요할 때 빌려 쓰니 혼자서도 큰 서비스 운영
직접 배포해보기
말로는 추상적임. 오른쪽에서 한 단계씩 직접 굴려보셈. 코드 한 덩어리가 세상에 공개되는 길임.
처음엔 localhost — 나만 봄. 코드 올리기를 누르면 내 코드가 클라우드로 날아감. 빌드에서 클라우드가 그 코드를 진짜 돌아가는 형태로 조립함.
그다음 24시간 켜진 서버 위에 얹히고, 누구나 들어올 수 있는 공개 URL이 발급됨. 이 순간부터 남이 내 앱을 씀.
요즘은 이 전 과정이 버튼 한 번 / 명령 한 줄로 끝남. 코드만 올리면 빌드·서버·주소 발급을 클라우드가 알아서 해줌.
코드 보기
# 1. 코드를 클라우드로 올림 git push # 2. 명령 한 줄로 배포 (Vercel 예시) vercel --prod # 끝 → https://my-app.vercel.app 발급됨 # 빌드 · 서버 · 주소는 클라우드가 알아서 함
도메인 — 외우기 쉬운 이름표
배포하면 my-app.vercel.app 같은 주소가 나옴. 돌긴 도는데 외우기 힘듦.
그래서 도메인을 따로 삼. naver.com, my-shop.com 처럼 짧고 기억나는 이름임. 1년 단위로 빌려 씀.
그 도메인을 아까 받은 긴 주소에 연결하면 끝임. 이제 사람들은 짧은 이름만 치면 내 앱으로 옴. 뒤에선 여전히 그 서버가 답함.
여기까지가 "내 코드를 세상에 내보내기"임. localhost에서 시작해, 서버·클라우드를 거쳐, 내 도메인으로 공개됨. 다음은 그 주소창에 URL을 치면 실제로 무슨 일이 벌어지는지를 봄.
Q. 도메인이랑 서버는 뭐가 다름?
서버는 앱이 실제로 도는 컴퓨터임. 도메인은 그 컴퓨터를 가리키는 이름표일 뿐임. 이름표(my-app.com)를 떼서 다른 서버에 붙일 수도 있음. 집 주소(서버)는 그대로인데 문패(도메인)만 바꿔 다는 셈임.도메인은 문패일 뿐 — 떼서 다른 서버에 붙일 수도 있음