# 서버 · 클라이언트 · 클라우드

> **이 장에서 배우는 것**
> 서버가 무엇인지(그리고 무엇이 아닌지), 클라우드와 온프렘의 차이, 그리고
> 하이퍼팀즈(HyperTeams)는 왜 내 컴퓨터에서 돌고 Connect는 왜 웹에 있는지.

## 서버는 역할 이름입니다

특별한 기계가 아닙니다. **요청을 받아 답해주는 쪽**을 서버, **요청하는 쪽**을
클라이언트라고 부를 뿐입니다.

```mermaid
graph TD
  A["클라이언트<br/>브라우저 · 앱 · 에이전트"] -->|"요청"| B["서버<br/>답해주는 프로그램"]
  B -->|"응답"| A
```

지금 쓰는 노트북에서 프로그램 하나를 켜면 **그 노트북이 서버**입니다.
HyperTeams를 켠 순간 벌어지는 일이 정확히 그것입니다 — 내 컴퓨터가 나 자신에게
서버 노릇을 하고, 브라우저가 클라이언트가 됩니다.

> 그래서 [처음 켜고 접속하기](/guide/ht-first-run)가 브라우저로
> `localhost:27777` 을 열라고 합니다. 내 컴퓨터에 내가 접속하는 것입니다.

## 클라우드는 남의 컴퓨터입니다

농담처럼 도는 말이지만 정확한 정의입니다. **남이 관리하는 컴퓨터를 빌려 쓰는
것**이 클라우드입니다.

| | 온프레미스(온프렘) | 클라우드 |
|---|---|---|
| 기계 | 우리가 삼 | 빌림 |
| 관리 | 우리가 | 사업자가 |
| 비용 | 처음에 크게 | 매달 |
| 데이터 | **우리 안에** | 사업자 시설에 |
| 늘리기 | 사서 설치 | 설정 몇 번 |

**규제 산업에서 온프렘을 고집하는 이유는 맨 아래에서 셋째 줄**입니다. 성능이
아니라 데이터가 어디에 있느냐의 문제입니다 —
[규제와 컴플라이언스](/guide/ax-compliance)와 이어집니다.

## SaaS — 빌려 쓰는 것의 가장 흔한 형태

빌리는 층위에 따라 이름이 다릅니다. 실무에서 마주치는 것은 대개 맨 아래입니다.

| 층위 | 빌리는 것 | 예 |
|---|---|---|
| IaaS | 빈 컴퓨터 | AWS EC2 |
| PaaS | 프로그램 돌릴 자리 | Vercel |
| **SaaS** | **완성된 서비스** | Slack · Notion · **HyperTeams Connect** |

SaaS는 설치가 없습니다. 계정을 만들면 끝입니다. 대신 **데이터가 사업자 쪽에
있습니다.**

## 그래서 두 제품이 갈립니다

이 매뉴얼이 다루는 두 제품의 성격 차이가 여기서 나옵니다.

| | [HyperTeams](/guide/ht-what-is-it) | [Connect](/guide/cn-what-is-it) |
|---|---|---|
| 어디서 도나 | **내 컴퓨터** | 웹(SaaS) |
| 설치 | 필요 | 없음 |
| 접속 | `localhost:27777` | 브라우저 주소 |
| 내 파일 | **직접 만짐** | 올린 것만 |
| 컴퓨터를 꺼두면 | 멈춤 | 상관없음 |

**"내 컴퓨터를 시키는 것"과 "웹에서 일을 맡기는 것"의 차이**입니다. 둘 다 쓰는
조직이면 [시스템 연결하기](/guide/cn-systems)로 이어 붙입니다 — Connect가
클라이언트가 되고 내 컴퓨터가 서버가 되는 구조입니다.

## 온프렘 배포라는 선택지

Connect 자체를 우리 회사 서버에 설치해 돌리는 방식도 있습니다. SaaS의 편함을
포기하고 **데이터를 우리 안에** 두는 선택입니다. 보안 검토가 거기까지 요구하는
조직이 고르는 길입니다([보안 검토를 위한 한 장](/guide/cn-security)).

## 자주 하는 오해

### "서버라면 서버실에 있는 큰 기계 아닌가요"

**역할 이름입니다.** 큰 기계가 서버 노릇을 자주 할 뿐이고, 노트북도 프로그램을
켜면 서버입니다.

### "클라우드에 올리면 우리가 관리 안 해도 되나요"

**기계는 그렇지만 설정과 권한은 우리 몫입니다.** 사고의 상당수가 잘못 열어둔
권한에서 납니다 — [계정 · 비밀번호 · API 키 · 권한](/guide/it-accounts)에서
다시 봅니다.

---

## 확인

**1. 내 노트북이 서버가 될 수 있습니까?**

<details>
<summary>답</summary>

**됩니다.** 서버는 기계 종류가 아니라 "요청을 받아 답하는 역할"입니다.
HyperTeams를 켜면 그 노트북이 서버입니다.
</details>

**2. 온프렘을 고르는 가장 큰 이유는?**

<details>
<summary>답</summary>

**데이터가 어디에 있느냐**입니다. 규제나 보안 정책이 데이터의 물리적 위치를
요구할 때 온프렘을 고릅니다.
</details>

**3. HyperTeams와 Connect의 가장 큰 구조적 차이는?**

<details>
<summary>답</summary>

**도는 자리**입니다. HyperTeams는 내 컴퓨터에서 돌아 컴퓨터를 꺼두면 멈추고,
Connect는 웹에서 돌아 상관없습니다.
</details>

---

다음은 클라이언트와 서버가 실제로 주고받는 말입니다 →
[요청과 응답 — HTTP](/guide/it-http)
