개발자들이 로컬 환경에서 여러 서비스를 실제 도메인으로 테스트하는 과정은 번거롭기 마련입니다. 매번 /etc/hosts 파일을 수정하고, 리버스 프록시를 설정하며, 로컬 인증서를 관리하는 등의 작업은 시간 소모적이고 오류를 유발하기 쉽습니다. 이러한 문제를 해결하기 위해 로컬 DNS 라우터 및 투명한 HTTP/HTTPS 프록시인 'SideDNS'가 등장했습니다.
SideDNS는 `sidedns add api.myapp.com --port 3000`과 같은 간단한 명령어로 모든 도메인을 로컬 서비스에 매핑할 수 있게 합니다. 이는 시스템 전반에 걸쳐 적용되며, HTTPS 지원, 와일드카드 도메인, 웹소켓(WebSocket) 지원은 물론, 작업이 끝나면 `sidedns daemon stop` 명령으로 모든 설정을 깨끗하게 되돌려줍니다. 특히, `sidedns run -d example.com mycommand`처럼 명령 실행 기간 동안만 유효한 임시 규칙(Ephemeral rules)을 설정할 수 있어, 테스트 후 잔여 설정이 남을 걱정을 덜어줍니다. SideDNS는 DNS 서버, 리버스 프록시, IPC 서버를 하나의 데몬(daemon)으로 실행하며, 모든 구성은 잠금 없는(lock-free) 구조로 안전하고 빠르게 처리됩니다.
SideDNS의 출시는 로컬 개발 환경의 복잡성을 줄이고 개발 생산성을 높이는 데 중요한 의미를 가집니다. 개발자들은 더 이상 환경 설정에 시간을 낭비하지 않고 핵심 개발에 집중할 수 있게 됩니다. 이는 특히 마이크로서비스(microservices) 아키텍처나 여러 개의 로컬 서비스를 동시에 개발하는 환경에서 빛을 발할 것입니다. 또한, 프로덕션(production) 환경과 유사한 조건에서 테스트할 수 있게 되어 배포 후 발생할 수 있는 문제를 사전에 방지하는 데도 기여할 것으로 기대됩니다.