DevOps (4) 썸네일형 리스트형 MSA가 도대체 뭐야?! MSA, MSA.. 요즘따라 특히나 많이 들려오는 MSA. 도대체 MSA가 뭐길래 이렇게들 난리일까?! 그래서 알아보았다. 먼저 MSA란 MicroService Architecture(마이크로서비스 아키텍쳐)를 의미하는데 이것에 대해 알아보기 앞서서 Monolithic Architecture(모놀리식 아키텍쳐)에 대해 이해하고 넘어가자. 모놀리식 아키텍쳐 쉽게 말해, 한 서비스 혹은 애플리케이션에 여러 기능의 서비스들을 다 때려박은 구조를 말한다. 예를 들어, 네이버에는 네이버 지식인, 뉴스, 카페, 스포츠, 블로그, 쇼핑 등 수많은 서비스를 제공하는데, 이 서비스들이 모두 한 애플리케이션에 다 들어가있으면 모놀리식 아키텍쳐이다. 당연히 DB와 같은 인프라를 공통으로 사용하기 때문에 어찌보면 개발하기엔 .. Kubernetes란? (2/2) 먼저 쿠버네티스의 동작 방식을 알아보자. 쿠버네티스의 동작 방식은 쉽게 말해, 현재 '상태'를 모니터링함과 동시에, 관리자가 원하는 '상태'를 만들기 위해 내부적으로 명령을 내리는 방식이다. 이러한 개념때문에 관리자가 서버를 배포할 때 직접적인 동작을 명령하기보단, 상태를 선언하는 방식을 사용한다. ex. Nginx 컨테이너를 80포트를 열고 실행해줘 -> 현재 상태를 원하는 상태로 바꾸기 위한 '명령' ex. 80포트를 열은 Nginx 컨테이너 1개를 유지해줘 -> 원하는 상태를 '선언'. 쿠버네티스의 핵심은 '상태'이다. 이제, 어떤 상태가 있고 어떻게 선언하는지 알아보자. Kubernetes Object 쿠버네티스는 상태를 관리하기 위한 대상을 오브젝트로 정의한다. 기본적으로 매우 다양한 오브젝트를.. Kubernetes란? (1/2) Kubernetes(K8s)가 뭔 지 알아보기에 앞서, Kubernetes가 나오게 된 배경을 알아보자. 2013년 도커(Docker)가 등장한 이후, 인프라 세계가 컨테이너(Container)의 세계로 바뀌었다. 즉, 다양한 애플리케이션(Application)들이 컨테이너 기반으로 개발되는 것이 개발 프로세스 트렌드이다. 컨테이너 기반으로 개발된다는 말은 배포할 때, Dockerfile을 만들어 이미지를 빌드하고 그 이미지로 컨테이너를 배포하는 것을 의미한다. 쿠버네티스는 다른 컨테이너 오케스트레이션(Ochestration) 툴(ex. Docker의 swarm, AWS의 ECS, 하시코프의 Nomad, Mesos의 Marathon 등)보다 비교적 늦게 등장하였지만, 구글의 힘으로 지금은 표준이 되었다... 간단한 Docker 복습 너무나 당연한 소리겠지만 쿠버네티스(Kubernetes, 이하 k8s)를 공부하려면 Docker에 대해 어느 정도는 알고 있어야 한다. 물론 K8s는 Docker 이외의 컨테이너 런타임도 지원하도록 개발되어 있긴 하지만 적어도 K8s로 컨테이너화 된 애플리케이션을 실행하는 데 필요한 도커의 기본적인 내용은 알아야 한다. 시간은 많지 않고 대략적으로 파악만 하고싶은 분들을 위해 간략히 정리해보겠다. 먼저, 컨테이너라는 개념을 알아야 하는데, 여기서 컨테이너란 가상화 기술 중 하나로, 아주 간단히 말하자면 이미지 기반의 프로세스이다. 이미지는 OS가 될 수도 있고 애플리케이션이 될 수도 있고 애플리케이션에 필요한 DB가 될 수도 있으며, 이 모든 것이 합쳐진 것일 수도 있는, 사용자가 묶기 나름인 하나의 패.. 이전 1 다음