[Docker] Monolithic 구조와 MicroService 구조
DevOps/Docker2022. 5. 6. 22:50[Docker] Monolithic 구조와 MicroService 구조

✔️ Monolithic Architecture Monolithic은 하나의 의미를 가진다. 어플리케이션의 구조에서 UI 서비스, 계정 서비스, 장바구니, 배송 등의 서비스가 하나로 만들어져 있다는 것이다. 어떤 프로그래밍 언어든 상관없이 모든 기능들을 하나의 구조로 만든 것을 모놀리틱 구조라고 한다. 모놀리스를 보통 구시대적인 방법으로 치부하기 쉬우나 이 방식은 지금도 상당히 많이 쓰는 일반적인 방식이다. 그림 상에 주황색 박스가 뒤로 겹쳐진 부분이 스케일링과 관련된 부분인데, 만약 서비스 중에 특히 사용자 트래픽이 몰리는 부분이 Shipping Service라고 해보자 서버의 다운을 막기 위해서는 스케일링이 필요할 것이다. 이럴 때는 다른 서비스의 스케일링은 필요없고 Shipping Service의 ..

[Docker] Docker(도커)란 ?
DevOps/Docker2022. 5. 6. 22:26[Docker] Docker(도커)란 ?

✔️ Hypervisor와 Docker Hypervisor(가상화)의 목적은 무엇인가 ? 가장 핵심이 되는 목적은 isolation(분리)이다. 그렇다면 무엇을 분리 시키기 위해 사용하는가 ? 리소스를 분리 시키기 위해서 사용한다. 하나의 HW에 하나의 OS가 올라가면 그 위에 여러개의 app이 배치된다. app의 동작, 즉 프로세스들이 여러개 존재하게 되는데 이때 프로세스들 간의 격리가 되지 않는다. 이렇게 되면 프로세스가 다른 프로세스에게 영향을 미칠 수 있고 운영체제에도 영향을 미칠 수 있다. → 한마디로 어플리케이션 간에 분리가 되지 않으면 서로의 동작에 영향을 미칠 수 있다. 그래서 우리는 하나의 큰 하드웨어에 Hypervisor를 통해 가상화를 하고 VM이라는 개념을 만들어 논리적으로 app을..

Docker(도커)란 무엇인가 ?
DevOps/Docker2022. 3. 7. 23:53Docker(도커)란 무엇인가 ?

✔️ Docker(도커)란 ? 리눅스 컨테이너를 기반으로 하여 특정한 서비스를 패키징하고 배포하는데 유용한 오픈 플랫폼이다. 인프라에서 어플리케이션을 분리하고 컨테이너로 추상화시켜 SW를 빠르게 제공할 수 있다. 하나의 호스트 OS 안에서 여러 컨테이너의 라이프 사이클을 관리하고 어플리케이션을 오케스트레이트된 서비스로 배포할 수 있다. ✔️ Docker의 구성 요소 컨테이너를 만들기 위해서 필요한 3가지 요소는 다음과 같다. ① Dockerfile 컨테이너를 만들기 위한 설명서 (요리로 치면 레시피) Copy files - 어플리케이션을 구동하기위해 꼭 필요한 파일들은 무엇이 있는지 Install dependency - 어떤 프레임워크나 라이브러리를 사용해야 하는지 Set environment varia..

컨테이너란 무엇인가 ?
DevOps/Docker2022. 3. 7. 11:19컨테이너란 무엇인가 ?

✔️ 컨테이너란 ? 컨테이너란 호스트 OS 상에 논리적인 구획을 만들고 어플리케이션을 작동시키기 위해 필요한 라이브러리나 어플리케이션 등을 하나로 모아 마치 별도의 서버인 것처럼 사용할 수 있게 만든 것이다. 개별 SW의 실행 환경을 독립적으로 운용할 수 있도록 다른 실행 환경과의 간섭을 막고 실행의 독립성을 확보해주는 운영체제 수준의 격리 기술을 말한다. 호스트 OS의 리소스를 논리적으로 분리시키고, 여러개의 컨테이너가 공유하며 사용한다. 컨테이너는 오버헤드가 적기 때문에 가볍고 고속으로 작동하는 것이 특징이다. ✔️ VM vs 컨테이너 VM (Virtual Machine) 공통적으로 하나의 서버가 있고 한 서버에는 HostOS (맥, 리눅스, 윈도우)가 올라간다. VM의 경우 호스트OS에 대해 VM을..

image