마이크로서비스(MicroService)란 무엇인가 ?
DevOps2023. 2. 13. 15:37마이크로서비스(MicroService)란 무엇인가 ?

고객의 요구가 증가하면 소프트웨어 기능도 마찬가지로 커지면서 동시에 내결함성과 최대 사용량을 감당할 수 있는 확장성도 가져야 한다. 마이크로서비스는 오늘날의 소프트웨어 개발 과정에서 중요한 역할을 담당하고 있는 설계 유형이다. MicroService ? MicroService의 정의는 다음과 같이 할 수 있다. 마이크로서비스는 개별적으로 배포 일정을 갖고 업데이트 운영이 가능한 작고 독립적인 소프트웨어 프로세스다. MicroService App이란 ? MicroService 앱은 기존에 알고 있던 분산 애플리케이션이며, 격리된 프로세스와 네트워크 통신을 하는 작은 구성 요소로 이루어진 시스템을 말한다. 각각의 서비스나 구성 요소는 논리적으로 또는 가상으로 구분된 컴퓨터에 위치하지만 가끔은 물리적인 컴퓨터..

가상머신과 컨테이너
CS/인프라2023. 2. 7. 02:44가상머신과 컨테이너

가상머신(Virtual Machine)이란 ? 물리적인 컴퓨터 상에 소프트웨어를 이용해 논리적으로 만든 컴퓨터이다. 하나의 물리 자원(컴퓨터)에 하나의 운영 환경(OS)만을 사용하는 방식에서 가상화 기술을 사용해 다양한 OS를 사용할 수 있도록 하는 기법이다. → 하나의 컴퓨터를 여러명의 사용자가 동시에 사용할 수 있도록 여려대의 작은 컴퓨터로 분할 사용하거나, 운영체제나 하드웨어 등의 구성을 달리해 운영하고자 할 때 주로 사용한다. 장점 1) 사용자는 온전한 시스템을 가지고 혼자 사용하고 있는 것처럼 느낀다. 2) 가상머신이라는 별도의 고유하고 안전한 환경으로 분할해 사용한다면 바이러스 문제로부터 자유롭다. 가상머신에서 컨테이너로 가상머신에서 컨테이너 개념이 등장한 이유는 무엇일까 ? 가상머신을 사용하..

쿠버네티스(Kubernetes)란 ?
DevOps/Kubernetes2022. 3. 14. 18:27쿠버네티스(Kubernetes)란 ?

들어가기 앞서 ✔️ 컨테이너 오케스트레이션(Container Orchestration)이란 ? 컨테이너 오케스트레이션이란 컨테이너를 쉽고 빠르게 배포/확장하고 관리를 자동화해주는 도구이다. 여러개의 서버에 컨테이너를 배포하고 운영하면서 서비스 간 연결을 쉽게 해주는 것이다. (서비스 디스커버리같은 기능을 이용) 서버마다 다른 이름을 짓고 개별적으로 관리하는 것이 아니라 Server 1, 2, 3, ...을 하나로 묶어 적당한 서버를 자동으로 선택해 어플리케이션을 배포하는 것이다. 부하가 생기면 컨테이너를 늘리고 일부 서버에 장애가 생기면 정상 동작 중인 서버에 다시 띄워 장애를 방지한다. 흔히 잘 알려진 오케스트레이션 툴로는 도커 스웜(Docker Swam), 쿠버네티스(Kubernetes), 아파치 메..

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