NEWS

Column

아이온커뮤니케이션즈의 다양한 이야기들을 매월 뉴스레터로 받아보실 수 있습니다.

Column
[기술칼럼] 양재혁 이사가 말하는 '아이온커뮤니케이션즈 클라우드 전략의 최선두, GAIA'
2016. 11. 02

▶ 솔루션 형태의 제공에서 서비스 형태로 제공

바야흐로 클라우드 시대가 왔습니다. 많은 글로벌기업을 선두로 기존 솔루션 형태의 소프트웨어를 서비스 형태로 ‘가입’해서 ‘사용’하는 형태로 변모하고 있습니다. 네이버를 ‘가입’해서 ‘사용’하듯, 기업용 소프트웨어 부분도 이러한 형태로 변모하고 있는 중입니다.


▲ 세계 퍼블릭 클라우드 서비스 시장 전망 2015~2020 (단위: 백만 달러), 출처: IDC(2016)

그러나, 사용자의 이러한 ‘쉬운’ 요구는 소프트웨어 개발하는 회사에게는 굉장히 ‘어려운’ 요구입니다. 즉, 기존 On-premise 형태의 솔루션을 서비스 형태로 바꾸는 작업이 단순히 기능 추가하는 수준이 아닌 근본 구조부터 전부 바꿔야 하는 것을 가리킵니다.

▶ 국내 패키지 SW 업계 "클라우드 전환 쉽지 않네"

http://www.zdnet.co.kr/news/news_view.asp?artice_id=20150512143338 

물론, 오라클 라벨로 시스템즈처럼 일부 솔루션들이 기존의 코드 변환 하나 없이 클라우드 형태로 변환(?) 해주는 솔루션들이 있어 퍼블릭 클라우드에서 동작이 가능한 형태로 바꿔준다고 하지만, 클라우드 시대에 이러한 방식은 근본적인 변화를 주지 못한다고 생각합니다.


▶ 오라클 클라우드 사업 강화를 위해 라벨로 시스템즈 인수

http://techneedle.com/archives/25524 

그럼에도 불구하고 이러한 변화는 새로 태어나는 수준의개발 즉, 기반이 되는 플랫폼 개발과 이러한 플랫폼 기반의 애플리케이션 재개발이 필요했고, 우리 아이온커뮤니케이션즈 역시 이러한 변화에 적응하기 위해서 제품을 근본적으로 변화시키기 위한 노력을 검토하게 되었습니다.

"GAIA의 탄생 비화"

아이온커뮤니케이션즈는 1998년에 설립해 텍스트와 이미지 등의 정형 데이터를 관리하는 콘텐츠 관리 시스템 (Content  Management System)을 시작으로, 최근에는 정형 데이터 뿐만 아니라 각종 센서에서 나오는 비정형 데이터를 포함한 영역으로 확장하고 있습니다.

최근 IT 분야의 발전 방향을 보면 클라우드-빅데이터-IoT-AI 순서로 이슈 메이킹을 하고 있는데, 사실 처리해야 할 데이터량 이 늘어나면서 분산 처리 기술이 요구되었고 (사실 가상화부터 시작해서 많은 부분이 자연스러운 발전이라고 봐야 정상) 클라우드라고 하는 개념이 만들어지고, 분산 처리가 가능해짐으로써 빅데이터라고 하는 부분이 나오고 더 대량으로 늘려서 IoT와 같은 센서 데이터까지 처리를 하고 이렇게 수집된 것을 AI와 연결해서 가고 있다고 보는 것이 자연스럽습니다. 누군가 마케팅 용어로 만들어 낸다고 생각하는 것이 아닌 자연스러운 기술의 발전과 기존에 가지고 있던 것들이 연결되면서 할 수 있는 것들이 많아진다고 봐야 할 것입니다.

우리 아이온커뮤니케이션즈 역시 이렇게 처리해야 하는 데이터량이 많아지면서 자연스럽게 분산 처리에 대한 수준 높은 니즈가 발생하였고, 이와 반대로 고객사에게 경량의 시스템을 저렴한 가격으로 제공해야 하는 상황이 발생하게 되었습니다.

그러나, 오라클 데이터베이스의 가격은 높은 편이어서 MySQL이나 MariaDB와 같은 오픈소스 혹은 경량 데이터베이스를 사용도 고려했지만 오픈소스의 정책이나 퍼포먼스 등 을 고려했을 때 적합하지 않다는 판단을 하게 되었습니다. 물론, Oracle RAC이나 MySQL Cluster 같은 형태로 분산 구성이 가능하지만, 적용 방법이 상대적으로 까다로워 이것 역시 대안이 아니라는 판단을 하였습니다.

