2016년 10월 11일 화요일

메시 앱과 서비스 아키텍처(Mesh app and service Architecture)의 동향 분석


가트너는 2016년 10대 전략 기술 중 메시 앱과 서비스 아키텍처를 발표했다. 수많은 앱과 서비스가 상호 간에 연결된 환경이 메시 앱과 서비스 아키텍처다. IoT가 주목 받는 요즘, 사물들이 다양한 앱과 서비스에 연결되어 동작할 수 있도록 하는 것은 이제 옵션이 아니라 필수인 시대가 오고 있다. 이번 회에서는 메시 앱과 서비스 아키텍처에 대해 살펴보기로 한다.


메시 앱과 서비스 아키텍처의 산업 현황 


가트너가 발표한 10대 전략 기술은 크게 3가지로 구분된다. 사용자 관점의 기술, 기계 관점의 기술, 그리고 기술 구조 관점에 대한 기술이다. 메시 앱과 서비스는 기술 구조에 관점의 기술로 구분되어 있다(그림1). 기술 구조 관점에는 메시 앱과 서비스 외에 보안 아키텍처, 시스템 아키텍처, 그리고 IoT 관련 아키텍처와 플랫폼을 들고 있다. 이 네가지는 모두 다양한 서비스가 분산되어 서비스되는 것을 나타내는 것으로, 클라우드 환경에 대비한 전략 기술로 구분할 수 있다.


<그림1> 가트너 2016년 10대 전략 기술 

출처: 가트너  


수많은 앱과 서비스가 느슨하게 연결되어 최소 구동 환경만 만들어져 있을 때, 사용자 환경에 맞는 기능을 소프트웨어로 만들어 동작하게 하는 기술을 말한다. 소프트웨어 정의 애플리케이션 서비스(SDAS; Software Defined Application Service), 마이크로 서비스 아키텍처(Micro Service Architecture), 컨테이너(Container) 기술 등이 이에 해당된다. 정리 하면, 상황에 맞게 애플리케이션(앱)의 기능이 변하고 배포될 수 있는 적절한 환경을 만들어주는 기술입니다. 이 기술로, 서로 다른 환경에 있던 모바일 기술이나 소프트웨어, IoT에서 제공되는 데이터들이 클라우드 환경으로 연결되어 다양한 기기들이 필요에 의해 통합될 수 있는 모델을 제시한다.


                  더보기


중소기업의 효율적인 개발 프로젝트 관리 방안

SI 프로젝트가 절정에 있을 때 가장 관심이 집중되던 것이 개발 프로젝트를 어떻게 관리하는가 하는 것이었다. 하나의 프로젝트 관리도 걱정이었지만 회사 차원에서 두 개 이상의 프로젝트를 관리하는 방법은 더 고민스러웠다. 일정은 물론이고 프로젝트의 산출물, 개발 표준, 비용, 그리고 인력 관리까지 회사 차원에서는 소홀히 다룰 수 없는 부분들이지만 매번 전화나 메일로 확인하기는 부담이 많기 때문이다. 이번 회에서는 소프트웨어 개발 프로젝트를 효율적으로 관리하기 위한 방법에 대해 널리소프트 윤광렬 팀장을 만나 자세한 사항을 들어본다.

Q: 본격적인 이야기 전에 개발 프로젝트 관리에 대해 설명을 부탁 드립니다.
개발 프로젝트 관리는 소프트웨어를 개발하기 위한 프로젝트의 일정이나 산출물, 비용, 인력 등을 파악하고 관리하는 것을 의미합니다. 일반적으로 SI(System Integration) 프로젝트에서 많이 사용되는 말이지요. 개발 프로젝트 관리 책임자를 PM(Project Manager)라고 부르고, PM을 돕는 PL(Project Leader)이나 품질을 전담하는 QA(Quality Assurance) 등이 있습니다. 개발 프로젝트 관리는 대부분 프로젝트 관리 경험이 풍부한 사람들이 하는 것으로 인식하고 있습니다. 맞는 말입니다. 경험이 많다는 것은 그만큼 시행착오도 많이 겪었고 그에 따른 대처 방법도 많이 안다는 것이고, 효율적인 인력 관리나 일정 관리에 능숙하다는 것이기 때문입니다. 개발 프로젝트는 초기에 계획을 수립하고, 그 계획에 맞춰 개발을 진행하게 됩니다. 그림1에 나타난 것처럼, 중간에 계획을 변경해야 하는 예외적인 일들이 발생한다면, 상황에 따라 대응해야 하는 일들이 생겨나겠죠. 경험이 많은 사람이 잘하는 것은 당연한 일일 겁니다.

