DevOps, PipelineDevOps는 Development와 Operations의 합성어이다.DevOps는 애플리케이션과 서비스를 빠른 속도로 제공하기 위한 문화, 철학, 방식, 도구를 모두 포함한다. DevOps는 컨테이너, CI/CD, 자동화, MSA, IaC 등의 개념과 연관이 있다.컨테이너는 개발자의 개발 환경과 배포 환경과의 차이를 줄여 빠르고 안정적인 배포가 가능하다. Docker와 CI/CD 파이프라인파이프라인은 소스코드에서 시작해서 배포 환경 관리까지의 모든 프로세스를 자동화하는 것을 의미한다파이프라인이 없을 경우 사람이 직접 빌드 및 배포를 수행해야 하고, 휴먼 에러가 발생하고 표준화가 어려워진다.CI-CD 파이프라인은 CI 파이프라인과 CD 파이프라인으로 나눌 수 있다.CI(Con..
Docker
Docker Compose 기본도커 컴포즈는 여러 개의 Docker 컨테이너를 관리하는 도구이다.각각의 컨테이너는 하나의 파일 안에 모두 정의되어 있다.서비스 간의 의존성이나 도커의 네트워크도 파일 안에서 설정할 수 있다.도커 컴포즈는 도커 데스크탑 설치 시 기본으로 설치된다.한 번의 명령어로 여러 개의 컨테이너를 한 번에 실행하거나 종료할 수 있다. 로컬 개발 환경에서 활용하기 편리합니다.YAMLYAML은 데이터를 표현하기 위한 포맷 중 하나이다.도커 컴포즈를 통해 관리할 컨테이너(서비스)를 docker-compose.yml 파일에 정의한다.yml은 JSON과 같이 데이터를 작성하기 위한 양식이다. JSON과 유사하지만 간결하고 가독성이 더 뛰어나다.JSON은 {}와 "" , 가 필수인 반면 YAML은..
컨테이너의 상태컨테이너는 기본적으로 상태 없음(Stateless)이다. 컨테이너가 실행된 후 발생하는 모든 변경 사항은 컨테이너 레이어에만 있으며 컨테이너가 종료되면 변경 사항이 모두 사라진다.컨테이너는 Stateless하기 때문에 쉽게 개수를 증가시킬 수 있으며 다른 환경에서도 빠르게 배포할 수 있다. 컨테이너는 이미지라는 템플릿을 기반으로 동작하기 때문에 기존과는 다른 방식으로 동작한다.모든 상태는 이미지에 기록된다. 그래서 소프트웨어의 버전 등 컨테이너의 상태 변경이 필요한 경우 새로운 버전의 이미지를 만들어서 배포한다. 실행 중이던 이전 버전의 컨테이너는 제거한다. 컨테이너는 상태가 없기 때문에 여러 대의 컨테이너를 여러 곳에 빠르게 배포할 수 있다.그리고 다른 환경에서도 애플리케이션을 바로 실행..
네트워크네트워크와 IP주소네트워크는 여러 갱의 장치들이 서로 연결되어서 정보를 주고받을 수 있는 시스템이다.네트워크는 기계와 기계 사이를 랜선이라는 케이블로 물리적으로 연결한다.그리고 이 물리적인 케이블을 통해서 전기신호를 통해서 정보를 주고받을 수 있다.네트워크에서는 전기 신호로 만들어진 정보가 인터넷 선을 타고 기기들 사이를 이동할 수 있다.바다 건너에 미국에 있는 컴퓨터의 정보를 받아올 때는 아시아와 미국을 연결하는 해저 케이블을 통해 정보를 주고받는다.정리하면 전 세계의 전자기기들은 물리적인 인터넷 선으로 연결되어 있고 이 선들이 그물망처럼 촘촘히 짜여 있다고 해서 네트워크라고 부르게 되었다. 편지를 보낼 때 주소가 필요한 것처럼 네트워크에서도 어떤 정보를 보내기 위해서는 목적지의 주소가 필요하다..