묻고 답하기

Title
Re:쿠버네티스 관련 문의
Author
담당자
Date
2024-10-21 13:08
Views
162
답변완료

안녕하세요 클라우드혁신센터입니다.

문의하신 내용 관련하여 답변 드립니다.

 

1. iac를 사용하면서 수작업이 자동화 되었다는 내용은 기존에는 vm을 만들 때 ui를 통해 next 버튼을 눌러가면서 프로비저닝을 한 후 만든 vmconsole로 접근해서 네트워크 설정 등을 수동으로 하셨다면  테라폼이나 aws에서는 cloudformation 등에서 코드를 통해서 자동화가 가능하게 되었다고 생각하시면 될 것 같습니다. 물론 해당 코드를 사용할 수 있게 vmware 같은 툴에서 api를 만들고 열어줬기 때문에 가능하게 된 내용입니다.

 

2. Iacci/cd 보다는 앞단의 환경 구성 개념에 가깝습니다. 일반적으로는 따로 보는게 Iac은 인프라 팀에서 관리를 하고 개발에 대한 ci/cd는 개발팀에서 관리하기 때문에 합쳐서 보지 않습니다. 더불어 운영팀과 개발팀의 배포환경이 아니라 운영(실제 사용자에게 서비스되는 환경)과 개발(개발하면서 테스트하는 환경) 환경을 말해 일반적으로는 운영 환경과 개발 환경이라고 합니다. 거기에 추가적으로 QA 환경인 stage 환경을 만들기도 합니다.

 

그래서 보통은 stageprod(운영)과 동일한 버전을 유지하며 테스트를 하고 dev(개발)은 개발하는 버전을 올리기 때문에 일반적으로는 개발과 운영은 서로 상이한 버전으로 사용됩니다

 

3. 운영과 개발의 배포환경이 다르면 운영에서 이슈가 발생했을 때 해당 트러블슈팅이 개발에서는 재현되지 않을 수가 있습니다버그 또는 이슈 등은 소스가 같다고 동일하게 발생하지 않기 때문에 최대한 동일하게 맞춰야 합니다.

 

4. devops = dev(develope) + ops(operation) 으로 개발과 운영을 동시에 한다는 의미입니다. 단순 자동화의 개념이 아닌 개발부터 배포까지의 모든 단계가 자동화 되고 해당 내용을 모두 모니터링하여 고객에게 빠르게 제품을 전달하기 위한 개발방법론인데 클라우드 환경에서는 대규모의 서버를 자동으로 운영 및 모니터링 해야 하다보니 거기에 적합한 방법론이라고 볼 수 있습니다.

 

5. 컨테이너는 이미 만들어진 이미지를 실행하는 개념이고 해당 이미지에 필요한 OS, 미들웨어, 라이브러리, 런타임 등이 존재합니다. 윈도우 설치할 때에도 윈도우 설치 이미지가 필요한 것과 비슷한 개념이라고 생각하시면 될 것 같습니다. 실행 환경 별로 어플리케이션을 컨테이너로 분리하는게 아니라 특정 목적으로 만들어진 이미지를 컨테이너로 실행할 뿐입니다. 실행 시 네트워크나 설정 등의 환경은 변경할 수 있지만 이미지가 가진 정보(os, 라이브러리, app )는 변경이 불가능합니다.(변경하려면 다른 이미지를 써야 합니다.)

 

도움이 되셨길 바랍니다. 감사합니다