2P by neo 11달전 | favorite | 댓글 1개

청소년의 서버 이야기

  • Varun이라는 이름의 청소년이 자신의 방에 서버 두 대를 두고 있음.
  • 직접 코딩한 다양한 프로젝트를 서버에서 호스팅하고 있으며, 이에 대한 열정을 가지고 있음.
  • 자신의 홈랩의 시작, 발전, 그리고 미래에 대한 이야기를 공유함.

홈 서버의 시작

  • 2020년 락다운 기간 동안 13세의 Varun은 웹 개발에 관심을 가지고 HTML 정적 웹사이트를 만들기 시작함.
  • 더 복잡한 애플리케이션을 만들면서 백엔드가 필요해지자, Replit을 사용하여 웹 앱과 스크립트를 호스팅함.
  • 더 많은 제어와 신뢰성을 원하여 자가 호스팅의 세계로 뛰어듦.

첫 번째 서버

  • eBay에서 구매한 Dell OptiPlex를 서버로 사용하기 시작함.
  • 미국에서 스위스로의 배송 과정에서 문제가 발생했지만, 결국 해결됨.
  • Windows 10 Pro를 서버 OS로 사용하기로 결정함.

서버 OS의 전환

  • Windows 업데이트로 인한 다운타임과 불편함을 겪은 후, 2020년 11월 Ubuntu Server로 전환함.
  • Linux에 빠르게 적응하고, nginx, MongoDB, 여러 프로젝트를 운영함.
  • Docker를 발견하여 제3자 소프트웨어의 설치와 실행을 간소화함.

새로운 서버의 도입

  • 기존 서버의 한계에 도달하여, Dell PowerEdge R720XD를 구매함.
  • 서버의 크기, 소음, 전력 소모 등의 문제를 일부 해결함.
  • Proxmox를 사용하여 가상 머신을 운영하고, Docker 내에서 모든 것을 관리함.

Replit 경험의 부활

  • Replit의 경험을 그리워하며, 자신만의 Replit 클론을 개발함.
  • 'Dock'n'Roll'이라는 도커 기반의 서비스를 통해 웹 앱을 코딩하고 실시간으로 호스팅함.
  • ExpressJS로 구축된 제어판, Monaco Editor, Docker, Redis, OpenResty 등을 사용하여 프로젝트를 관리함.

결론

  • Varun은 대학 진학과 이사를 앞두고 있으며, 서버를 어떻게 할지는 미지수임.
  • 자가 호스팅을 통해 많은 것을 배웠으며, 이를 통해 자유롭게 프로젝트를 운영할 수 있는 능력을 얻음.

GN⁺의 의견

  • Varun의 이야기는 기술에 대한 열정과 자기 주도적 학습의 중요성을 보여줌.
  • 자가 호스팅을 통해 실제 사용자가 있는 프로젝트를 운영하며 얻은 경험은 소프트웨어 엔지니어링에 대한 깊은 이해를 제공함.
  • 이 글은 청소년들에게 기술에 대한 호기심을 가지고 도전할 것을 장려하며, 실패와 성공을 통해 배우는 과정의 가치를 강조함.
Hacker News 의견
  • 90년대 청소년 시절, 첫 컴퓨터를 얻고 모든 컴퓨터가 서버가 될 수 있다는 사실에 놀랐음. 비싼 랙이나 특별한 하드웨어가 필요 없이 Winsock, TCP/IP만 있으면 됨. 하드웨어보다는 Node 기반 앱을 인터넷에 제공하는 것에 초점을 맞추길 바람. 정적 IP가 필요 없고 동적 DNS 설정 방법만 알면 됨.

  • 아이패드 세대가 자라면서 파일 시스템조차 모르는 경우가 많아짐. 데스크톱 이후의 세계가 현실화되고 있음. 추상화는 편리하지만, 기술에 관심 있는 청소년들이 줄어들까 걱정됨.

  • 16살에 'Teach Yourself C' 책과 비디오 카드, Sony Trinitron을 구입했으나, C 언어의 다차원 배열과 포인터에 압도되어 포기하고 록스타가 되기로 함. 대학에서 자바 책을 구입하고 공부를 시작하면서 15년 이상의 기술자로서의 여정을 시작함. 기타 연주도 좋아하지만 기술자로서 더 능숙함을 알게 됨.

  • 16살에 작은 홈랩을 가지고 있음. 클라우드 서비스에서 벗어나 1Gbps 홈 네트워크와 함께 폐기된 하드웨어를 구입하여 물리적 서버 관리를 시작함. 현재 Proxmox를 사용하여 NAS와 여러 서버를 운영 중이며, Minecraft 서버, 개인 프로젝트, 취약점 스캐너, 텔레그램 봇, 친구들을 위한 VPS, 안드로이드 및 MacOS 빌드 VM, 저장소, ML 프로젝트, 학교 CTF 대회 인프라 호스팅 등을 함 (이탈리아 기준).

  • 서버를 비싼 랙 대신 Ikea 테이블에 놓고 사용하는 것을 보며, Lack Rack에 대해 알고 있는지 궁금함.

  • 고성능 PC를 직접 조립하고 BBS를 운영했던 경험이 소프트웨어 개발자가 되는 데 큰 도움이 됨. 이웃집 아이에게 게이밍 PC를 조립해주고, 그가 기술에 능숙해지는 것을 지켜봄. 아들에게 게이밍 랩탑을 사주고 딸에게는 데스크탑을 조립해주며 기술을 배우게 함.

  • 서버를 방에 두지 않고 지하실에 두었음. 집 전화를 위한 PBX, 파일 서버, 모니터링 서버 등을 운영하며, PBX가 아침마다 수학 문제를 풀도록 해서 깨움. 기술과 리눅스에 대한 경험을 종종 잊어버림.

  • 11살에 첫 "서버"를 얻고 13살에 첫 직장을 얻은 후 eBay에서 "진짜" 서버를 구입함. 저렴한 PC를 구입하고 실험하는 아이들이 줄어들까 걱정됨.

  • 21살에 중고 랙 마운트 서버를 발견함. 저임금 직업을 가지고 있었지만, 비디오 인코딩 실험을 위해 더 강력한 컴퓨터가 필요했음. Craigslist에서 저렴한 서버를 찾아 커리어 방향을 정의함.

  • 기초적인 하드웨어와 운영 체제 지식이 점점 줄어들고 있음을 느낌. PaaS 작업 시에도 이러한 경험이 매우 가치 있음.