본문 바로가기
12. 쿠버네티스란

어플리케이션에 일관된 환경 제공

by 김덕환 2020. 4. 30.
반응형

개발팀과 운영팀 사이의 가장 큰 문제 중 하나는 개발자가 개발하고 배포하는 구성 요소의 수가 얼마나 많은지에 관계없이 어플리케이션을 실행하는 환경의 차이를 다뤄야 한다는 점이다. 개발 환경과 운영 환경 간의 커다란 차이뿐만 아니라 개별 운영 시스템 간에도 차이점이 발생한다. 시간이 지나면서 단일 운영 시스템의 환경이 변하는 것은 피할 수 없다. 

 

이런 차이점은 하드웨어에서 운영체제, 각 시스템에서 사용 가능한 라이브러리에 이르기까지 다양하다. 프로덕션은 운영 팀에서 관리하지만 개발자는 가끔씩 개발 노트북만을 신경 쓸 뿐이다. 이 차이점은 이 두 그룹에 소속된 사람들이 시스템 관리를 얼마나 알고 있느냐에 기인한다. 이런 이해도는 이 두 시스템 사이에 상대적으로 큰 차이를 만든다. 시스템 관리자는 최신 보안 패치로 시스템을 최신 상태로 유지하는 데 더 많은 노력을 기울이는 반면 대다수의 개발자는 그만큼 신경 쓰지 않고 있다. 

 

또한 운영 시스템은 여러 개발자나 개발팀의 어플리케이션을 실행할 수 있으므로 개발자의 컴퓨터에 반드시 필요한 것은 아니다. 운영 시스템은 어플리케이션의 버전이 서로 다르고 심지어 충돌이 발생하는 버전의 라이브러리가 필요하더라도 탑재된 모든 어플리케이션에 적절한 환경을 제공할 수 있어야 한다. 

 

프로덕션에서만 나타나는 문제를 줄이려면, 어플리케이션을 개발하고 운영하는 동안 운영체제, 라이브러리, 시스템 구성, 네트워킹 환경뿐 아니라 그 밖에 모든 것을 똑같이 맞추는 것이 좋다. 또한 시간이 흐르더라도 환경이 너무 많이 변하지 않기를 바라며 가능한 한 서버에 있던 기존 어플리케이션에 영향을 미치지 않고 어플리케이션을 추가할 수 있기를 바란다. 

반응형