이러한 문제점으로 인해서 당사 R&D센터에서는 외부에 있는 데이터베이스가 아닌 콘텐츠 관리 시스템 전문 기업으로 리파지토리에 대한 기술을 연구하는 것이 좋겠다라고 생각하고  여러 가지 시도를 했습니다. 또한, Google AppEngine이나  Microsoft Azure 등 다양한 PaaS(Platform as a Service)들이 시장에 존재했지만, 우리가 하려고 하는 것들과는 너무 거리가 멀거나 닭 잡는데 소 잡는다는 생각이들고 기술회사로서 우리 회사에서 필요로 하는 것을 만들어 보자는데 의견을 합쳤습니다.

첫 번째 시도. 오라클 데이터베이스에서 JCR (Java Content  Repository)로의 전환이었습니다. 설치를 쉽게 하고 비용이  들지 않으며 업계 표준을 기반으로 한 시도였습니다. 그리고  대부분의 화면을 Lucene 검색엔진의 인덱스(Index) 결과를  이용해서 화면에 표시되는 값을 표현하는 다소 특이한 형태로 개발하였습니다. 그밖에 ExtJS와 같은 프레임워크를 바탕으로 기존 ActiveX 등을 삭제한 깔끔한 문서관리 시스템을 개발  할  수 있었습니다. 그러나, 이러한 시도는 진정한 의미의 클라우드가 아닌 ASP 형태이거나 오라클에 익숙해져있는 고객들과 내부 적들로 인해서 성공할 수 없었습니다.

두 번째 시도. JCR만으로는 분산처리가 어렵다고 판단해서 그  밑의 레이어에서 분산 환경을 지원하는 Hadoop과 hBase 그리고 Zookeeper의 적용하였습니다. 빅데이터 분산처리가 유행이 되면서 대용량 처리를 위해서 반드시 필요한 것처럼 인식되었고 유행에 따라 시도해보았지만, 적용을 하기 위해서는  시스템 엔지니어가 붙어서 관리해야 한다는 귀찮은 문제가 있어서 쉽게 스케일 아웃 하기 어렵다는 점이 발생했습니다.

세 번째 시도. 처음에는 서버 한 대로 사용하다가 사용량이 많아지면 스케일 아웃(Scale-out) 형태로 그냥 쉽게 확장이 되고 클러스터/노드 이름만 맞춰주면 자동으로 분산처리가 될  수는 없을까? 라는 필요성, 그리고 서비스 형태로서의 소프트웨어 즉, SaaS의 본격적인 부분은 ‘멀티테넌트(Multi-tenancy)’라고 하는 개념을 지원해야 하기 위해서 엘레스틱서치(ElasticSearch)라고 하는 분산 검색엔진 기술을 채용해서 원래 필요로 했던 내용들을 모두 다 구현을 할 수 있었습니다.

그림에서 보는 것처럼 맨 하단에는 바이너리 파일들이 저장되는 공간으로 여기에서는 Hadoop과 같은 분산 파일 시스템이나 NFS (Network File System)이 이용되고, 필요에 따라서 Amazon의 S3와 같은 클라우드 스토리지를 이용합니다. 이와 동시에 데이터 저장소와 인덱스 파일을 ElasticSearch를 이용해서 관리하도록 개발했습니다.

그 위의 코어 모듈과 서비스로 트랜잭션 처리와 검색 처리 그리고 워크플로우 엔진이 존재하고 이를 바탕으로 멀티테넌트 처리를 위해 워크스페이스를 할당할 수 있도록 워크스페이스 샌드박스가 각각 노드와 노드 타입, 사용자, 컬렉션, 파일 등  의 구성요소로 구현됩니다. 그리고 이러한 부분을 RESTful API 형태로 외부 애플리케이션에서 쉽게 참조할 수 있도록 하고, 다양한 인증은 페이스북에서도 사용하는 방식인 OAuth2.0 기반으로 인증을 하는 형태로 개발하였습니다.

세 차례에 걸친 개발을 통해서 드디어 비정형 데이터 관리에 최적화된 콘텐츠 관리 SaaS 개발 플랫폼인 GAIA를 출시할 수 있었습니다.

현재 GAIA는 gaia.i-on.net에서 서비스하고 있고, 다음과 같은 기능들을 제공하고 있습니다.