<그림1> 프로젝트 일정 수립과 변경 



출처: http://cfile233.uf.daum.net/attach/160CD63750835E082AD3BB 



IoT 사례 연구 - 아키텍처



최근 ICT(Information & Communication Technology)의 최고 관심 대상 중 하나는 IoT(Internet of Things)이다. IoT를 다양한 형태로 해석하고 사용하지만 가장 큰 특징은 사물 스스로가 정보를 수집하고 스스로 전달한다는 것이다. 불과 몇 년 전만해도 사물에 네트워크가 연결이 되어도 사람이 지시하지 않으면 아무 일도 할 수 없었지만 이제 스스로 일을 하는 사물을 사용한 다양한 형태의 서비스가 거의 모든 산업에서 나타나기 시작했다. 그만큼 사물이 네트워크에 연결된 일은 매우 흥미롭고 고부가가치를 창출하는 일이기 때문이다. 이번 회에서는 IoT의 아키텍처에 대해 살펴보면서 IoT의 구성 방법에 대해 알아보기로 한다. 체계적인 IoT 아키텍처 구성으로 효율적인 IoT 서비스가 제공되기를 기대한다. 


사례 연구 전 확인 사항 


IoT 모델의 변화 

현재의 IoT가 나오기 이전에도 사물을 활용한 정보 수집은 존재했지만, 필요에 의해 사물에 별도의 네트워크가 연결이 되었고 수집하는 정보도 극히 일부로 제한되었다. 이미 필요한 데이터만 미리 정해서 수집했기 때문에 데이터 양도 적고 데이터 활용처도 한정되어 있었다. 하지만, 최근 들어 빅데이터(Big Data) 활용이 늘어나고 빅데이터 속에서 사람들이 생각하지 못하는 인사이트를 찾아내면서 빅데이터를 수시로 수집할 수 있는 IoT에 대해 더 관심을 갖기 시작했다. 
기존에는 각 산업이나 서비스에서 필요한 정보만을 수집하다 보니 소프트웨어의 규모도 그리 크지 않았지만, 최근에는 엄청난 양의 정보가 수집되어 소프트웨어의 규모도 커지고 그에 필요한 아키텍처도 다양해지는 추세다. 이렇게, 정보를 한 곳으로 모았다가 다시 필요한 곳으로 정보를 제공하는 중앙 집중 식 클라우드 형태가 현재 많이 사용되는 모델이고, 이후 분산 클라우드 형태의 IoT가 많이 연구되어 발표되고 있는 추세다(그림1).  


<그림1> IoT 모델의 변화 





 출처: “분산형 데이터베이스 기반 비중앙식 IoT 플랫폼을 이용한 스마트 홈 서비스”  


IoT는 사물을 상호 연결하여 어떤 서비스를 제공할 것인지가 가장 큰 목표이기 때문에 사물과 사람, 그리고 사물과 사람을 이어주는 디바이스를 기본으로 필요한 서비스를 제공하게 된다. 사물 간 통신을 나타내는 M2M, 사물인터넷을 나타내는 IoT, 그리고 IoT에 공간 개념을 도입한 만물인터넷이 IoT 모델의 변화 모델로 정의할 수 있다. 


IoT 아키텍처의 기본 구성 


IoT는 사물 기반이기 때문에 임베디드(Embedded) 아키텍처와 유사하게 보일 수 있다(그림2). 하지만 사물이 인터넷(Internet)에 연결이 되어 있고 다양한 데이터를 수집한다는 것이 주목적이기 때문에 임베디드 아키텍처와 다소 차이가 있다. 인텔(Intel)에서는 <그림2>와 같은 IoT 아키텍처 구성도와 <표1>과 같은 IoT 아키텍처의 특징을 5가지로 정의하고, 이러한 특징을 고려하여 소프트웨어를 설계하도록 가이드하고 있다.  

                                                        더보기