주요 기술 변화 - 인프라 환경/ 컴퓨팅 환경/ 서버 관리 측면/ 장애 대응 측면
인프라 환경
온프레미스 → 클라우드
온프레미스
- 서버를 구매하고 설치, 관리 하는 업무를 직접 진행한다.
- 서버를 실제 할당받기 위해 긴 시간 소요
클라우드
- 컴퓨팅 자원을 필요한만큼 할당 받고, 사용한 만큼 비용 지불
- 인프라 자원을 간단하고 즉각적으로 할당 받을 수 있다.
- 클라우드 벤더사에서 제공하는 API/SDK 를 이용해 모든 자원을 자동화 하여 프로비저닝 할 수 있다.
( ex 테라폼으로 필요한 자원의 명세를 기술하면 인프라가 자동으로 생성된다.)
- 국방,금융 분야같은 안정성이나 보안을 중요시하는 분야에서도 클라우드 사용 추세
컴퓨팅 환경
가상머신 → 컨테이너(도커)
가상머신
- 하드웨어를 가상화하는 기술을 기반으로 가상머신을 만들어내고, 그 기반 위에 OS와 애플리케이션 구동
- 가상머신 단위로 확장 (스케일업, 스케일 아웃)
컨테이너
- 컨테이너는 운영체제 기반 가상화 기술. 컨테이너 패키지 단위로 가상화 한다.
- 컨테이너 단위로 확장
- 빠른 확장성을 갖고있다.
- 기존 : 컴퓨터 켜서 -운영체제 구동 - app실행
컨테이너 환경 : app실행
(컴퓨터는 켤 필요 없고 운영체제는 이미 구동되어 있는 상태여서)
- 리눅스 기반의 기술로 자원을 격리시켜 가는 방식으로 실행
(같은 운영체제 위에서 여러 app이 구동되어도, 각 app간 아이솔레이션이 잘 이루어지는 환경)
서버 관리 측면
쉘 스크립트 → 자동화 도구
쉘 스크립트
- 커스텀 쉘 스크립트
- 담당자가 부재시에는 대응 어렵다.
- 스크립트 자체 오류 존재 가능
자동화 도구
- 필요한 부분에는 쉘 스크립트 사용
- 쉘 스크립트를 한 단계 추상화된 형태로 자원을 기술하는 도구를 사용하여 관리 (ex Ansible)
- Ansible 멱등성 : 동일한 인프라 설정을 반복적으로 실행해도, 항상 동일한 형상을 유지하도록 내부적으로 관리가 된다는 장점이 있다.
장애 대응 측면
리눅스 명령어 이해 → 리눅스 이해
기존
장애가 발생한 서버에 직접 접속해서, 리눅스 명령어로 복구/분석 했다.
최근
- 중앙 집중화된 로깅/ 모니터링 할 수 있는 환경을 구축/운영
- 수집된 데이터를 기반으로 장애를 판단.