도커를 많이 쓰시나요??

도커를 짧게 2년 써보고, MSA(Micro Service Architecture)를 따라해보려고 시도만 했던 사람으로서 컨테이너 기술은 필수입니다.

위에서 @rkttu 님께서 언급하신대로 코딩과 비슷하게 컨테이너가 한 가지 역할만 수행하도록 하게 만듭니다. 개발로 치면 캡슐화 & 추상화 정도로 볼 수 있을 것 같습니다.

일반 온프레미스 서버 1대와 DB를 이용한 기존의 방식과 차이점(stateful)이 있을 것은, 격리가 되고, Scale-Out이 가능하도록 만들어야 하기 때문에 Stateless 하게 개발해야만 합니다.

예를 들어 static 변수가 데이터를 들고 있어서 다음에 어떤 요청이 왔을 때 그 변수에 의존해서 처리하고 뭐 그런 흐름에 의존적인 개발을 해서는 안된다는 것입니다.

개발에서도 추상화가 어렵고 감 잡기 어렵듯 stateless 하게 개발하는 것이 가장 어려웠습니다.

그래서 제가 대안으로 사용했던 것은 온프레미스로 Docker를 사용하는 것이 아니라 아래처럼 Cloud에 내장된 Stateless 를 이용하는 것이었습니다.

Docker를 짧게 맛이라도 보고 싶으시다면 Docker로 Redis를 설치하셔서 써보시는 것도 추천드립니다.

도커 이외에도 컨테이너 격리 기술이 여러개 있겠지만 도커는 가장 대중적인 컨테이너 기술입니다.

4개의 좋아요