이번 포스팅에서는 관련 기사들을 살펴보면서 현재의 홈서버 애플리케이션 개발과 관련해 떠오르는 생각을 간단히 정리해 보려고 합니다. 작금의 computer O/S 에서의 이런 변화 자체가 직접적으로 홈서버 개발에 어떤 영향을 주는 것은 아니지만 분명한 것은 이런 체계, 그러니까 지금과 같은 server - thin client 의 체계가 발전할 수록 이런 개념을 다른 분야 (홈서버 개발)에 적용하는 것이 용이해지는 환경이 조성되는 것은 틀림이 없습니다.
기본적인 아이디어는 이런 개념을 홈서버에 적용 가능하다면 현재의 체계가 가지고 있는 여러가지 고민들을 해결할 수 있을 것이라는 점입니다. 즉, UI 및 이에 관련된 high-level의 routine들은 개별 machine의 O/S에 무관하게 server application에서 처리하게 하고 device에 관련된 low-level routine 들만 local machine에서 담당하게 하는 것입니다. 각 home server에 탑재될 software는 web browser (O/S, hardware independent) 와 이 web browser와 low-level (hardware) api를 연결하는 간단한 middleware 정도가 올라가는 구성이 되겠습니다. 개발 환경은 아무래도 Java가 유력하겠습니다.
단순한 작업은 아니겠지만 이와 관련해서 얻을 수 있는 장점을 생각하면 충분히 검토해 볼 가치는 있을 것 같습니다. 이런 시나리오에 대해 가능성을 높게 생각하는 이유는 Chrome O/S가 Netbook에 탑재되어 동작하는 환경을 home server에 그대로 적용할 수 있을 것이라는 생각때문입니다. 하여간 이런 방식이 적용된다면 대략 다음과 같은 장점이 예상됩니다.
- 하드웨어 사양(주로 메모리 관련)을 낮출 수 있습니다. 서비스가 복잡하고 다양해져도 하드웨어 사양이 높아지지 않습니다.
- O/S에 종속성을 줄일 수 있습니다. 하드웨어 관련 Low-level routine들은 CPU 개발사가 2개 이상의 O/S에 대해 API 형태의 BSP를 제공하므로 O/S의 선택이 문제되지 않습니다.
- 하드웨어에 대한 종속성도 동시에 줄어듭니다. 하드웨어 선택이 자유로워지면 제조 단가를 줄이는 데도 상당히 유리합니다.
- 프로그램 업그레이드가 용이하고 관리에 들어가는 비용을 상당히 낮출 수 있습니다. 한정된 소프트웨어 개발팀의 자원을 최대한 활용할 수 있습니다. 현재와 같은 체계라면 프로젝트가 진행될 수록 소프트웨어 유지 관리에 드는 비용이 계속 증가할 것입니다.
- 새로운 제품의 개발 기간과 노력이 획기적으로 줄어들 것입니다. 신제품 기획시의 제약 사항도 줄어들고 지금보다 훨씬 다양한 제품의 기획이 가능할 것입니다.