정기간행물/daily

서버 환경의 변화 (변재영 멘토님 특강)

:)jun 2023. 10. 28. 21:03

'어떻게 하면 서버를 잘 운영할 수 있을까?'

 

1. 도커가 등장하기 전 서버 운영 - 자체 서버 운영

- 서버를 설정하기 위해 많은 노력과 시간이 필요

- 성능이 좋은 걸 미리 구매하고 효율적인 사용을 위해 여러 애플리케이션을 설치

- 어려운 상태 관리

 

1.3 어려운 상태 관리

상태를 누가 언제 어떻게 변경했는지 알 수 있을까?

몇 개월 전에 만들었던 메뉴얼을 믿을 수 있을까?

똑같은 서버를 하나 더 만들 수 있을까?

 

-> 재현 가능한 상태관리 (설정 관리 도구)

명령어를 통한 서버 관리를 지양

상태를 관리하는 코드를 이용하여 서버 관리

선언적 서버 상태 정의

 

가상 머신의 등장

하나의 서버에 여러개의 가상 서버를 설치할 수 있음 -> 각각의 가상 서버에 limit을 제한할 수 있음

 

Mutable vs Immutable

- 서버에 설치된 어플리케이션을 새로운 버전으로 업데이트 하면 mutable

- 새로운 버전이 설치된 서버의 상태를 이미지로 만들고 교체하면 immutable

개념이 단순해짐

 

2. 도커가 등장하기 전 서버 운영 - 클라우드

가상화된 환경만으로 아키텍처 구성이 가능해짐

하지만 서버 운영의 문제는 여전히 그대로 남아있음

 

클라우드 이미지 단점

- (일반적으로) 어떤게 만들었는지 모름

- (일반적으로) 처음부터 다시 만들 수 없음

- 관리 어려움

 

-> PaaS를 이용한다.

(ex. Heroku, Netlify, AWS Elastic Beanstalk)

소스 코드만으로 배포가 가능함

출처 : https://whatap.io/ko/blog/9

 

클라우드 서비스 이해하기 IaaS, PaaS, SaaS | 와탭 블로그

클라우드 컴퓨팅, IaaS, PaaS, SaaS이란?

www.whatap.io

PaaS 단점

애플리케이션을 PaaS 방식에 맞게 작성해야함

서버에 대한 원격 접속 시스템을 제공하지 않음

서버의 파일 시스템을 사용할 수 없음

 

3. 도커의 등장 - 도커

도커란?

리눅스 커널의 여러 기술을 활용

하드웨어 가상화 기술보다 가벼움

이미지 단위로 프로세스 실행 환경을 구성

 

도커의 특징 - 이미지

Dockerfile을 이용하여 이미지를 만들고 처음부터 재현 가능