대충 웹 서비스를 제공하기 위해서는 삼신기가 필요하다.

서버 컴퓨터가 1개일때

1개의 컴퓨터에 Web 서버, WAS, DB 를 다 때려박는다.

DB 는 휘발될 위험성이 있으므로, 클라우드 상에다가 DB 백업 인스턴스를 만들어서,

1주일의 정도 간격을 두고 한번씩 DB 백업을 한다. (Point-in-Time Recovery)

서버 컴퓨터가 2개일때

Web 서버와 WAS 를 S1 서버 컴퓨터에 배치하고, S2 서버 컴퓨터에 DB 서버를 배치하여 분리한다. 마찬가지로 클라우드에 DB 를 백업한다. Web 서버와 WAS 에 올라가는 소스코드의 정보는 GitHub 를 통해 관리한다.

다만 Web 서버와 WAS 의 로깅 정보들은 별도의 서버 혹은 클라우드에 백업할 필요성이 있다.

서버 컴퓨터가 3개일때

DB2 를 만들어서, DB1 을 실시간으로 백업한다.

클라우드가 느려서 1주일에 1번만 백업하는 단점을 보완한다.

DB1 과 DB2 의 관계를 M-S(Master-Slave) 혹은 P-S(Primary-Secondary) 관계라고 한다. Slave 보다는 Secondary 라고 말을 해주는게 더 착한 어린이가 될 수 있다.