공지
긱소스 레터에서 알려 드려요.

백엔드 기획

백엔드 기획을 위해 알아야 할 백엔드 구성의 3요소

백엔드 구성의 3요소 '웹서버, WAS, 데이터베이스'와 역할

2025.09.15 | 조회 3.86K |
0
|
긱소스 레터의 프로필 이미지

긱소스 레터

국내외 산업 동향과 트렌드, 프로덕트 메이커를 소개해요.

백엔드 기획을 단순히 관리 기능 설계로만 생각해서 접근하면 안됩니다. 백엔드 기획은 시스템 아키텍트의 전반적인 구조와 데이터 흐름을 설계하고 조율하는 것을 기본으로 프론트엔드를 통해 수집되는 모든 데이터와 비즈니스 확장성에 대비하고 조율하는 역할을 수행하기 때문입니다. 따라서 백엔드 기획을 잘 하기 위해서는 백엔드 개발의 기초 개념에 대한 이해가 필수일 수 밖에 없습니다. 백엔드 개발을 위해 알아야 할 수 많은 것들이 있지만 그 중 가장 중요한 3가지 요소인 '웹서버, WAS(Web Application Server, 데이터베이스' 3요소에 대해 알아보도록 하겠습니다.

 

백엔드 구성의 3요소와 역할

웹동작방식
웹동작방식

백엔드 환경의 핵심은 사용자에게 데이터를 안정적으로 전달하는데 있습니다. 이를 위해 웹서버, WAS, 데이터베이스 3가지 핵심 요소가 반드시 필요합니다. 이 세가지는 웹의 발전 과정에서 나타난 문제점들을 해결하기 위해 진화해 오고 있습니다. 모니터링, 로드밸런싱, 캐싱, CI/CD 파이프라인, 쿠버네티스와 같은 고급 기술들은 이 3가지 요소에 대한 이해가 선행되지 않는다면 언제 무너져도 이상하지 않은 집을 지은 것과 마찬가지 입니다. 

 

첫번째, 웹서버의 역할

웹서버는 1990년대 초반 월드와이드 웹(WWW)이 처음 등장했을 때 당시 웹서버는 특정 컴퓨터에 설치되어 .html 파일을 보여 달라는 요청이 오면, 컴퓨터에 저장된 파일을 그대로 보여주는 매우 단순한 프로그램이었습니다. 모든 사용자가 접속해도 매번 동일한 페이지만 보이는 정적인 형태의 웹 환경이기에 백엔드란 개념이 매우 희미했습니다. 웹서버의 주요 역할은 파일을 전달하는 파일 서버였으며, 대표적인 웹서버로는 Nginx, Apache, IIS, Caddy 등이 있습니다. 이런 웹서버들은 정적 파일을 제공하는 기본 기능에 충실하며 고도로 최적화되어 있습니다. 웹서버는 정적인 콘텐츠를 효율적으로 전달하는 것에 집중하며 동적인 기능은 WAS에게 위임합니다.

 

두번째, WAS(Web Application Server)의 등장과 역할

웹이 대중화되면서 사용자들은 웹사이트에 방문자 수 표시, 사용자별 맞춤 정보 제공, 게시판 기능 등 더 많은 것들을 원하게 됩니다. 기존의 웹서버는 미리 만들어진 .html 파일만 제공할 수 있었기 때문에 이러한 요구들을 충족할 수 없었습니다. 이러한 문제를 해결하기 위해 바로 WAS가 탄생한 것입니다. WAS는 요청에 따라 서버에서 어떤 일을 한 뒤 그 결과를 담은 새로운 .html 을 실시간으로 생성하는 동적인 웹페이지를 생성합니다. WAS는 특정 요청을 받으면 미리 약속된 프로그램을 실행시키고 그 프로그램이 만들어낸 결과물을 사용자에게 출력하는 방식으로 동작합니다. 이러한 방식이 진정한 백엔드의 탄생이라 말할 수 있으며, 서버가 단순히 파일을 출력하는 것을 넘어 생각하고 연산하고 로직을 처리하기 시작한 순간입니다. 웹서버는 항상 동일한 정적인 페이지를 반환하지만, WAS는 동적인 페이지를 반환합니다.

 

