'어떻게 하면 서버를 잘 운영할 수 있을까?'
1. 도커가 등장하기 전 서버 운영 - 자체 서버 운영
- 서버를 설정하기 위해 많은 노력과 시간이 필요
- 성능이 좋은 걸 미리 구매하고 효율적인 사용을 위해 여러 애플리케이션을 설치
- 어려운 상태 관리
1.3 어려운 상태 관리
상태를 누가 언제 어떻게 변경했는지 알 수 있을까?
몇 개월 전에 만들었던 메뉴얼을 믿을 수 있을까?
똑같은 서버를 하나 더 만들 수 있을까?
-> 재현 가능한 상태관리 (설정 관리 도구)
명령어를 통한 서버 관리를 지양
상태를 관리하는 코드를 이용하여 서버 관리
선언적 서버 상태 정의
가상 머신의 등장
하나의 서버에 여러개의 가상 서버를 설치할 수 있음 -> 각각의 가상 서버에 limit을 제한할 수 있음
Mutable vs Immutable
- 서버에 설치된 어플리케이션을 새로운 버전으로 업데이트 하면 mutable
- 새로운 버전이 설치된 서버의 상태를 이미지로 만들고 교체하면 immutable
개념이 단순해짐
2. 도커가 등장하기 전 서버 운영 - 클라우드
가상화된 환경만으로 아키텍처 구성이 가능해짐
하지만 서버 운영의 문제는 여전히 그대로 남아있음
클라우드 이미지 단점
- (일반적으로) 어떤게 만들었는지 모름
- (일반적으로) 처음부터 다시 만들 수 없음
- 관리 어려움
-> PaaS를 이용한다.
(ex. Heroku, Netlify, AWS Elastic Beanstalk)
소스 코드만으로 배포가 가능함
출처 : https://whatap.io/ko/blog/9
PaaS 단점
애플리케이션을 PaaS 방식에 맞게 작성해야함
서버에 대한 원격 접속 시스템을 제공하지 않음
서버의 파일 시스템을 사용할 수 없음
3. 도커의 등장 - 도커
도커란?
리눅스 커널의 여러 기술을 활용
하드웨어 가상화 기술보다 가벼움
이미지 단위로 프로세스 실행 환경을 구성
도커의 특징 - 이미지
Dockerfile을 이용하여 이미지를 만들고 처음부터 재현 가능
'정기간행물 > daily' 카테고리의 다른 글
백엔드 CS 면접 대비 멘토링 (안재홍 멘토님) (0) | 2023.10.29 |
---|---|
[슈코데이 세미나] 불가능을 가능으로 만드는 토스의 엔지니어링 직군 (0) | 2023.10.27 |
단축 URL 생성 (다담다) (0) | 2023.10.20 |
blob? Formdata? MultipartFile? (다담다) (0) | 2023.10.19 |
모던 자바 인 액션 시작 (0) | 2023.10.18 |