이 블로그를 통해서 IBM의 이런저런 서비스들, 솔루션들을 소개하곤 했는데 오늘은 이전에 IBM이 클라우드 기반의 플랫폼 서비스(PaaS, Platform as a Service)인 블루믹스(Bluemix)를 소개할까 한다. IaaS, PaaS, SaaS등 클라우드 기반의 다양한 서비스들이 존재하고 각 서비스들은 각각 장점들이 존재한다. 블루믹스는 이들 클라우드 기반 서비스들 중에서 클라우드 플랫폼 서비스로 사용자(혹은 고객)는 이 플랫폼 위에서 웹기반 어플리케이션이나 서비스를 만들 수 있으며 최근 트랜드로 자리잡고 있는 빅데이터 관련 솔루션이나 IoT 관련 솔루션도 블루믹스 위에서 개발할 수 있고, 서비스 할 수 있다. 참고로 IBM은 PaaS 기반의 블루믹스 외에 IaaS 기반의 이 블로그에서 자주 소개했던 소프트레이어나 SaaS 기반의 케넥사, 키리프와 같은 다양한 클라우드 기반 솔루션 플랫폼을 보유하고 있다.


앞서 블루믹스는 PaaS 기반의 서비스라고 했다. PaaS는 플랫폼을 제공하는 클라우드 솔루션이다. 플랫폼이라 함은 어떤 어플리케이션이나 서비스를 구동시키기 위한 기반 장치(하드웨어, 소프트웨어 형태 모두 포함)를 의미한다. 기존에 IT 작업을 하기 위해서는 물리적인 장치 구성부터 했어야 했다. 서버가 필요했으며 데이터를 저장하는 스토리지가 있어야 했다. 또한 이런 것들과 외부를 연결시켜주는 네트워크도 필요했다. 이런 물리적인 기반 시스템이 필요했으며 이런 것들을 클라우드 환경에서 제공해주는 것이 IaaS(Infrastructure as a Service)고 이 블로그에서 종종 소개했던 소프트레이어가 그 대표적인 예이다. 아마존 역시 같은 종류라고 보면 된다. 하지만 이것만으로 서비스를 할 수 없다. 하나의 물리 시스템에서 여러 서비스들을 돌리기 위해서 가상화 시스템도 넣어야 하고 무엇보다도 운영체제(OS)도 있어야 한다. 여기에 데이터베이스나 타 솔루션과의 무난한 연계를 위한 미들웨어도 있어야 하고 자바나 여타 다른 언어를 구동하기 위한 구동환경(Runtime이라고 부르기도 한다. 원래는 다른 의미지만)도 필요하다. 여기까지 제공해주는 것이 PaaS이며 지금 소개하고자 하는 블루믹스가 여기에 속한다. 그리고 여기에 실제로 돌아가는 서비스들까지 함께 제공해주는 것이 SaaS(Software as a Service)이며 위에서 얘기한 케넥사나 세일즈포스닷컴 등이 이 분야에 속한다고 보면 된다. 이렇게 블루믹스는 클라우드 환경에서 어플리케이션을 만들어서 서비스를 해줄수 있는 환경을 제공해주는 IBM의 PaaS 기반 서비스다.


국내의 경우 클라우드 기반의 서비스 플랫폼이 그렇게 많이 활성화가 되어있지 않는 것이 사실이다. 특히나 PaaS는 더하다(IaaS의 경우에는 게임업체나 여러 서비스 업체에서 자신들의 서비스 유지 가격을 낮추기 위해, 효율적인 자원 사용을 위해 많이 이용하곤 한다. 하지만 SaaS나 PaaS는 그 활용도가 IaaS보다는 좀 떨어지는 편이다). IBM은 블루믹스를 통해서 국내의 PaaS 시장을 깨우고자 하는 시도를 하고 있으며 전 세계의 트랜드가 PaaS에 맞춰서 발전하고 있는 만큼 국내에서도 조만간 PaaS 시장이 커지지 않겠는가 하는 생각을 해본다.


블루믹스의 개략적인 설명은 아래의 그림으로 설명이 될 수 있을 듯 싶다.

위에서 언급했듯 블루믹스는 클라우드 기반의 개발 및 서비스 플랫폼을 제공해주는 PaaS 솔루션인 것이다.


그렇다면 블루믹스를 잠깐 사용해보도록 하자. 블루믹스는 [여기]를 통해서 일단 무료로 1달간 체험할 수 있는데 웹개발을 잘하는, 혹은 배우고 있는, 관심이 있는 사용자라면 한번 들어가서 가입해서 한달간 써보면서 클라우드 플랫폼 기반의 서비스 개발은 이런 것이구나 하는 것을 몸으로 깨닫는 것도 좋을 듯 싶다.


