주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 9장 최소한 알고 있어야 할 서버 지식
애플리케이션 코드만 안다고 서비스가 운영되지는 않는다.
백엔드 개발자는 최소한 서버가 어디서 돌고 어떤 자원을 쓰는지 정도는 이해해야 한다.
알아야 할 기본 요소
- 프로세스와 스레드
- 메모리 구조
- 파일 디스크립터
- 디스크와 로그
- 컨테이너/VM
- OS 레벨 제한
왜 필요한가
운영 문제는 종종 코드 바깥에서 시작한다.
- OOM Kill
- FD 고갈
- 디스크 꽉 참
- CPU throttling
- swap 문제
이런 상황은 코드만 봐서는 설명이 안 된다.
실무에서 특히 중요한 것
1. 로그
로그는 남기기만 하면 끝이 아니라:
- 어디에 저장되는지
- 얼마나 쌓이는지
- rotation이 되는지
를 알아야 한다.
2. 자원 제한
- container memory limit
- CPU quota
- open files
- ulimit
같은 제한은 서비스 동작에 직접적인 영향을 준다.
정리
서버 지식은 인프라 엔지니어 수준으로 깊을 필요는 없지만,
문제가 났을 때 애플리케이션 바깥 계층을 전혀 못 읽는 상태는 위험하다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
댓글
아직 댓글이 없습니다