말씀하신 대로 서버는 아마도 70년도쯤에 나왔을 TCP/IP를 계속 사용하고 있기는 합니다만 관점의 변화가 있었습니다.
과거의 MMORPG, FPS를 서비스하던 서버들은 C++서버로 1서버에 최대한 많은 인원을 동시에 수용하거나, 빠른 응답성을 최고의 미덕으로 개발하곤 했죠
그러나 요즘 나오는 중국산 양산형 게임들. MMORPG라고 해도 서버를 선택하고 들어간다거나 하지 않습니다. 모바일로 옮겨갔기 때문에 동접자 수가 줄어서 그런걸까요? AFK아레나는 매주 새 서버가 생기며, 친구추가나 아래나같은건 마치 한 서버머신에 같이 있는것마냥 자연스럽게 동작합니다.
서버 머신의 발전도 꾸준히 있어왔지만 중국 서비스나 글로벌 단일 빌드를 고려한 서버 설계는 나날히 발전해왔고, 각 개발 팀마다 따로 존재하던 '수평확장을 고려한 서버개발'과 많은 수의 수평확장된 서버들을 컨트롤하는 배포 기술들도 같이 발전했습니다. 심지어 DevOps라는 전문분야로 나눠지는 추세입니다.
큰 회사들이야 DevOps전담팀을 두고, 그 맴버중엔 개발경험이 적으신분도 많지만 작은 회사에서는 이러한 수평확장 설계와 배포 모두 서버프로그래머 쪽에서 담당하고 있는 상황이며, 이러한 니즈와 발맞춰 AWS나 MS 에저등의 클라우드 관리형 서비스도 출시되어 이 제품들을 어떻게 더 잘 쓸것인가에 대한 이론과 오픈소스 진영의 발전이 눈부십니다.
누가 좀 '이럴때 이거 쓰면 됨'하고 정립해주면 좋겠는데... 지금까지는 AWS(클라우드 컴퓨팅), Docker(컨테이너), K8s(컨테이너 오케스트레이션) 정도까지는 정리되었다고 보여지고, 이것들의 프로비저닝은 테라폼, 플럼미가 유명하지만 명확한 승자는 없어보이네요. NHN에서 테라폼을 좀 쓰는것 같긴 합니다.
서버 프로그램 쪽에서 DevOps쪽으로 영역이 확장되다보니 CD/CI쪽을 공부해야 하는 상황도 생기고... 오히려 점점 순수 개발에서 멀어진다는 느낌이 있기는 하네요 ㅎ
이쯤 되면 게임서버 개발인가? 싶어지지만 서버기술의 발전은 계속되고 있다는걸 말씀드리면서 근황과 대세를 한눈에 볼수 있는 CNCF landscape를 소개드리며 글을 마칩니다.
https://landscape.cncf.io/