1. 개요

12-Factors 애플리케이션 요소 중 4번째.


2. 백엔드 서비스란?

애플리케이션이 실행되는 가운데 네트워크를 통해서 사용할 수 있는 서비스들이다.

  • MySQL 같은 RDBMS
  • Kafka, RabbitMQ, Beanstalkd 같은 메시지 큐
  • Redis, Memcached 같은 캐시

3. 리소스

이러한 백엔드 서비스는 리소스로 취급된다. 이러한 리소스는 연결 및 분리가 자유롭고 코드 수정없이 전환이 가능해야 한다. 예를 들어,

  • MySQL을 다른 DB로 전환할 때 코드 수정없이 잘 전환되어야 한다.
  • 개발DB와 운영DB를 서로 다룬 것으로 사용할 수 있어야 한다.
  • 개발 시스템은 로컬 SMTP를, 운영 시스템은 구글의 SMTP를 사용할 수 있어야 한다.

따라서 리소스 연결은 URL이나 Locator를 통해 연결되고 코드에서는 설정을 읽어들여 사용한다.