728x90
1. DOCKER의 특징, 장점과 단점?
- DOCKER의 특징
- 컨테이너 기반의 가항화 플랫폼이다.
- 가볍고 빠르게 생성 및 삭제할 수 있다.
- 다양한 운영체제와 플랫폼에서 실행될 수 있다.
- 수평 확장이 용이하며, 여러 대의 서버에서 동시에 컨테이너를 실행할 수 있다.
- 컨테이너 기반의 가항화 플랫폼이다.
- DOCKER의 장점
- 이식성 : 애플리케이션과 해당 종속성을 패키징하여 컨테이너로 만든다. 이를 통해 애플리케이션은 어디에서든 실행할 수 있으며, 호스트 시스템의 구성과 관계없이 동일한 방식으로 실행된다.
- 격리성 : 컨테이너 가상화를 사용하여 애플리케이션을 격리시킨다. 이를 통해 개발자는 호스트 시스템과 분리된 환경에서 애플리케이션을 실행할 수 있다. 이는 애플리케이션 간의 충돌을 방지하고, 보안을 강화할 수 있다.
- 효율성 : 가상화를 사용하기 때문에 가상 머신과 달리 높은 성능을 제공한다. 이미지가 계층적으로 구성되어 있어 이미지를 더욱 효율적으로 관리하고 배포할 수 있다.
- 확장성 : 여러 컨테이너를 사용하여 애플리케이션을 확장할 수 있다. 이를 통해 애플리케이션의 성능을 향상할 수 있다.
- 이식성 : 애플리케이션과 해당 종속성을 패키징하여 컨테이너로 만든다. 이를 통해 애플리케이션은 어디에서든 실행할 수 있으며, 호스트 시스템의 구성과 관계없이 동일한 방식으로 실행된다.
- DOCKER의 단점
- 보안 취약성 : 컨테이너를 격리시키기 때문에, 보안이 취약해질 수 있습니다. 또한, 컨테이너 이미지를 공유하며 악성코드가 전파될 수 있다.
- 네트워크 복잡성 : 호스트 시스템과 분리된 환경에서 실행된다. 이로 인해, 컨테이너 간의 통신이 더 복잡해질 수 있습니다.
- 리소스 사용 : 가상화를 사용하기 때문에, 호스트 시스템에 비해 추가적인 리소스를 사용할 수 있다.
- 성능 문제 : 애플리케이션과 해당 종속성을 패키징하여 컨테이너로 만드는 과정에서 일부 성능 손실이 발생할 수 있다.
- 보안 취약성 : 컨테이너를 격리시키기 때문에, 보안이 취약해질 수 있습니다. 또한, 컨테이너 이미지를 공유하며 악성코드가 전파될 수 있다.
2. CI / CD란 무엇이고 CI / CD의 차이점은?
- CI(Continuous Integration)?
- 애플리케이션 개발 초기 단계에서 코드를 주기적으로 통합하여 충돌을 예방하고 빠른 오류 탐지 및 수정을 지원하는 개발 방법론이다.
- 개발자들이 코드를 변경할 때마다 자동으로 빌드, 테스트, 배포 등의 작업이 수행되어 코드 품질을 유지하고 개발자들이 개발 중 발생한 문제를 신속하게 해결할 수 있도록 한다.
- 애플리케이션 개발 초기 단계에서 코드를 주기적으로 통합하여 충돌을 예방하고 빠른 오류 탐지 및 수정을 지원하는 개발 방법론이다.
- CD(Continuous Delivery / Continuous Deployment)?
- CI를 기반으로 애플리케이션을 지속적으로 개발, 테스트하고, 빌드 및 배포하는 프로세스이다.
- Delivery에서 검증된 코드가 운영환경에 배포되기 전에 사전 승인 단계를 거치는 방식이다.(ex. 수동배포)
- Deployment에서 검증된 코드가 바로 운영환경에 자동으로 배포되는 방식이다.
- CI를 기반으로 애플리케이션을 지속적으로 개발, 테스트하고, 빌드 및 배포하는 프로세스이다.
- CI는 코드 품질을 유지하고, CD는 CI를 통해 빌드, 테스트, 검증된 코드를 자동으로 운영환경에 배포하는 것을 의미한다.
- 개발자는 소프트웨어를 빠르게 개발, 테스트하고, 안정적으로 배포할 수 있으며, 항상 최신 버젼의 소프트웨어를 받을 수 있다.
'Basic > 코딩기초' 카테고리의 다른 글
[코딩기초] 온프레미스(On-Premise) VS 클라우드(Cloud) (0) | 2023.06.17 |
---|---|
[Redis] 서버운영과 Redis (0) | 2023.05.04 |
[HTTP] HTTP기초 (0) | 2023.03.22 |
[코딩기초] 자바? (0) | 2023.03.22 |
[코딩기초] 의사코드(pseudo code) (0) | 2023.03.13 |