- 멀티 플랫폼: RESTful API 제공을 통해 다양한 결과물을 만들어 낼 수 있습니다. 요즘 CMS 영역에서 Headless CMS라고 하는 강력한 API 기반의 CMS들이 많이 나오고 있는데 GAIA 역시 마찬가지 결과물을 만들어 낼 수 있습니다.

- 워크플로우(Workflow): 기존에 데이터 노드 간의 연관관계를 통해 워크플로우를 ‘고정적’으로 밖에 만들 수 없는 것을 ‘동적’으로 만들어 낼 수 있고, 그리고 비주얼하게 만들어낼 수 있는 형태로 만들어 냈습니다. 일련의 순서로 진행되는 비즈니스 로직을 하나의 API로 정의해서 사용할 수 있도록 했습니다.

- GEO Location: 위도와 경도와 같은 데이터의 위치 정보  를 이용하는 위치 기반 서비스(LBS)에서 유용하게 사용할 수 있도록 했습니다. 특정 위치에서 가까운 상점 정보나 가격 등을 찾는데 활용할 수 있고, 담당자가 이 주제를 바탕으로 회사에서 특허도 받아 직무발명 보상 제도로 돈도 받고  대학원 논문도 써서 석사 학위를 땄다는 후문입니다.

- Push Message: GAIA 자체에서 푸시 알림을 제공하는 서비스입니다. iOS/Android 모두 지원합니다.

- User: OAuth 2.0 표준 기반의 간단하고 안전한 사용자 인증을 제공하고 있고, 회원가입/관리/그룹 등 사용자와 관련된 다양한 기능을 제공하고 있습니다.

- Node: 트리 구조로 데이터를 구성할 수 있고, 해당 노드에 대한 권한 등 여러 가지 제공을 하고 있습니다. 비정형 데  이터 관리를 위해 문서, 이미지, 음악 파일 등 다양한 형태의 멀티미디어 파일을 노드에 저장하고 다운로드할 수도  있습니다.

- Collection: GAIA에서 컬렉션 개념을 지원하는데 이 컬렉션은 데이터베이스에서 테이블과 같은 개념의 비정형 데  이터 저장소입니다. 데이터의 구조와 필드 타입 등을 미리 정의하지 않고도 사용 (스키마 프리, Schema-free) 할 수  있도록 했습니다. 사실 우리 아이온커뮤니케이션즈의 핵심 기술 중의 하나가 이 스키마 프리 관련 기술이라고 보시면  될 것 같습니다.

- API Console: GAIA에서 제공하는 다양한 서비스 API을 이용하는데 필요한 데이터를 검색해서 가져오거나 데이터를 추가/수정/삭제하는데 본 API Console을 통해서 처리 할 수 있습니다.

이러한 기능들을 이용해서 서비스를 만들게 되면 자연스럽게 GAIA에서는 확장성과 고가용성 그리고 분산처리, 강력한 검색, 분석, 스냅샷과 복구 등의 기능은 기본으로 제공해준다는 특징을 가지고 있습니다.


[(그림 1) GAIA 대시보드 기능]

(그림 1) 대시보드 기능으로 현재 관리하고 있는 각 워크스페이스 별 사용 현황을 바로 볼 수 있습니다. 상단에서는 API가 얼마나 요청이 되었는지 시간대 별로 볼 수 있고, 내부에서 사용하는 데모 별 워크스페이스 저장공간과 사용자 수 등을 한 눈에 파악할 수 있습니다.


[(그림 2) 특정 워크스페이스 화면]

(그림 2) 특정 워크스페이스로 들어간 화면. 워크스페이스 별로 상세한 내용을 알 수 있고, 워크스페이스에서 개발 중인 애플  리케이션의 목록과 노드, 노드 타입, 리소스, 컬렉션, 시퀀스, 사용자, 사용자 디바이스, LDAP 사용자 동기화, 이벤트 로그, 바이너리 파일 관리, 세션 등의 기능을 관리할 수 있습니다. 또한, 각 워크스페이스 별로 데이터 저장소/바이너리 저장소 크기를 조정할 수 있고, 노드 개수와 사용자 수 등 다양한 항목을 확인할 수 있어 편리한 관리 기능을 제공하고 있습니다.

▶ 현재 GAIA로 제공되는 서비스

현재 우리 아이온커뮤니케이션즈에서는 GAIA로 다양한 애플리케이션들을 제공, 서비스하고 있습니다. 전자계약 시스템인 eform.io를 시작으로 전자 문서 관리 시스템인 iDrive, 2채널 인증서비스인 2waypin.io, SMB용 문서 보안 시스템인 Office manager, 기업 내 CEO 경영정보 관리시스템인 A9까지 다양한 성격의 서비스를 제공하고 있습니다.


