어제 회의 중, 피닉스 패턴(PhoenixServer) 1이라는 말을 들었다. 최신 유행이라고 하는 데 들어본 적이 없어서 궁금했다. 그래서 찾아봤는데, Martin Fowler의 말에 따르면, “A server should be like a phoenix, regularly rising out of the ashes." 2 - 서버가 불사조 3처럼 다시 살아나는 것(살아나도록 만드는 것)을 가리킨다고 했다. 4
이 것은 오래 전부터 내가 서버들을 관리하던 방식이었다. 그 때는 클라우드 포메이션(CloudFormation)과 셰프(Chef), 오토스케일링 그룹 (EC2 Autoscaling Group)을 이용하여 새로운 인스턴스가 자동으로 생성되면 코드로 구현된 서버 설정이 자동으로 적용되도록 했었다. 지금은 앤서블(Ansible)을 가지고 이미지(Machine Image)를 만들어서 서버들을 모두 교체하는 방식으로 배포를 하고 있다. 이미지를 만드는 도구는 아미네이터(Netflix Aminator)에서, 패커(HashiCorp Packer)로 바꿨지만, 불변의 이미지(Immutable Image)를 만들어서 배포하는 방식은 2013년 이후 계속 유지하고 있다. 5
만약 운영 중 서버에 문제가 생긴다면 해당 서버 인스턴스(EC2 Instance)를 삭제하는 방식으로 처리한다. 그러면 오토 스케일링 그룹이 새로운 서버 인스턴스를 자동으로 다시 만든다. 마치 새살이 돋아나는 것처럼 살아나서 서비스를 처리하도록 설계했다.
회의 중에 이야기가 나온 김에 궁금해서 피닉스 서버에 대한 글을 읽어봤는데, 가만보니 예전에 읽었던 기억 본 기억이 있었다. 그래서 Martin Fowler의 블로그 작성일을 보니 2012년이었다. 예전에 그 블로그를 읽어 봤었고 지금도 그 방식으로 설계 및 운영을 하고 있는데, 정작 이 말이 요즘 유행하는 단어라고 들으니 반갑기도 했고 놀랍기도 했다. 문득 든 생각인데, 오래 전부터 살고 있던 피닉스가 잠시 잠잠하게 있다가 카오스 아키텍쳐(Chaos Architecture)라는 말을 듣고 다시 살아난 것은 아니었을까?
![](https://blog.kakaocdn.net/dn/n7nfQ/btsLrBNflrk/b0AFa2VL1IU4I4i8BeyPBK/img.jpg)
- 글을 옮기느라 날짜가 변경되었다. 실제로는 2018년 1월 14일 이었다. [본문으로]
- PhoenixServer - Martine Fowler [본문으로]
- Phoenix Server Pattern - ThoughtWorks [본문으로]
- Phoenix_(mythology)_ Wikipedia [본문으로]
- 대략 2012년 4월 부터였던 것 같다. [본문으로]
'Sorry Architecture' 카테고리의 다른 글
Circuit Breaker (0) | 2019.02.21 |
---|---|
Microservices, and Hangul(한글) (0) | 2019.02.21 |
Netflix Frigga (0) | 2019.02.18 |
Cloud Computing (0) | 2019.02.18 |
Encapsulation (0) | 2019.02.16 |