컨테이너 기술과 개발자
유튜브 동영상 보기
개발자와 컨테이너 기술
가상화 기술은 하이퍼바이저를 통해 하드웨어를 에뮬레이션하여 가상 이미지 마다 게스트 운영 체제를 사용합니다.
컨테이너 는 애플리케이션 수준으로 구성되며 커널 하나를 공유하는 여러 OS 가상화하기 때문에 OS가 포함되지 않아 크기가 작고, 고속으로 시작과 정지 합니다.
그 차이점을 보다 구체적으로 알아보겠습니다.
발표 슬라이드의 내용을 각각 살펴 보겠습니다.
개발자 환경
개발자는 피씨에서 애플리케이션을 개발합니다.
개발된 애플리케이션을 개발서버에 배포하고 테스트합니다.
테스트서버에서 문제가 없으면 운영서버에 배포합니다.
대부분의 기업 환경에서 개발PC , 테스트 환경 , 운영환경이 오에쓰가 다르고 상태도 다릅니다.
환경에 따라서 애플리케이션이 다르게 동작할 수 있고, 이러한 환경의 문제를 해결하는데도 많은 시간과 노력이 필요합니다.
개발환경, 테스트환경, 운영환경
어플리케이션이 동작하기 위해서는 여러가지 조건이 있습니다.
넓게보면 하드웨어, OS, 미들웨어, 어플리케이션입니다.
어플리케이션이 개발되는 환경과 테스트 환경, 운영 환경까지 모두 일치를 해야합니다
만약 그러한 환경들이 다를경우 개발자는 개발하면서 확인되지 못한 이슈들을 겪게 될 것이고
어플리케이션이 실행조차 되지 않을 수 있습니다.
그렇다고 그러한 환경들을 통일 시키는것은 쉬운 작업이 아니였습니다. 하나의 환경이 바뀐다면
모든 환경이 바뀌어야 하는 상황이였습니다.
컨테이너 사용시 장점
하지만 컨테이너를 사용하면 환경을 통일시키는것이 간단합니다.
개발자가 PC 에서 애플리케이션이 동작하는데 필요한 미들웨어와 라이브러리를 묶어 이미지로 만듭니다.
테스트 환경에 동일한 이미지를 배포하고 테스트합니다.
운영환경도 같은이미지를 배포합니다.
컨테이너 엔진만 존재한다면 하드웨어나 OS에 영향을 받지 않고, 만들어진 이미지를 동일하게 배포할 수있습니다.
컨테이너에 담기면 부산을 가든 서울을 가든 똑같다라는 특성과 맞게
IT의 컨테이너도 컨테이너 엔진만 존재한다면 하드웨어나 OS에 영향을 받지 않고
미들웨어와 어플리케이션은 하나의 컨테이너에 담아서 동작시킵니다.
컨테이너와 VM 환경에 대한 비교를 말로만 설명하였는데요, 데모 영상을 통해서 자세히 설명드리도록 하겠습니다!
개발과 운영의 변화
가상화 환경에서 인프라 엔지니어는 개발, 테스트 , 운영 서버들을 구성하고 관리해 줍니다.
개발자는 애플리케이션을 만들고 개발, 테스트 , 운영환경마다 배포하고 테스트합니다.
컨테이너 환경에서는 개발자가 이미지를 만들어 배포하면 끝입니다. 운영자는 컨테이너에 대한 조정을 합니다.
References & Related Links
- 컨테이너기술의 장점 – http://www.opennaru.com/openshift/container/benefits-of-container/
- 컨테이너기술과 가상화 기술 비교 – http://www.opennaru.com/cloud/virtualization-vs-container/
- 물리서버 , 가상화 , 컨테이너기술 진화의 역사 – http://www.opennaru.com/cloud/physical-server-virtualization-container/
PaaS-TA 종료와 K-PaaS의 부상: 민간 주도의 클라우드 네이티브 생태계로
/in Cloud, Kubernetes/by 오픈마루 마케팅1Cloud Native Korea Community Day 2024 – 생생했던 현장을 공개합니다!
/in Kubernetes, Seminar/by 오픈마루 마케팅3Cloud Native Korea Community Day 2024 – 오픈마루 부스에서 이벤트 참여하세요!
/in Kubernetes, Seminar/by 오픈마루 마케팅3