2025/03/10 3

Docker 개념과 기본 지식

1. Docker의 개념: 컨테이너 기반 가상화 vs. VMVM과 컨테이너의 구조를 비교하면, VM은 하이퍼바이저 위에서 각각 게스트 OS를 포함하는 반면, 컨테이너는 Docker와 같은 컨테이너 엔진 위에서 호스트 OS의 커널을 공유하며 애플리케이션과 라이브러리만 포함한다.컨테이너는 운영체제 수준에서 격리된 가상화 환경을 제공하며, 별도의 게스트 OS를 포함하지 않기 때문에 VM보다 훨씬 경량이고 빠르게 실행된다.또한, 컨테이너는 프로세스 격리를 통해 애플리케이션을 다른 환경과 분리함으로써 시스템 간 간섭을 최소화한다.Docker는 이러한 컨테이너 기술을 활용해 애플리케이션을 패키징하고 배포하는 플랫폼이다. Docker 컨테이너의 주요 이점은 다음과 같다.경량성 & 효율성시작 속도가 수 초 이내로 매우..

백엔드 개발자를 위한 서버, 프록시 서버, 로드 밸런싱 면접 질답

웹 서버와 애플리케이션 서버의 차이점은 무엇인가요?Web Server정적 파일(HTML, CSS, JS, 이미지 등) 처리에 최적화된 서버요청을 받아 즉시 정적 자원을 반환하기 때문에 단순하고 빠른 처리를 제공클라이언트의 요청이 복잡하지 않을수록 웹 서버만으로도 충분히 대응 가능함WAS(Application Server)비즈니스 로직을 처리하고, 동적 콘텐츠를 생성하는 서버요청에 따라 데이터베이스 연동, 세션 관리 등 다양한 기능을 수행복잡하고 동적인 로직이 필요한 경우, WAS를 통해 효율적으로 구현 가능함서버 확장 방식인 수직적 확장(Scale-up)과 수평적 확장(Scale-out)의 차이점과 각각의 장단점은 무엇인가요?Scale-up(수직적 확장)서버 자체의 성능(CPU, 메모리 등)을 높여 처리..

CI/CD 와 무중단 배포

CI/CD지속적 통합 (CI)정의개발자들이 작업한 코드를 중앙 저장소에 자주 통합하는 과정이다. 이를 통해 각자의 코드가 서로 잘 어우러지는지 지속적으로 확인할 수 있다.주요 효과충돌 및 오류 조기 발견: 통합 시 발생할 수 있는 충돌이나 오류를 신속하게 파악하고 해결할 수 있다.코드 품질 향상: 서로의 코드를 검토하면서 품질을 유지하고 개선할 수 있다.지속적 배포 (CD)정의CI를 통해 통합된 코드를 자동화된 테스트와 빌드 과정을 거쳐 실제 운영 환경에 배포하는 과정이다.주요 효과신속한 사용자 전달: 사용자에게 새로운 기능과 개선 사항을 빠르게 제공할 수 있다.배포 프로세스 자동화: 수동 개입 없이 배포가 진행되어 인적 실수를 줄이고 안정성을 확보한다.두 가지 개념을 함께 활용하면 개발 프로세스 전반에..