the best choice of the year
올 해에 가장 잘 했던 기술적 선택을 꼽으라고 한다면
연초에 서비스 환경을 리눅스로 전환하겠다고 결정한 점이다.
그동안은 MMO 프로젝트를 하면서 윈도우 커널이 제공하는 컴퓨팅 환경을 바닥까지 쥐어짜서 쓰는 고수님들의 실력에 감탄하고 동경했다. 스레드 컨텍스트 스위칭 하나, cpu 캐시미스 하나까지 절약하는 핵고수님들을 따라가려면 나는 주제넘게 여러 분야 건드리지 말고 하나 만이라도 잘 따라가자는 생각이 있었던 것 같다.
이제는 상황이 변했고, 생각도 조금 바뀌었다. 지금은 단일스팟(=단일 윈도우 머신)에서 벌어지는 많은 유저들의 인터랙션을 처리하는 것이 고민의 주제가 아니게 되었고, 인터랙션이 거의 없거나 아예 없는 개별 트래픽들을 보다 쉽고 유연하게 대응하는 것이 더 중요한 상황이 되었다.
리눅스의 개발 생태계, 가상화를 통해 얻게 되는 새로운 관점의 변화들은 너무 신선하다. 이제까지 내가 생각하지 못했던 방법들로 사고할 수 있게 된다. 훨씬 많은 개발자들과 선례들이 남긴 방대한 자료들이 인터넷에 가득하다. 약간 과장하자면 갈라파고스 섬에 살다가 뉴욕 맨하튼 거리로 나온 느낌.
이제 갓 일년차 수준이니 아직은 미숙하고 서툰 부분이 많지만, 앞으로 더 배우고 경험하고 놀라워 할 일이 많다는 점도 즐겁다. 연초에 리눅스 전환을 결정하지 않았다면 이 만큼의 새로운 자극이나 만족감이 있었을까.
이번 프로젝트는 개발 도중에 리눅스 환경 도입을 결정한 케이스이지만, 만약 지금 시점에 신규 프로젝트의 기술스택을 결정하고 아키텍처를 짜야 한다면… 이제까지의 프로젝트들과 얼마나 유사할 것인가. 아마 꽤나 다른 결정을 하게 될 것이다. 좀 다르게 말하면.. 꽤나 다른 결정도 이제는 할 수 있게 되었고, 여러가지 선택지를 마련해서 보다 적합한 솔루션을 고민해 고를 수 있게 되었고. 그 말은 내가 할 수 있는 것이 전보다는 좀 더 많아졌다는 말도 되지 않을까. 너무 논리적인 비약인가.
리눅스 생태계는 개발자 장난감(?)으로도 꽤나 재미가 있다. 지금 내 방에 띄워둔 vm 하이퍼바이저만 2대가 된다. 홈 네트워크, 홈 서버, 터미널 개발환경들 모든 것이 재미있다. 비 개발자들도 집에서 취미로 반려서버를 많이 가꾸신다는데. 그야말로 세상 건전한 취미가 아닌가.
아무튼 다시 생각해봐도 올 해의 최고의 결정이었다.