본문으로 건너뛰기
:tech
← Handbook

버즈빌 아키텍처

이 웹사이트는 버즈빌 소프트웨어 아키텍처 전반에 대한 내용과 개발을 위해 필요한 문서들을 모아두는 공간이다.

들어가며

광고 생태계는 많은 이해관계자로 인해 복잡한 구성을 가지고 있다. 애드테크 기업들은 이러한 광고 업계의 많은 부분을 자동화하고 최적화 함으로써 더욱 효과적이고 효율적인 광고 생태계를 만들어가고 있다. 허나 비즈니스 도메인의 복잡성으로 인해 시스템 역시 태생적인 복잡성을 지니고 있다. 기술이 발전함에 따라서 애드테크 분야 안에서도 더욱 전문성을 지닌 분야들이 늘어나고 있고, 이에 따라 시스템의 복잡성 또한 증가하고 있다.

버즈빌은 글로벌 애드테크 기업으로서 복잡한 광고 기술 스택을 효율적이고 유연하게 구성하고자 지속적인 노력을 하고 있다. 버즈빌 시스템은 마이크로서비스 아키텍처, 멀티 모듈, 모노리포 등을 통해 시스템과 서비스가 비즈니스의 변화에 유연하게 대응할 수 있다. 또한 클린 아키텍처, 도메인 주도 설계 등을 통해 서비스 혹은 모듈 사이의 의존성을 줄이고 관련성이 깊은 것들의 응집성을 높임으로써 각 분야의 기술력을 높이는 동시에 기능적으로 다양한 시도를 할 수 있는 구조를 가지고 있다.

버즈빌 개발 익히기

아래 항목은 버즈빌 아키텍처에서 서비스를 개발, 테스트, 배포 및 운영하기 위해 필요한 기본적인 안내 문서이다. 개발을 시작하기에 앞서 순서대로 읽는 것을 추천한다.

  1. API 정의
  2. 프로젝트 생성
  3. 소프트웨어 아키텍처
  4. 개발 가이드
  5. 테스팅 가이드
  6. 서비스 배포
  7. TODO: 서비스 모니터링 및 문제 해결
전체 보기
핸드북

API 정의

이 문서는 버즈빌의 API(애플리케이션 프로그래밍 인터페이스, Application Programming Interface)를 정의하고 사용하는 방법을 기술한다. 인터페이스는 Protocol Buffers를 통해 정의한다. 가이드라인 API 우선 방식 (API-First Approach) 서비스 구성 시 API 우선 방식…

핸드북

서비스 배포

본 문서에서는 버즈빌에서 백엔드 서비스를 배포하기 위해 준비해야하는 내용들에 대한 정보를 제공한다. 가이드라인 버즈빌에서 쿠버네티스에 서비스를 배포하는 과정은 아래와 같다. 프로젝트에 따라 상이할 수 있지만 일반적인 백엔드 워크로드 배포 파이프라인을 꾸리기 위해 아래와 같은 준비가 필요하다. Docker 이미지 생성 He…

핸드북

도커(Docker)

도커(Docker) 이 문서는 도커에 대한 간단한 설명과 각 프로젝트 팀에서 컨테이너 오케스트레이션 환경에 최적화된 이미지를 만드는 방법에 대한 가이드라인을 제공한다. 도커란 컨테이너 기술은 마이크로서비스 아키텍쳐와 밀접한 관계가 있다. 컨테이너 이미지는 일반적으로 하나의 프로세스를 격리된 환경에서 실행하는 것으로,…