중소 웹호스팅 회사에서 퇴사한지도 한 1년 정도 흘렀으니 비로소 회고 같은 걸 써봐도 될 것 같다.

이미 다닌지 6개월 정도 되었을 적에 한번 쓰긴 했지만 그럼에도 불구하고 다시 쓰는 이유는 좀 더 기술적인 설명을 하고 싶었기 때문이다.

웹호스팅 개요

웹호스팅이란 웹서버를 서비스 형태로 임대하는 것이다. 일종의 SaaS 라고 볼 수 있을 것 같다.

웹호스팅은 2000 년대 초반에 내 홈페이지가 유행하면서 보편화 되었다. 그때 당시에는 LAMP-Apache, PHP, MySQL 을 사용하는 홈페이지가 유행했고 이것을 SaaS 형태로 제공하는게 웹호스팅이었다.

이것을 사용하기 위해 사람들은 제로보드나 그누보드, 워드프레스 같은 오픈소스 프로그램을 호스팅 서버에 FTP로 올리고 사용하였으며 SSH나 Telnet에 접속하기 어려우니 phpmyadmin 같은 웹에서 DB를 관리할 수 있는 툴 또한 사용하였다.

웹호스팅 제공사는 하나의 베어메탈 서버에 공유 호스팅 형태로 사용자에게 서비스를 제공한다. 사용자가 상품을 가입하면 그것에 맞게 apache, MySQL 데이터베이스를 셋팅한다. PHP는 이미 깔려 있다.

PHP는 우리가 흔히 실행되는 프로그램, 데몬처럼 실행 되지 않는다. PHP 파일에 대해 요청이 들어오면 PHP 엔진이 이것을 파싱하고 실행하여 요청을 반환하는 형태로 이루어진다.

호스팅 제공사는 사용자 계정을 만들고 apache에 virtual host 를 이용해 사용자 웹폴더를 셋팅한다. 그리고 사용자 권한으로 Database도 만든다.

그럼 사용자는 자기 웹폴더에 FTP로 올리고 웹설정에서 데이터베이스 아이디, 비밀번호, 데이터베이스 이름 같은 것들을 설정한다. 그리고 자기 도메인과 연결한 뒤에, 혹은 연결 요청한 뒤에 제대로 도메인에서 홈페이지가 뜨는지 확인하고 사용한다.

그렇게 하나의 베어메탈 서버에는 공통적인 PHP와 MySQL, Apache 버전을 사용하고, 각자 사용자는 자신의 폴더에 자신만 권한을 가진 상태로 홈페이지를 운영하게 된다.

호스팅 제공사는 고객에게 이러한 환경을 제공하고 서버 관리를 하게 된다.

LAMP 란

2000 년대 초반에는 LAMP 스택이 굉장히 유행했다. LAMP는 Linux, Apache, MySQL, PHP 를 의미한다. 리눅스는 서버 OS, Apache는 웹서버, MySQL은 데이터베이스, PHP는 웹어플리케이션 서버를 맡게 된다.

이걸 사용하는 프로그램의 대표주자로는 워드프레스가 있고, 제로보드는 현재 더이상 신버전이 안 나오는 상태이며, 그누보드는 6부터 python을 채택한 상태이다.

현재는 확실히 대한민국에서 메이저하게 쓰지는 않는 것 같다. 프랑스나 일본에서는 종종 쓰인다고 들었다. 이건 아무래도 PHP가 비일관적인 문법과 3, 4, 5 버전에서 보안 취약점 같은 것들이 꽤나 많았기 때문이라고 생각한다. PHP는 동작 타입의 스크립트 언어이며, 어떻게든 응답을 반환하려는 특성이 문제가 되었다고 생각한다.

현재는 당연히 이것을 대체할 라이브러리와 언어들이 많고 다양하게 사용되고 있으며, 일단 엔터프라이즈 쪽은 전자정부프레임워크가 Spring 기반으로 나옴으로써 JAVA-SPRING이 한 몫하고 있고, 스타트업 쪽은 리액트와 TypeScript 같은 것들을 빠르게 사용하는 중인 듯 하다.

나는 프로그래밍보다는 서버관리, 유지보수를 주로 해보았기 때문에 더 자세히는 모른다. 하지만 현대 어플리케이션은 무엇이 되었는 바닐라하게 프로그래밍 하는 걸 별로 선호하지 않으며, 그렇기엔 너무 요구하는 기능들이 많아졌다.

중소 호스팅의 문제 및 사용자의 사이트 관리 필요성

나는 중소 호스팅 회사에 다녔다. 정말 모든 것이 2000년대 초반 그 자체였다. 서버의 하드디스크마저 2000 년대 중후반 생산분이었다.

나는 내가 다녔던 회사가 어디서부터 잘못 되었을지 많이 고민했고, 결국은 회사 잘못이라고 생각은 하지만 조금 차례차례 짚어보고 싶었다.

