

현대적 CI/CD의 방향성을 한마디로 이야기 하자면 '모든 것은 부수고 재현될 수 있다'는 것이 아닐까 한다. 배포되는 서버의 프로세스도, 서버 자체도, 서버를 둘러싼 인프라도 모든 것이 영원하지 않음, stateless함을 전제로 운영된다. (그리고 stateful한 부분은 몰아서 저 어딘가로 치워놓는 것이다.) 모든 것은 재현될 수 있기 때문에 수평적 오토스케일링을 통해 원하는 레플리카를 늘릴 수 있고, 모든 것은 부술 수 있기 때문에 레플리카가 줄어들기도 한다. 이를 서버 단위로 하면 고전적인 EC2 기반의 운영이 될 것이고, 이걸 좀 더 추상화하여 큰 컴퓨팅 풀 안에서 하면 k8s의 Pod들이 될 것이다.
그런데 오히려 PaaS를 준비하는 입장에서는 그러한 특성 때문에 해자를 만들기가 어려워진다. 물론 여러가지 부가가치를 제시하려고 노력하지만 근본적으로 서비스하는 모든 대상이 부수고 재현될 수 있다는 것은, 다른 서비스에서도 똑같이 재현될 수 있다는 것이기 때문에 고객을 락인시키기가 어려워진다.
그렇기 때문에 stateful한 서비스를 주고 락인시킨다. 아무래도 DB같은건 한번 박아놓으면 마이그레이션이 어렵기 때문에, 많은 회사들이 PaaS의 컴퓨팅 자원과 함께 매니지드 스토리지 서비스를 제공하곤 하는데 우리도 결국 그렇게 할 수밖에 없지 않을까 싶다. 더 획기적인 방법이 생각난다면 모르겠으나.. 그리고 역으로 PaaS가 유의미한 고객을 뺏어오기 힘든 이유도 스토리지의 존재 때문인데, 이 점에 대해서는 계속 고민을 하고 있다.
...야 근데 제목(은 보통 글을 다 쓰고 지음) 정하면서 찾아보니 삐딱하게가 11년도 넘은 노래였구나 우씨
추가: 현대적 CI/CD론의 본질을 꿰뚫은 사람이 한 명 있는데: