Container : 운영체제를 가상화한 개념
운영체제가 아닌 하나의 실행 파일
가상 서버보다 빠른 실행 속도
도커가 설치된 환경이라면 어디든 실행 가능
온프레미스 환경에서도 실행 가능
- 도커 : 컨테이너 엔진
MSA :
하나의 애플리케이션에서 실행이 가능한 업무 단위의 마이크로 서비스 블록으로 잘게 나누고 서비스 요청을 중간에서 전달해주는 API를 통해 서로 통신하여 독립적인 배포가 가능함.
- 세부 기능 하나 업데이트를 위해 전체 서비스 중지하고 재시작하는 비효율성을 줄이고 개발 서비스 장애가 전체 서비스 장애가 되는 것을 방지한다
DevOps :
단절된 개발과 운영간 프로세스를 Seamless하게 연결하고 자동화 방법을 통해 효율성을 극대화하는 방법
- 자동화 툴들을 통해 효율성을 높이고, 프로젝트 일정 관리, 부서간 커뮤니케이션 비용을 줄이는 것을 포함한 비즈니스 업무 혁신 방법
CI/CD : DevOps의 철학을 구현하기 위한 일련의 프로세스
- 지속적인 통합 : 개발자가 작업한 코드를 자동으로 테스트하고 테스트에 통과하면 코드를 통합하여 저장
- 지속적인 배포 : 배포 가능한 패키지를 실제 개발이나 프로덕션 환경에 지속적으로 배포
- 단순히 앱 개발에서 배포뿐만 아니라 지속적인 모니터링과 테스트도 포함
전통적인 방식 : 서버는 하나의 애플리케이션만 실행, 서버 하나라도 망가지면 에러가 발생하므로 부하 분산장치로 여러 서비스 생성
- 서비스가 늘어나면 부하 분산 장치에 연결, 서비스가 없으면 부하 분산 장치에서 제거 후 다른 용도로 사용
마이크로아키텍쳐로 설계된 컨테이너 환경 : 하나의 가상 서버에 모든 서비스 생성, 가상 서버 터져도 다른 가상 서버로 모든 서비스 제공 가능
- 서비스가 늘어나면 AutoScaling으로 자동으로 서버를 증설, 서비스가 줄어들면 자동으로 감소
- 가상서버에서 실행되는 컨테이너들 역시 가상서버와 함께 변함
- 개별 앱의 각각의 마이크로 서비스들은 개발팀이 나눠서 개발함. 개발A팀에서는 로그인(컨테이너)서비스, 개발B팀에서는 결제(컨테이너)서비스를 지속적으로 개발, 업데이트 하는 방식
- 로그인 기능을 추가수정하더라도 결제 기능에는 전혀 영향을 주지 않음.
'IT' 카테고리의 다른 글
로컬서버로 chatgpt 이용할때 ngrok 해결법 (0) | 2023.03.07 |
---|---|
AI시대의 학생 교육 (0) | 2023.03.05 |
윈도우 패치클리너 사용후기 (0) | 2023.02.22 |
웹호스팅이란? (0) | 2023.01.31 |
Node.js 설치해보기 (0) | 2022.10.14 |