세번째, 데이터베이스의 필요성과 역할

WAS 덕분에 게시판을 만들 수 있게 되었지만 서버를 off 했다 on 하면 모든 게시판 글들이 사라지는 문제가 있었습니다. 웹은 점점 더 복잡해지면서 회원들의 아이디와 비밀번호를 안전하게 보관하고, 이커머스 수십만개 상품들의 재고를 정확하게 관리하고, 동시에 수십, 수백명의 사용자가 상품을 구매하려고 할 때 특정 인원수에게만 구매가 가능하도록 해야 할 필요성도 대두되었습니다. 이러한 문제를 해결하기 위해 백엔드 아키텍트에 데이터베이스가 합류했습니다. 데이터베이스는 데이터를 영구적으로 저장하고 안전하게 관리하며 동시 접근을 제어하는 역할을 수행합니다. 파일 시스템으로도 데이터를 저장할 수 있지만, 데이터베이스는 동시성 제어(특정 상품 제고가 단 한개 남은 상황에서 수십명의 사람들이 동시에 구매 버튼을 클릭했을 때, 데이터베이스가 Lock 과 같은 정교한 매커니즘으로 다수의 경합 조건을 막고 데이터의 일관성을 지켜주는 기능), 데이터 무결성(계좌 이체와 같은 한 묶음으로 성공하거나 실패해야 하는 자 ㄱ업 단위를 트랜잭션 기능으로 보장하여 데이터가 중간에 절대 깨지는 일이 없도록 하는 기능) 등 근본적인 문제들을 해결합니다.

 

특히 데이터베이스는 사용 목적, 구조, 저장 방식, 확장성 등에 따라 여러 종류로 분류가 되는데 대략 아래와 같이 분류를 할 수 있습니다.

 

1. 관계형 데이터베이스 (Relational Database, RDBMS)

특징: 데이터를 테이블 형태로 저장, SQL 사용, 정형 데이터에 적합함.

대표 제품: Oracle DB, MySAQ/Maria DB, PastgreSQL, Microsoft SQL Server, IBM Db2

 

2. 비관계형 데이터베이스 (NoSQL Database)

A. 문서 지향형 (Document-oriented)

특징: JSON, BSON, XML 등 문서 형태로 저장, 유연한 스키마

대표 제품: MongoDB, CouchDB, Amazon DocumentDB

 

B. 키 값 저장소 (Key Value Store)

특징: 매우 빠른 속도, 단순한 데이터 구조

대표 제품: Redis, Amazon DynamoDB, Risk

 

C. 열 지항형 (Column family Store)

특징: 열 단위로 데이터를 저장, 대용량 분석에 강함

대표 제품: Apache Cassandra, HBase, ScyllaDB

 

D. 그래프형 (Graph Database)

특징: 노드-엣지 구조로 관계 중심 모델, 추천 시스템 등에서 사용

대표 제품: Neo4j, ArangoDB, Amazon Neptune

 

3. 시계열 데이터베이스 (Time-Series DB)

특징: 시간 순서에 따라 변화하는 데이터를 효율적으로 저장

대표 제품: InfluxDB, TimescaleDB, Prometheus, OpenTSDB

 

4. 객체 지향 데이터베이스 (Object-Oriented DB)

특징: 객체지향 프로그래밍 개념을 데이터베이스에 적용

대표 제품: db4o, ObjectDB, Versant Object Database

 

5. 멀티모델 데이터베이스 (Multi-Model DB)

특징: 하나의 DB 엔진에서 여러 데이터 모델 지원 (예, 문서형+그래프형)

대표 제품: ArangoDB, OrientDB, MarkLogic

 

6. 인메모리 데이터베이스 (In-Memory DB)

특징: 데이터를 메모리에 저장하여 빠른 속도를 제공하는 강점

대표 제품: Redis, Memcached, SAP HANA

 

7. 분산 데이터베이스 (Distributed DB)

특징: 여러 노드에 데이터를 분산 저장하여 확장성, 가용성 확보에 강점

대표 제품: CockroachDB, Google Spanner, Cassandram TiDB

 

8. 클라우드 네이티브 / 서버리스 데이터베이스

특징: 클라우드 환경에 최적화 강점, 관리형 서비스 제공에 적합

