gyunam.blog

[weekly] [nb] 버전 관리 및 협업하기(1)

백엔드 개발에서 CLI 명령어를 주로 활용하는 이유에 대해 설명해 주세요.

CLI 명령어를 주로 활용하는 이유는 곧 왜 CLI 환경 위주 로 사용하기 때문이라고 생각한다.

CLI vs GUI

남는 컴퓨터에 Ubuntu Linux Server 를 설치해보면서 차이점을 정리해보았다.

생각보다 차이가 많이 나서 놀랬다.

스토리지 사용량 비교

항목 Ubuntu Server(CLI) Ubuntu Desktop(GUI)
기본 설치 용량 약 1~2GB 약 6~10GB

기본 설치 기준 으로 최소 5GB, 최대 8GB 이상의 차이가 발생한다.

메모리 사용량 비교

항목 Ubuntu Server(CLI) Ubuntu Desktop(GUI)
부팅 직후 50~150MB 500MB~1.2GB

기본 설치 상태 기준 으로 최소 400MB, 최대 1GB 이상 차이가 날 수 있다.

보안

항목 CLI GUI 설명
공격 표면 좁음 넓음 GUI 데스크탑 환경을 이루는 서비스가 많아 공격 가능한 지점이 증가
불필요한 네트워크 서비스 가능성 있음 최소화 됨 GUI 앱이 백그라운드로 동작할 수 있음
업데이트 및 패치 관리 복잡함 명확함 GUI 앱 수 만큼 늘어남
로그 추적 GUI 앱 로그도 추적 syslog 및 ssh 등 핵심 로그만 추적 GUI 앱에서 충돌이 났는지도 확인해야 할 수 있음.
원격 접속 VNC,RDP는 보안 위험 존재 SSH 중심으로 통신 VNC/RDP는 암호화가 미흡할 수 있음

결국, 유지비가 줄어들기 때문

AWS EC2 요금제 정책

AWS EC2 인스턴스 요금은 아래와 같다.

인스턴스 타입 vCPU 메모리(RAM) 시간당 요금(USD) 용도
t3.nano 2 0.5GB $0.0052 저사양 서버, 테스트
t3.micro 2 1GB $0.0104 소형 웹 서버
t3.small 2 2GB $0.0208 간단한 백엔드
t3.medium 2 4GB $0.0416 중소형 애플리케이션
t3.larger 2 8GB $0.0832 데이터 처리, 트래픽 대응
m7g.medium 1 4GB $0.0342 ARM 기반, 효율적 비용 구조

CLI 사용 시 비용 절감 기대표

항목 CLI GUI
메모리 0.5~1GB 충분 최소 1~2GB 이상
스토리지 1~2GB 8~10GB 이상
최소 인스턴스 스펙 t3.nano 또는 t3.micro t3.small 이상
시간당 비용 $0.005~$0.01 $0.02 이상
스냅샷/백업 크기 작음

유지비 차이(한 달 기준, 24시간 x 30일)

구성 인스턴스 타입 시간당 비용 월간 비용(USD)
CLI t3.small $0.0208 약 $14.98
GUI t3.nano $0.0052 약 $3.74

약 75% 비용 절감 가능!

75% 비용 절감이면 어떤 느낌인지 감이 잘 안 올 수도 있다.

내가 어떤 앱을 만들었을 때, 원래 월 10만원이 들어가는 유지비가 월 2만 5000원만 드는 것이다.

일 년이면 90만원을 절약하는 효과가 있다.

90 만원이면 피자를 30판이나 주문해서 먹을 수 있다. 즉 2주에 한번 피자를 주문하고 특별한 달은 추가로 피자를 주문해도 충분할 정도다.

단순 개인 기준으로도 삶의 질이 바뀌는 것이다.

만약 이게 회사 기준이라고 생각해보면, 이 정도 수준으로 절약된다는 것은 엄청난 일이다.