[(그림 3) iDrive 화면]

(그림 3) iDrive 화면. 기업 내에 존재하는 다양한 문서를 쉽게 관리하는 제품으로 문서를 쉽게 공유하고 관리할 수 있는 기능을 가지고 있습니다. 현재 On-premise 형태로 제공하고 있고 조만간 SaaS 형태로 제공할 예정입니다. 공용 문서함과 내 문서함 기능, 구글닥스와의 연동, 각 작업자 PC에 존재하는  문서 파일들을 일괄적으로 iDrive에 업로드하는 기능, 사용자 별 메뉴 설정 기능, 이메일 자동 아카이빙 기능, 승인 기능 등 다양한 기능들을 제공하고 있습니다.


[(그림 4) Office Manager]

(그림 4) iDrive를 바탕으로 BK Solution과 MWStory가 함께 작업해서 SMB 시장용 문서 중앙화, 문서 유출 방지, 프린트 감시, 직원 출퇴근 관리 등을 한 번에 제공하는 솔루션입니다. 2017년 초에 하드웨어 일체형으로 해서 제공할 예정입니다.

 
[(그림 5) Assist 9]

(그림 5) 중소기업 CEO 경영정보 시스템인 A9. 중소기업 운영에 필요한 전자결재, 자금 관리, 영업 활동관리, 인사관리 등 다양한 기능들을 제공하고 있습니다. 현재 베타 버전 출시하고 2017년도에 본격적인 비즈니스 운영 할 예정입니다. 우리 아이온커뮤니케이션즈도 이 시스템을 통해서 회사를 잘 운영하고 있습니다.


[(그림 6) 2WayPIN]

(그림 6) 2채널 인증 서비스인 2Waypin.io 화면입니다. 개인정보를 PC 하나를 통해서만 입력하면 화면 해킹이나 키보드 해킹 등을 통해서 정보가 유출 될 수 있기에 모바일 디바이스와 같은 별도 디바이스로 개인정보를 ‘나눠서 입력’하는 형태를 제공합니다. 아마 이 글을 보는 여러분들도 해외에서 계좌이체를 하거나 일정 금액 이상을 이체할 때 ARS를 통해서 별도로 보안 코드를 입력하는 경우가 있을 텐데 그런 것과 비슷한  형태라고 보시면 됩니다. 

PC를 통해서 패스워드를 입력하지만, ARS를 통해서 하나의 보안 코드를 더 입력해서 정말로 본인이 맞는다고 것을 해주는 서비스이고, 이러한 것을 SMB를 위해서 큰 구축 비용 없이도 할 수 있는 분야라고 생각하시면 됩니다. 현재 여기에 사용된 기술은 내년에 더 재미있는 서비스들로 제공할 예정입니다.


[(그림 7) e.Form 서비스]

(그림 7) 우리 아이온커뮤니케이션즈 서비스의 가장 선발주자인 eform.io 기존 종이로 하던 계약을 태블릿PC와 스마트폰 등 을 통해서 전자계약 형태로 쉽게 처리할 수 있는 서비스를 제공하고 있습니다. 이미 700개사가 사용을 할 만큼 사용자가  증가하고 있는 추세로 아이온커뮤니케이션즈가 서비스 사업을 할 수 있다고 하는 것을 증명해준 서비스입니다.

"GAIA의 미래"

GAIA는 현재 아이온커뮤니케이션즈 서비스 전략에 있어서 최선두에 서고 있습니다. 앞선 서비스 이외에도 내부의 다양한 프로젝트에서 GAIA는 표준 개발 플랫폼으로 사용되고 있고 이를 바탕으로 서비스 형태의 소프트웨어(Software as a Service) 형태로 개발하고 서비스를 런칭하고 있습니다.
GAIA는 완성형이 아닌 아직도 지속적인 업그레이드를 진행  하고 있으며, 워크플로우에 대한 대대적 수정 작업과 IT 자원에 대한 사용자 별 프로비저닝(Provisioning), 보안 강화, SaaS 애플리케이션 개발 환경 강화, API를 직접 만들고 호출할 수 있는 기능, 서버 환경 제공 기능 등을 제공하려고 하고 있습니다.


(주)아이온커뮤니케이션즈

대표자명 : 오재철주소 : 서울특별시 강남구 테헤란로10길 15전화번호 : 02) 3430-1200사업자등록번호 : 229-81-39181

Copyright © I-ON Communications Co., Ltd.

위로가기