대표 제품: Amazon Aurora, Google Cloud Firestore, Azure Cosmoa DB, PlanetScale

 

9. 그래프 기반 RDF / Triple Stoer

특징: 시멘틱 웹, RDF 구조, 트리플(주어-서술어-목적어) 저장

대표 제품: Apache Jena, Virtuoso, Stardog

 

10. 검색 엔진 기반 데이터베이스 (Search Engine DB)

특징: 풀텍스트 검색 및 로그 분석에 특화

대표 제품: Elasticsearch, Apache Solr, Amazon OpenSearch

 

11. 파일 기반/로컬 데이터베이스

특징: 간단한 설치, 파일 단위 저장, 소규모 프로젝트나 모바일 앱 사용에 적합

대표 제품: SQLite, LevelDB, Realm

 

12. XML/JSON 네이티브 데이터베이스

특징: XML 또는 JSON을 네이티브 포맷으로 저장하고 질의 가능

대표 제품: BaseX(XML), eXist-db(XML). RavenDB(JSON)

 

이렇게 백엔드의 핵심은 인정적인 데이터를 출력하며 이를 위해 웹서버, WAS, 데이터베이스의 3가지 요소가 매우 종요합니다. 웹서버는 정적 파일 제공, WAS는 동적 페이지 생성, 데이터베이스는 데이터 저장 및 관리 역할을 수행합니다. 흔히 말하는 프레임워크(Spring, Django)는 WAS 위에서 실행되어 개발을 돕고, 각 요소는 실제 서비스에서 협력하여 데이터를 처리합니다.

 

마지막으로 이 외에도 백엔드 기획을 위해 알아두면 매우 유용한 것들은 RESTful API 설계(자원 중심의 URL 설계, HTTP(GET, POST, PUT, DELETE 등) 의미, 상태 코드 사용 등 REST 아키텍트 스타일에 기반한 API 설계 원칙) 와 인증(세션 기반 인증 등 사용자 인증과 권한 부여 방식에 대한 기본적인 이해와 사용자 관리 정책 수립), 에러 처리(시스템 안정성을 확보하기 위한 필수적인 예외 케이스 처리에 대한 개념) 에 대한 이해 등 을 꼽을 수 있습니다.


요즘은 다양한 AI tool 을 활용해 바이브 디자인, 바이브 코딩을 통해 즉시 웹/앱 서비스 시작이 충분히 가능해졌습니다. 여기서 바뀐 현황이라면 PRD 작성법이 기존과 크게 달라졌다는 점인데요. PRD 를 LLM 이 쉽게 이해할 수 있도록 프롬프트 스타일로 작성해야 한다는 것 입니다. 이런 PRD 를 잘 작성하기 위해선 기본적인 구조를 설계하기 위해 기획자의 정책서 작성 능력이 매우 중요한 업무 역량이 되었습니다.

'꿈많은소년의 이커머스 정책서 작성하기' 강의는 이커머스 플랫폼 기획/운영에 필수인 정책서의 체계적인 작성 방법과 실무에 바로 적용할 수 있는 핵심 내용으로 진행합니다.

[👉 강의 신청하기] 

 

(산업동향 기고, 기업 강의는 geeksourceletter@gmail.com 으로 문의 주세요)


다가올 뉴스레터가 궁금하신가요?

지금 구독해서 새로운 레터를 받아보세요

✉️

이번 뉴스레터 어떠셨나요?

긱소스 레터 님에게 ☕️ 커피와 ✉️ 쪽지를 보내보세요!

댓글

의견을 남겨주세요

확인
의견이 있으신가요? 제일 먼저 댓글을 달아보세요 !
© 2025 긱소스 레터

국내외 산업 동향과 트렌드, 프로덕트 메이커를 소개해요.

뉴스레터 문의geeksourceletter@gmail.com

메일리 로고

도움말 자주 묻는 질문 오류 및 기능 관련 제보

서비스 이용 문의admin@team.maily.so

메일리 사업자 정보

메일리 (대표자: 이한결) | 사업자번호: 717-47-00705 | 서울특별시 성동구 왕십리로10길 6, 11층 1109호

이용약관 | 개인정보처리방침 | 정기결제 이용약관 | 라이선스