-
오픈소스로 구성하는 데브옵스 시스템 - 프롤로그DevOps 2017. 3. 30. 00:59
DevOps에 대해 이야기 하려는 건 아닙니다.
이미 DevOps를 설명하고 있는 글들은 쉽게 찾아 볼 수 있으니깐요.
저는 DevOps 이전의 상황과 DevOps 이후의 변화되는 과정을 이야기 하고자 합니다.
현재 제가 근무하고 있는 환경을 이야기 하자면...
약 30대 정도의 물리서버에 Hypervisor를 설치하고, VM Instance를 약 80대 정도 운영하고 있습니다.
개발환경까지 생각하면 100대 조금 안되게 있을 듯 하군요.
처음에는 편했죠.
비슷한 환경은 VM 이미지를 Dump로 받아서 다른 Hypervisor에 올리기만 하면 바로 서비스가 가능 했으니깐요.
근데 VM이 점점 늘어나니...관리의 문제가 생기더군요.
OpenSSL 버전 취약점 때문에 업데이트 하는 이슈가 있었는데...실서버만 80대니...;;;;
물론 원초적인 방법으로 스크립트 만들어서 각서버에 배포하고 한방에 실행 커맨드를 날리는 방법이 가장 간단하죠.
하지만 이것뿐만이 아닙니다.
서버에 접근 할 수 있는 권한은 SE의 고유 권한이라 application의 배포도 자연스럽게 SE에게 넘어오더군요.
아니면 application 배포는 개발자가 한다고 하지만 서비스는 무중단으로 운영이 되어야 하기에...
Load Balancer에서 서비스 Disable 작업은 여전히 SE가 관여해야 되는 부분이더군요.
그래서 시도때도 없이 패치 요청은 들어오고, 저희는 일하다 말고 패치 작업 해주느라 업무 집중도가 생길래야 생길수가 없더라구요. 심야에 서비스 오픈한다고 하면 그 커맨드 작업 하나 해주려고 밤까지 대기하는건 다반사 이고요...
그래서 이번에 저희는 근본부터 바꾸기로 결심을 했습니다!
CI툴에서 빌드를 돌리면 빌드 결과물이 중앙 repository에 보관되고, 버튼만 클릭하면 원하는 버전의 빌드가 배포 될 수 있게...
물론!! 이전 버전의 복원도 버튼 클릭만으로 가능하고, scale in, out, up, down도 모두 손쉽게 할 수 있는 그런 환경으로요!!!
예약까지 가능하다면 심야에 회사에 남아서 커맨드 날릴 필요도 없겠죠?
그리고 당연히 사용자는 배포하는 동안에 정상 서비스를 이용할 수 있어야 하구요.
이 모든 걸 이제부터 오픈소스로 구성해 보도록 하겠습니다.
이제부터 최근 가장 핫한 Docker와 Apache Mesos, Marathon, 그리고 Chronos에 대해 이야기 해보겠습니다.
'DevOps' 카테고리의 다른 글
오픈소스로 구성하는 데브옵스 시스템 - Marathon을 이용한 App실행 (0) 2017.04.26 오픈소스로 구성하는 데브옵스 시스템 - Mesos 클러스터 구축 (0) 2017.04.10 오픈소스로 구성하는 데브옵스 시스템 - OS 와 Docker 설치 (0) 2017.04.04 오픈소스로 구성하는 데브옵스 시스템 - 빌드와 배포 (0) 2017.04.03 오픈소스로 구성하는 데브옵스 시스템 - 개념이해 (0) 2017.03.30