오늘 끝나면
서버·배포·클라우드
- ✓서버·배포·클라우드의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 서버이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
내 코드가 인터넷에 올라가는 법 — 호스팅·배포 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
개발 · 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에서 시작해 서버와 클라우드를 거쳐 내 도메인으로 공개된다. 여기까지가 코드를 세상에 내보내는 전 과정이다.
Q. 도메인이랑 서버는 뭐가 다른가?
서버는 앱이 실제로 도는 컴퓨터다. 도메인은 그 컴퓨터를 가리키는 이름표일 뿐이다. 이름표(my-app.com)를 떼서 다른 서버에 붙일 수도 있다. 집 주소(서버)는 그대로인데 문패(도메인)만 바꿔 다는 셈이다.도메인은 문패일 뿐이다. 떼서 다른 서버에 붙일 수도 있다