가입을 한 후 첫 화면은 위와 같을 것이다. 무료 버전의 경우 20GB의 메모리과 10개의 등록가능 서비스 공간을 제공하며 데시보드에서는 각 상태를 체크할 수 있는 화면을 제공해준다. 클라우드 기반의 어플리케이션과 서비스를 등록할 수 있는데 앞서 얘기했던 것처럼 무료 버전은 10개까지 등록이 가능하다. 테스트로 웹 앱 하나를 등록해보자.

블루믹스는 다양한 앱 방식을 제공해주는데 Node.JS 기반이나 자바 웹스타터 기반, 자바 DB 웹스타터 기반 등을 제공하고 있으며 IoT 스타터 커뮤니티에서 제공해주는 플랫폼도 제공해준다. 런타임도 다양한데 자바 기반과 Node.JS 기반, 루비 온 레일즈 기반 등 다양한 언어를 제공해준다. 원하는 언어를 선택해서 개발할 수 있다.


자바를 선택하고 테스트 환경을 만들어봤다. testwebserver.mybluemix.net이 내 테스트 환경이다. 어떤 이름을 설정하는가에 따라서 테스트 환경의 주소가 만들어진다.


서비스가 생성되고 그에 맞게 환경이 만들어지고 언제든지 어플리케이션을 만들어서 구동시킬 수 있는 환경이 만들어졌다. 


블루믹스는 어플리케이션 개발을 위해 웹에디터를 제공해준다. 또한 이클립스 플러그인도 제공해주기 때문에 사용자가 원하는 개발환경을 선택하면 된다. 기본적으로 이클립스를 통해서 작업하다가 외부에서 이클립스를 사용할 수 없는 환경에서 서비스 수정을 해야 할 경우에 웹에디터를 이용해도 좋을 것이고 처음부터 웹에디터만으로 작업해도 무난할 듯 싶을 정도로 웹에디터도 잘 만들어졌다는 생각이 든다.


웹서비스를 만들기 위한 다양한 방식을 제공하는데 모바일 서비스를 위한 환경, 웹과 어플리케이션을 만들어서 서비스를 하기 위한 환경, DevOps를 위한 환경, 데이터 관리를 위한 환경, 빅데이터를 위한 환경, 보안을 위한 환경, 비즈니스 분석을 위한 환경, IoT를 위한 환경 등 다양한 웹서비스 개발 및 기반 환경을 제공해준다. 원하는 환경을 선택해서 내 서비스에 추가할 수 있다.


그렇다면 이렇게 얼추 만든 서비스가 어떻게 구동된느지 보자. 위에서 테스트로 만든 웹서비스의 주소는 testwebservice.mybluemix.net이라고 했다. 그 주소를 웹브라우저에서 실행시켜보면..

현재는 초기버전으로 만들어두고 다른 서비스를 만들어서 넣지 않았기 때문에 기본적인 이른바 헬로 월드 페이지가 뜬다. 하기사 이름은 하이 월드(Hi World!)지만 말이지. 여기에 내가 만든 서비스들이 들어가게 되면 그 서비스가 뜨게 될 것이다. 내 경우에는 웹 전문 개발자가 아니기 때문에 좀 공부해서 넣어둘 필요가 있겠지만 요즘 많이 사용한다는 Node.JS를 잘 다루는 사용자라면 금방 뚝딱 웹서비스 하나 만들어서 등록하고 써볼 수 있을 듯 싶다.


이렇게 블루믹스의 소개와 간단한 구동에 대해서 살펴봤다. 그렇다면 블루믹스를 이용하면 어떤 잇점이 있을 것인가? 그것에 대해서는 아래의 그림을 보면 알 수 있을 듯 싶다.

오픈 플랫폼이라는 점과 괜찮은 가격 정책, 그리고 뛰어난 확장성 및 향후 확장 가능성이 높은 부분이 블루믹스의 강점이며 높은 점수를 줄 수 있는 요소가 아닐까 싶다.


이렇게 블루믹스에 대해서 가볍게 살펴봤다. 클라우드 기반의 서비스를 만들고 서비스를 하고 싶은데 인프라를 갖추지 못해서 주저하는 경우가 많은데 그런 개발자나 서비스 제공자들에게는 괜찮은 PaaS 플랫폼이 아닌가 하는 생각을 해본다.


"이 포스팅은 한국 IBM의 의뢰로 원고료를 받고 작성되었습니다"

신고
블로그 이미지

스마트하려고 노력하는 학주니

학주니의 시선으로 본 IT 이슈와 사회 전반적인 이슈에 대한 블로그

댓글을 달아 주세요