1장. 온프레미스와 클라우드의 이해
1. 우리가 만든 프로그램은 어디에서 실행될까?
우리가 웹 서비스를 개발했다고 가정해보자.
- 로그인 기능을 만들고
- 게시판을 만들고
- 데이터를 저장하도록 구현했다
그런데 이 프로그램은 어디에서 실행될까?
내 노트북에서만 실행된다면 다른 사람은 사용할 수 없다.
따라서 24시간 켜져 있고, 인터넷에 연결된 컴퓨터가 필요하다.
이 컴퓨터를 우리는 서버(Server) 라고 부른다.
2. 서버란 무엇인가?
서버는 특별한 장비가 아니다.
다른 사람의 요청을 받아 처리해주는 컴퓨터
가 서버다.
- 웹 요청을 처리하면 웹 서버
- 데이터를 저장하면 데이터베이스 서버
- 파일을 저장하면 스토리지 서버
결국 서버도 컴퓨터다.
다만 꺼지면 안 되고, 많은 요청을 동시에 처리해야 하며,
안정적으로 운영되어야 한다는 점이 다를 뿐이다.
3. 서버는 어디에 두어야 할까?
이제 중요한 선택이 등장한다.
서버를 직접 준비할 것인가,
아니면 누군가에게 빌릴 것인가?
여기서 두 가지 운영 방식이 나온다.
- 직접 서버를 구매해서 운영하는 방식 → 온프레미스
- 인터넷을 통해 서버를 빌려 쓰는 방식 → 클라우드
4. 온프레미스란 무엇인가?
온프레미스는 회사가 직접 서버를 구매하고,
직접 설치하고, 직접 운영하는 방식이다.
온프레미스 운영 과정 예시
- 서버 장비 구매
- 데이터센터(IDC)에 설치
- 네트워크 연결
- 운영체제 설치
- 보안 설정
- 장애 대응
모든 책임이 내부에 있다.
장점
- 완전한 통제권
- 보안 및 네트워크를 세밀하게 설계 가능
- 장기적으로는 비용 예측이 비교적 안정적
단점
- 초기 비용이 큼
- 서버가 부족하면 새로 구매해야 함
- 확장에 시간이 오래 걸림
5. 클라우드란 무엇인가?
클라우드는 인터넷을 통해 서버를 임대하여 사용하는 방식이다.
대표적인 클라우드 서비스 제공자는 다음과 같다.
- Amazon Web Services
- Google Cloud Platform
- Microsoft Azure
이 문서에서는 AWS를 기준으로 설명한다.
클라우드에서는 이렇게 한다
- 웹 콘솔에서 서버를 생성한다
- 몇 분 안에 사용 가능하다
- 필요 없으면 삭제한다
- 사용한 만큼 비용을 지불한다
즉, 서버를 소유하지 않고 사용한다.
6. 온프레미스와 클라우드의 차이
비용 구조
| 구분 | 온프레미스 | 클라우드 |
|---|---|---|
| 비용 방식 | 장비 선구매 | 사용량 기반 과금 |
| 초기 비용 | 높음 | 낮음 |
| 장기 비용 | 자원 활용률에 따라 유리할 수 있음 | 설계와 사용량에 따라 크게 변동 |
확장 방식
| 구분 | 온프레미스 | 클라우드 |
|---|---|---|
| 확장 방법 | 장비 추가 구매 | 즉시 서버 생성 |
| 확장 속도 | 느림 | 빠름 |
| 탄력성 | 제한적 | 자동 확장 가능 |
운영 책임
| 구분 | 온프레미스 | 클라우드 |
|---|---|---|
| 하드웨어 | 내부 책임 | 클라우드 사업자 |
| OS / 애플리케이션 | 내부 책임 | 대부분 내부 |
| 물리 보안 | 내부 책임 | 사업자 책임 |
7. 갑자기 사용자가 10배 늘어난다면?
온프레미스
- 서버 용량이 부족하다
- 새 장비를 주문한다
- 배송과 설치를 기다린다
- 설정을 완료한다
시간이 오래 걸린다.
클라우드
- 서버를 여러 대 추가 생성한다
- 자동으로 트래픽을 분산한다
몇 분 안에 확장이 가능하다.
이 차이가 클라우드의 가장 큰 특징이다.
8. 클라우드는 무조건 더 좋은가?
그렇지는 않다.
- 사용량이 많아지면 비용이 커질 수 있다
- 설계를 잘못하면 불필요한 자원이 계속 과금된다
- 자동화와 운영 이해가 필요하다
클라우드는 단순한 서버 임대가 아니라
운영 방식의 변화다.
9. 정리
이 장에서 기억해야 할 핵심은 다음과 같다.
- 서버는 24시간 동작하는 컴퓨터다.
- 온프레미스는 서버를 직접 소유하고 운영하는 방식이다.
- 클라우드는 서버를 빌려 사용하는 방식이다.
- 두 모델의 차이는 위치가 아니라 운영 구조에 있다.