# 모놀리식 앱 (Monolithic 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.

## 개념

모놀리식 애플리케이션(monolithic application)은 단독으로 배포 가능한 프로그램에 모든 기능을 포함한다. 
이것은 보통 애플리케이션을 만들 때 선택할 수 있는, 가장 간단한 시작 형태라 할 수 있다.
그러나, 애플리케이션의 복잡성이 올라가는 경우, 모놀리스(monoliths)의 유지 및 관리가 더욱 어려워질 수 있다.
동일한 코드베이스(codebase)에서 작업하는 개발자가 많아질수록, 
변경 사항의 충돌 가능성과 개발자 간의 대인 커뮤니케이션의 필요성이 증가한다.

## 다루는 문제

애플리케이션을 [마이크로서비스(microservices)](https://glossary.cncf.io/ko/microservices/)로 전환하면 운영 오버헤드가 증가한다. 
덧붙여 말하면, 테스트, 배포 및 지속 실행해야 하는 보다 많은 항목이 존재하게 된다.
제품의 생명주기(Lifecycle) 초기에는 제품이 성공적이라 판단될 때까지 
이러한 복잡한 것을 뒤로 미루고 모놀리식 애플리케이션을 구축하는 것이 유리할 수 있다. 

## 문제 해결 방식

잘 설계된 모놀리스는 간결함을 유지할 수 있는데 이는 애플리케이션을 구동하는 가장 간단한 방법이기 때문이다.
모놀리식 애플리케이션의 비즈니스 가치가 성공적으로 입증되면 마이크로서비스로 분해될 수 있다.
가치가 입증되기 전에 마이크로서비스 기반 앱으로 만드는 것은 엔지니어링 노력을 투입하는 측면에서 시기상조 일 수 있다.
애플리케이션 자체에 가치가 없다면 관련 노력이 낭비되는 것이라 볼 수 있다.

---

- Canonical URL: https://glossary.cncf.io/ko/monolithic-apps/
- Status: Completed
- 최근 수정 August 8, 2022: ` Modify architecture tag to localized terms (#1170) ` ([f9ff459](https://github.com/cncf/glossary/commit/f9ff459a648ac43760ac69a9be9d1a965ba46a82))
- Source: https://github.com/cncf/glossary/blob/main/content/ko/monolithic-apps.md
- License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/)
