매일 아침 정리하는 세계의 흐름
해시스 브리핑
The Haesis Briefing
홈 › IT·과학
IT·과학

NixOS 덕분에 새 소프트웨어를 설치하는 일이 덜 두려워졌다

유지보수 부담 때문에 셀프 호스팅을 미루던 한 개발자가 NixOS를 쓰면서 새 서비스를 가볍게 시도하게 됐다는 경험담이 공유됐다. 설치한 환경이 설정 코드로 남고 언제든 다시 구축할 수 있다는 확신이 부담을 줄였다는 이야기다.

미루던 설치가 쉬워진 과정

그는 몇 년간 RSS 피드를 휴대전화에만 두고 읽었다. 하지만 큰 화면에서 읽기 편한 글이 많았고, 약 100개 피드에 걸친 수천 개 글의 읽음 상태를 휴대전화 앱에 맡기기는 불안했다. 실제로 휴대전화를 바꿀 때 피드는 옮겼지만 읽음 상태는 사라졌다. 서버에서 피드를 관리하는 수집기가 필요했지만 유지보수할 사이드 프로젝트가 하나 늘어난다는 부담에 미뤄 왔다. NixOS 서버를 운영해 본 뒤에는 FreshRSS와 백업을 Nix 코드 9줄로 설정했고, nginx 역방향 프록시에 약 12줄을 더했다. 이후 수개월간 손댈 일이 없었고, 서버가 고장 나도 같은 설정으로 새 서버를 약 15분 안에 세울 수 있으리라 예상한다.

다른 방식과의 차이

NixOS 밖에서 직접 설치하려면 아카이브를 풀고 권한을 설정하고, nginx와 php-fpm을 설치해 풀을 구성하고, 인증서와 백업까지 처리해야 한다. 재설치할 때마다 이 절차를 기억해 재현해야 한다. 컨테이너 이미지는 일부를 줄여 주지만 백업과 서비스 실행, TLS 종료용 프록시는 여전히 관리해야 한다. 어떤 이미지를 받았는지 기록하지 않으면 6개월 뒤 재설치가 같은 결과를 낸다는 보장이 없고, 같은 Dockerfile도 빌드 시점에 따라 상당히 다른 이미지를 만들 수 있다. 글쓴이는 CFEngine, Ansible, podman, k3s도 써 봤지만 꼼꼼한 메모나 그 메모를 셸 스크립트로 바꾼 것보다 크게 나아졌다고 느끼지 못했다. 셸 스크립트는 단순해서 덜 깨지지만 시간이 지나 환경이 바뀌면 더는 유효하지 않은 가정에 기대기 쉽다. NixOS 설정은 자신에게 남기는 꼼꼼한 작업 지침처럼 읽히면서도 실행하면 매번 같은 결과를 만든다는 점이 달랐다고 한다. 가끔 몇 분 관리하는 것은 괜찮지만 업그레이드를 위해 방해받지 않는 몇 시간을 따로 확보해야 하는 일은 컴퓨터로 무언가 하려는 마음을 꺾는데, 재구축 가능성이 보장되자 새 소프트웨어를 일단 써 보지 않을 이유가 없어졌다는 것이다.

출처: GeekNews · 원문 보기 ↗