내가 다녔던 회사는 업그레이드 되는 것이 없었다.

리눅스는 CentOS 4, PHP는 4.4.9. MySQL은 4.3, MyISAM 엔진이었다. 그리고 자체적으로 홈페이지 솔루션을 자동으로 구축해주었다.

한창 잘 나갔을 당시에는 여러 호스팅 회사들을 인수하고, 도메인, 호스팅, 메일 호스팅 사업도 같이 하며 발전을 노렸던 것 같다.

하지만 그 뒤로 업그레이드는 없었다. 2020년대에도 여전히 마이그레이션이 되거나 업그레이드 되는 건 없었으며, 여전히 게시판에 문의를 남기면 직원들이 수동으로 답을 다는 형식이었고, 여전히 고객의 상품 신청을 수동으로 확인해서 셋팅하는 형식이었다.

TLS 인증서를 돈 받고 팔았으며, 메일 호스팅은 항상 해킹 당하고, 오류를 내뿜고, IE 호환 모드를 키지 않으면 사용자 추가조차 되지 않았다.

이것을 마이그레이션 하기엔 돈이 많이 든다며 그때그때 프로그래머에게 수정해서 땜빵하며 썼다. 하지만 정작 자회사의 신사업 홈페이지는 매우 현대적으로 만들고 관리도 엄격하게 지시한 것이 아이러니하다.

그러면서 회사는 고객 탓을 했다. 고객은 여전히 기존 사이트를 유지 시키고 싶어 하고, 고객이 마이그레이션 하지 않기 때문에 우리도 기존 인프라를 유지하는 거라고 했다.

내가 겪은 고객들은 IT에 대해서 잘 모르고 알고 싶어하지도 않았다. 그저 홈페이지가 잘 나오고 메일이 그저 보내지기만 하면 그만이라고 생각했으며 20년 넘게 홈페이지를 마이그레이션하지도 않았다.

하지만 회사는 마이그레이션을 독려하거나 회사 내부 홈페이지와 메일 관리 시스템 같은 것들은 마이그레이션하면서 지속적으로 관리를 하고 업그레이드를 해야했다고 생각한다.

물론 메일 호스팅이 폼이 많이 들고 DMARC 같은 것들을 설정하지 않으면 메일이 스팸함에 가거나 아예 메일함에 가기도 전에 스팸으로 차단이 되어 버리는 경우가 있다.

하지만 회사에서도 여전히 qmail 처럼 릴리즈가 오래된 버전을 쓰고, 이게 회사 관리 툴들과 연동되어 있다고 업그레이드를 안하는 것은 잘못이라고 생각한다.

게다가 서버는 디스크 이중화 혹은 RAID 조차 안 되어 있으며, 일일 로컬백업, 주 리모트 백업, 3달 소산 백업으로 어떻게든 비즈니스를 굴린다는 것이 기묘하기만 하다.

그래서 나는 1년 정도 일하고 더이상 배울 것도 없고, 할만큼 했다고 생각하고 퇴사했다.

1년 정도 지난 다음 생각해보니 이건 무관심한 회사도, 무관심한 고객들도 잘못 했다고 생각한다.

회사 다녔을 적엔 고객들이 왜 그렇게 난리인지 짜증이 났다. 하지만 퇴사하기 직전 쯤부터 지금까지 고민하니 이건 회사 차원에서 투자나 업그레이드가 이루어지지 않은 부분이라고 생각이 든다.

고객은 고객대로 사용하면서 불편하거나 했을 때 동일 증상이 몇 번이나 발생하였으면 다른 호스팅으로 마이그레이션 하거나 구글 워크스페이스 같은 더 좋은 서비스로 마이그레이션 하는게 서로에게 이롭다고 생각한다.

뭐 어차피 이렇게 길게 적어봐야 여전히 쓰는 고객들은 계속 거기를 쓸 것이고, 회사는 그걸 핑계 삼아 업그레이드를 하지 않을테니 그게 그거인가 라는 생각도 든다.

그러면서 많이 쓰는 서비스는 그래도 그만한 이유가 있구나 라는 생각을 해본다. 가격이 싸든, 적당히 괜찮게 서비스를 유지하고 업그레이드 하든 그런 이유가 있겠거니 하고 생각을 해본다.

나는 그리고 내가 다녔던 회사가 호스팅 사업을 그대로 종료했으면 한다. 어차피 사내 서비스, 놀랍게도 호스팅 서비스와 같은 프로그램을 기반으로 한다. 다른 회사를 인수할 때 받아온 평생 호스팅 같은 것 때문에 못하겠지만 말이다.

세상은 넓고 이상한 회사는 많은 법이다.

그럼에도 내 IT 업계의 시작했던 회사라 기묘하게 애증의 관계라는 게 특히 더 짜증나는 이유일지도 모르겠다.