SW/클라우드 서비스 아키텍처

IT 서비스 : 개념, 정의, 개요

얇은생각 2020. 5. 16. 07:30
반응형

서비스 아키텍처 : IT 서비스 : 개념, 정의, 개요

 

서비스의 기본 개념

MS Word는 직접 이 소프트웨어를 구매해서 설치를 해야 합니다. 또한 이러한 MS Word는 설치한 컴퓨터에서만 사용을 할 수 있습니다.그래서 Availability 차원에서 MS는 굉장히 제한적입니다.

Google Docs는 인터넷만 연결돼 있으면 어떠한 컴퓨터에서든지 웹 브라우저를 통해서 접근할 수 있습니다. 또한 이렇게 설치가 필요 없는 Google Docs은 어떠한 컴퓨터든 상관없이 Operating System, Hardware 그런 플랫폼에 상관없이 사용할 수 있는 특징이 있습니다.

또한 새로운 소프트웨어 버전이 나왔다든지 문제를 해결하는 패치가 나왔을 경우에 MS Word는 설치를 해야 됩니다. Google Docs 같은 경우는 언제나 접속만 하면 최신의 소프트웨어를 사용할 수 있습니다. 따라서, Maintainability 차원에서도 Google Docs이 훨씬 더 사용하기 편리합니다.

MS Word는 Stand Alone Application이라고 부릅니다. Google Docs과 같은 소프트웨어를 클라우드 서비스라고 부릅니다. 클라우드 서비스는 굉장히 다양한 장점이 존재하게 됩니다.

 

 

서비스란?

서비스란 하나의 무형의 재화를 의미합니다. 즉, 어떤 무형의 재화나 경제적인 활동을 통해서 이득을 취하는 행위를 서비스라고 합니다. 

벨보이는 보통 호텔에 온 손님들의 가방을 들어주거나 택시를 불러주거나 하는 무형의 서비스를 제공해서 이득을 취하게 됩니다. 그래서 이것이 서비스의 대표적인 경제적 예라고 보겠습니다.

소프트웨어 시스템적인 차원에서 서비스의 정의가 있습니다. 서비스는 연관된 소프트웨어 기능들의 모임이나 집합이라고 합니다. 이러한 연관된 Functionality를 재사용을 해서 여러 목적에 다양하게 활용을 합니다. 그걸 통해서 우리가 애플리케이션을 개발할 수 있습니다.

그리고 이러한 서비스들은 서비스를 공급하는 측과 서비스를 사용하는 측 사이에 어떠한 정책적인 동의를 통해서 보통 사용합니다.

그리고 특별히 IT Service라는 용어가 있습니다. 혹은 E-Service라고도 부릅니다. 이런 IT Service 혹은 E-Service는 어떤 IT Infrastructure를 통해서 제공하는 그런 서비스를 IT Service 혹은 E-Service라고 이야기합니다.

 

 

서비스의 정의

먼저 소프트웨어 아키텍처 관점에서 서비스의 정의가 있습니다. 서비스란 Self-Contained Module이라고 보통 정의를 합니다. Self-Contained 됐다는 의미는 서비스를 독립적으로 호출해서 어떠한 결과를 얻을 수 있다는 의미입니다.

특히 서비스에 접근함으로써 일정한 Capability 또는 어떤 Resource에 대한 접근이 가능하게 되겠습니다. 또한 소프트웨어 아키텍처적인 관점에서의 서비스 개념은 그것들이 서로 합쳐져서 Compose될 수 있다는 정의도 포함을 하고 있습니다.

즉, 작은 서비스들이 서로 Compose돼서 더 큰 서비스를 만들어낼 수 있습니다. 궁극적으로 그러한 것들이 사용자들이 직접 사용할 수 있는 애플리케이션으로 만들어질 수 있습니다. 여러 다양한 서비스들이 조합돼서 하나의 어떤 Service Composition을 이루는 모습을 보여주고 있습니다.

서비스를 모델링 관점에서도 정의할 수 있습니다. 모델링 관점에서의 서비스는 추상적인 리소스라고 부릅니다. 추상적인 자원의 의미는 그러한 추상적인 자원을 서비스를 제공하는 Provider의 관점, 서비스를 요청하는 요청 Requester 관점에서 모델링을 해서 그러한 상호관계를 표현할 수 있습니다.

즉, 서비스라는 것은 굉장히 High-Level에서 서비스를 제공하는 사람들이 어떠한 Capability를 제공할 수 있는지, 서비스를 요청하는 사람들이 무엇을 필요로 하는지를 모델링하는 개념이라고 볼 수 있습니다.

 

 

구체적인 서비스의 정의

먼저 맨 위에는 서비스를 직접 필요로 하는 End User들이 있습니다. 그리고 이러한 사용자들은 Provider들이 제공하는 서비스를 사용하게 됩니다. 그런데 이러한 서비스를 사용하기 위해서는 End User들이 중간에 Service Client라는 작은 소프트웨어를 필요로 하게 됩니다.

즉, 이러한 Client 소프트웨어를 통해서 서비스 제공자들이 제공하는 서비스를 자신이 사용하는 컴퓨터나 모바일 디바이스를 통해서 사용할 수 있게 되는 것입니다. 그럼 이러한 서비스 공급자들은 서비스를 제공하기 위해서 본인들이 가지고 있는 기존의 Software Component들을 활용합니다.

기존에 존재하고 있는 여러 Component들을 조합하거나 접근해서 다양한 서비스를 사용자들에게 제공하게 됩니다. 그리고 이러한 서비스에 접근하는 과정에서는 표준화된 서비스 인터페이스가 존재하게 됩니다.

반응형