# 분산 애플리케이션 (Distributed Apps)

> For AI agents: the complete glossary index is at [llms.txt](https://glossary.cncf.io/ko/llms.txt).
> Markdown versions of every glossary page are available by appending `index.md` to the page URL.

## 개념

분산 애플리케이션은 그 기능을 여러 개의 독립적이고 작은 부분들로 나누어 동작하는 애플리케이션이다.
분산 애플리케이션들은 폭넓게 바라본 애플리케이션의 범주 내에서 서로 다른 문제를 처리하는
개별 [마이크로서비스](https://glossary.cncf.io/ko/microservices/) 컴포넌트들로 구성된다.
클라우드 네이티브 환경에서는 개별 컴포넌트들이 일반적으로 [클러스터](https://glossary.cncf.io/ko/cluster/)에서 [컨테이너](https://glossary.cncf.io/ko/container/)로 실행된다.

## 다루는 문제

단일 컴퓨터에서 실행 중인 애플리케이션은 곧 단일 장애 지점(Single Point Of Failure)을 나타낸다. 이는 해당 컴퓨터에 장애가 발생할 경우 애플리케이션 역시 사용할 수 없게 된다는 의미이다.
분산 애플리케이션은 종종 [모놀리식 애플리케이션](https://glossary.cncf.io/ko/monolithic-apps/)과 대조되는데,
모놀리식 애플리케이션은 다양한 컴포넌트들의 규모를 독립적으로 조절할 수 없기 때문에, 유연하게 규모를 조절(scale)하는 것이 매우 어렵다.
또한 애플리케이션의 규모가 커질수록 개발자들의 생산성이 저해되는데,
더 많은 개발자들이 확실한 경계가 정해지지 않은 상태의 공유 코드베이스에서 작업을 해야 하기 때문이다.

## 문제 해결 방식

애플리케이션을 분산화하여 여러 컴퓨터에서 실행하면, 몇몇 컴퓨터에서 장애가 발생하더라도 여전히 애플리케이션을 사용할 수 있다.
또한 규모를 유연하게 조절할 수 있는 특성인 [수평적 확장](https://glossary.cncf.io/horizontal-scaling/)이 가능하다는 장점을 갖는다.
이는 단일 애플리케이션으로 실행시킬 때는 불가능하다.
하지만 사용자는 더 이상 하나의 애플리케이션이 아닌 수많은 애플리케이션 컴포넌트들을 실행해야 하기 때문에,
운영하는 측면에서의 부담이 증가한다.

---

- Canonical URL: https://glossary.cncf.io/ko/distributed-apps/
- Status: Completed
- 최근 수정 September 8, 2022: ` [ko] Translate 'Distributed Apps' in Korean (#1285) ` ([f3bf0eb](https://github.com/cncf/glossary/commit/f3bf0eb67f1a52e67610afd778b793eb7e7da56e))
- Source: https://github.com/cncf/glossary/blob/main/content/ko/distributed-apps.md
- License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)
