티스토리 뷰

728x90
반응형

목차

     

    PaaS

    PaaS란 Platform as a Service의 약자로, 직역하면 서비스로서의 플랫폼이 된다.

     

    저장공간, 서버 등의 자원에 더해 O/S, 미들웨어(소프트웨어 사이의 소프트웨어) 등을 제공하고 관리하여

     

    개발자로 하여금 자체 데이터 및 앱 개발에만 신경 쓸 수 있는 환경을 제공하는 것이다.

     

    조금 구체적인 작동방식은 로컬에서 빌드 및 컴파일해 클라우드에서 실행하는 순서로 이루어진다.

     

    여기서 빌드란 소스 코드를 실행 가능한 형태로 변환하는 과정과 그 결과를 아우르며

     

    컴파일은 빌드의 과정 중 소스코드를 컴퓨터가 이해할 수 있는 기계어로 번역하는 과정을 말한다.

     

    상대적으로 자유도가 낮다는 단점이 있지만 접근성이 좋기 때문에 앱 개발자에게 가장 이상적인 클라우드 컴퓨팅으로 받아들여진다.

     

    Docker

     

     

    도커는 2013년에 발표된 대표적인 PaaS 리눅스 컨테이너 기술이며,

     

    PaaS라는 이름답게 자원과 미들웨어 등을 가상화해 제공한다.

     

    O/S를 가상화하지 않아 가볍다는 장점과 함께 격리된 구조를 가지고 있어 보안상 유리하다는 이점을 가진다.

     

    대략적인 사용 순서는 도커 엔진 실행 > 소스코드를 실행 O/S에 맞게 도커 이미지로 빌드 > 이미지 위에서 격리된 컨테이너 실행

     

    이라는 순서를 거치며, 이미지 빌드 후 자체 저장소인 도커 허브를 이용해 서버를 비롯한 다른 환경으로 편하게 옮길 수 있다.

     

    여기서 이미지란 빌드를 마친 파일의 집합이라고 보면 되고, 컨테이너란 그 위에서 실행되는 프로세스라 보면 된다.

     

    추가로 컨테이너 런타임이란 컨테이너를 다루는 도구, 즉 여기서는 도커를 가리킨다.

     

    또한 컨테이너 기술의 격리란 구체적으로 프로세스, 네트워크, 파일 시스템 구조의 격리를 지칭하며

     

    각각 다른 컨테이너로부터의 프로세스 접근을 막고, 컨테이너 별로 다른 IP주소가 할당되며,

     

    해당 컨테이너로의 액세스를 제한하는 방식으로 구현되고 있다.

     

    마지막으로 위와 같이 동작하는 덕분에 수평적 확장, 즉 시스템 리소스의 개수를 늘려 확장하는데 굉장히 유리하다.

     

    또한 완전히 동일한 이미지를 바탕으로 여러 컨테이너를 여러 환경에서 구동할 수 있으므로 분산 시스템을 구성하기 편하다.

     

    Kubernetes

     

     

    쿠버네티스는 한 마디로 말하면 컨테이너 런타임을 통해 컨테이너를 오케스트레이션 하는 도구이다.

     

    여기에서 오케스트레이션이란 여러 서버에 걸쳐 컨테이너와 그 사용 환경을 관리하는 행위를 말한다.

     

    조금 구체적으로는 여러 서버에 컨테이너를 분산 배치하거나, 문제가 생긴 컨테이너를 교체하거나, 

     

    컨테이너가 사용할 비밀번호나 환경 설정을 관리하고 주입해 주는 일이라고 할 수도 있다.

     

    사용할 수 있는 도구로는 미니쿠브, k3s, 랜쳐 등이 존재한다.

     

    +) 쿠버네티스 버전 1.20 이후 컨테이너 런타임으로 도커 지원 중단. 대체제로 containerd가 있음.

    반응형
    댓글
    공지사항
    최근에 올라온 글
    최근에 달린 댓글
    Total
    Today
    Yesterday
    링크
    «   2024/11   »
    1 2
    3 4 5 6 7 8 9
    10 11 12 13 14 15 16
    17 18 19 20 21 22 23
    24 25 26 27 28 29 30
    글 보관함