Software + Services가 미치는 영향에 대해 살펴보기로 하자.
전통적인 Software 중심적인 시각에서 Services가 더해져서 이루어지는 세상은 예전과 다른 시각을 가질 것을 요구하며 다양한 영역에 다양한 사람들의 삶에, 그리고 일의 방식에 영향을 미치고 있다.
먼저, 서비스를 제공하는 입장에서 살펴보기로 한다.

개발자에게 있어서 Software + Services는 어떤 영향을 미치는 것일까 ?
개발자에게 있어 솔루션을 개발한다는 것은 예전에는 필요한 모든 요소, 모든 기능을 자신이 모두 개발하여 소유하는 것을 의미하였다. 모든 것을 개발하여 내 영역안에, 내 회사 방화벽안에 설치하여 운영하는 것을 상정하여 개발이 이루어졌다. 하지만, Services가 개발 영역에 개입하게 되자 상황은 달라졌다. 구축하고자 하는 기능 모두를 자신이 개발할 필요가 없으며 일부는 외부에 Services 형태로 노출되어 있는 것을 이용하고 일부는 자신이 개발하게 되고 이렇게 내부에서 개발한 것과 외부에서 들여다 쓴 서비스간에 통합이 또 다른 주요 이슈가 된다. 통합에 있어서도 SOA 기반의 소위 Services Compostion이 될 수도 있고 그 보다 lightweight한 사용자 중심의 mash-up이 될 수도 있고, 아울러 이러한 서비스를 사용하는 입장이 될 수도 있고 또는 그러한 기능을 제공하는 서비스를 제공할 수도 있다. 요약하면, 필요한 기능을 모두 개발하여 소유하는 시대는 지나가고 시스템의 개발과 서비스의 소유가 분리되는 시대에 개발자들의 아키텍처와 코드가 적응을 해야하는 시대가 된 것이다.
또 다른 면에서 Services의 등장은 개발자에게 있어 고민 거리를 던져주게 된다. 예전에 자신이 개발한 기능은 내부 사용자만을 위한 것이 었지만, Services를 통해 외부에 노출되게 되면 사용자 수는 예측 불가능하게 된다. 이것은 기회이자 도전이 된다. 불특정 다수를 위해 노출된 서비스는 규모의 경제를 가능하게 하며, 이를 통해 예전에는 비용 대비 효과면에서 관심밖의 영역 이었던 것들까지도 서비스의 대열에 합류할 수 있게 된다. 하지만, 이것은 Scalability라는 중요한 이슈를 제기한다. 기업 내의 사용을 위해 개발했던 시대에는 기업만을 위한 Scalability, 즉 Enterprise level Scalability만을 고려하면 되었지만, 불특정 다수에게 서비스 형태로 노출되는 기능은 Internet Scalability 혹은 Cloud Scalability를 가능하게 되는 그러한 아키텍처, 그러한 프로그램밍이 되어야 하는 것이다.
시스템을 운영하는 IT Pro 입장에서 Services의 개입은 어떠한 영향을 미칠까 ?
모든 것을 회사 방화벽안에 설치하여 소유하는 시대에 시스템에 대한 통제와 통합, 커스터마이징이 필요한 만큼 원하는 수준으로 가능하던 시대에서, 나의 권한 밖에 위치한 서비스를 통제하거나 커스터마이징하는 데 제약이 따르는 서비스까지 모두 포함하여 관리가 이루어져야하는 시대가 된 것이다. 통제 가능한 레벨이 다른 내외의 서비스를 효과적으로 관리하기 위한 노력이 필요하게 된다.
아울러, 위에서 언급한 Internet Scalability 혹은 Cloud Scalability 이슈는 IT Pro에 있어서도 커다른 부담이 될 수 밖에 없다. 더군다나 초고속 인터넷의 급속한 보급으로 인해 시스템에 가해지는 부하의 이동 속도도 그 만큼 빨라질 수 밖에 없다. SLA 기반으로 서비스를 제공하는 입장이라면 급격한 사용자의 증가에 따른 시스템의 부하를 적절히 분산하거나 미리 차단하여 서비스가 중단되지 않도록 하는 장치가 필요하다.
서비스를 사용하는 입장에서 서비스의 개입은 어떤 영향을 미칠까 ?

먼저 최종 사용자 입장에서 Software + Services가 주는 의미를 살펴 보기로 한다.
오늘날에 우리가 들고 다니는 대부분의 장치들은 정도의 차이는 있지만 연산 능력을 갖춘 것들이며 사용자들을 이러한 다양한 장치들을 사용하면서 이러한 것들이 서로 Seamless하게 엮이기를 기대한다. 한 장치에서 경험한 기능을 다른 장치에서도 경험하기를 원하며 그러한 경험들이 익숙한 형태로 제공되기를 기대한다. 즉,  사용자들의 Digital Lifestyle에 맞는 서비스가 제공되어야 한다. 이러한 면에서 전통적인 Software만으로 사용자들의 다양한 장치에 두루 적합한 서비스를 제공하기는 불가능하다. 아울러 인터넷 기반의 순수 서비스만으로 이러한 사용자들의 욕구에 부응하는 기능을 제공할 수 없다. 들고 다니는 하드웨어(장치)와 맞물려 최적의 Software + Services 조합이 필요한 이유가 바로 여기에 있다. 
기업내 사용자 즉, Information worker 들에게 있어서 Software + Services는 어떤 의미일까 ?
오늘날 재택 근무가 확산되어 팀원들이 옹기종기 한 곳에 모여 서로 의논하며 일하던 시대는 지나갔다. 언제 어디에 있더라도 늘 연결되어 있다면 공간의 제약은 문제가 되지 않는다. 한국마이크로소프트도 지난해부터 재택근무를 도입하고 있으며, 휴대폰과 Office Communicator를 통해 늘 연결된 환경에서 협업이 이루어지고 있다. 시공간적으로 가장 적합한 형태의 Software 혹은 Services를 이용하여 지속적으로 Seamless한 경험을 제공받으며 업무를 진행할 수 있다. 아울러 offline이거나 online에서거나 사용자들은 중단없이 주어진 일을 수행하길 원하다. online에서만 가능했던 순수한 Services 중심적인 사고에서 offline까지 함께 아우를 수 있는 Software + Services로의 전환이 필요한 이유 중에 하나이다.
그 외에도 고객과의 접점에서 비지니스를 수행해야 하는 비지니스 매니저들에게 있어서 Software + Services는 예전과 다른, 남들과 다른 차별화된 서비스를 제공할 수 있는 수단이 된다. 치열한 비지니스 환경 속에서 차별화된 서비스가 가능하다는 것을 커다란 무기가 될 수 있으며 Software와 Services의 최적의 조합을 통해 가능하게 된다.
위에서 살펴본 바와 같이 Software와 Services의 결합은 기업입장에서 오늘날의 비지니스를 가능하게 하는 IT 전반에 걸친 자연스런 변화이며 이러한 변화를 통해 사용자들의 기대에 부응하는 서비스가 가능하게 된다.

Posted by 장현춘

댓글을 달아 주세요