1) IBM Bluemix 시작
안녕하세요 freeman 입니다.
지난번 첫 강좌에서 "막무가내로 시작해보는 cloud - IBM Bluemix” 제 1강 개요를 다루어 보면서 IBM Bluemix 에 대해 개념을 한번 살펴봤습니다. (http://www.websphere.pe.kr/xe/was_lecture/28346) 해당 강좌는 처음 시작하는 강좌이며 개요 이기 때문에 무언가를 테스트 해보기 전에 IBM Bluemix 가 무엇인지에 대한 용어를 우선 살펴보고 이해해 보는 시간을 가졌습니다. 다시 한번 해당 강좌의 핵심을 꺼내서 살펴보면 IBM Bluemix 는 준비된 서비스를 바로 사용할 수 있는 개발자들을 위한 PaaS 플랫폼 이다라고 이야기 했으며 준비된 서비스는 java, node.js 와 같은 프로그래밍 언어의 코드가 될 수도 있으며 미리 만들어진 서비스가 될 수도 있다고 하였습니다.
첫 강좌를 살펴보면서 이런 저런 cloud 관련 용어를 살펴보면서 IBM Bluemix 를 이해해보려고 했지만 아직 머리 속에 이게 무엇인가라는 고민이 있는 분이 많을 것으로 알고 있습니다. “백문이 불여일타” 라고 했습니다. 이번 강좌에서는 한번 직접 사용해 보면서 IBM Bluemix 가 이런 것이구나 라고 하는 감을 시작해 볼 수 있는 시간을 가져보도록 하겠습니다. 강좌 이름 그래도 막무가내로 시작해보면서 IBM Bluemix 에 대해 시작 및 이해해 보는 시간을 가지도록 하겠습니다.
2) IBM Bluemix 테스트 해보기
IBM Bluemix 를 테스트하기 위해서는 cloud 시스템이기 때문에 접속하기 위한 계정이 필요합니다. 우선 IBM Bluemix 공식 사이트에 접속을 해봅니다.. (https://ace.ng.bluemix.net/)
현재 IBM Bluemix 는 30일간의 free trial 을 누구에게나 다 제공하고 있습니다. Free trial 을 이용해서 IBM Bluemix 를 경험하기 위하여 사이트 대문에 나와있는 “Sign up for a free Bluemix trial” 버튼을 클릭한 후 필요한 정보를 입력합니다.
필요한 정보를 입력한 후 Submit 버튼을 클릭하면 등록된 계정으로 invite 메일이 오며 해당 메일을 통해서 free trial 에 접속이 가능합니다.
등록된 해당 id 를 가지고 free tiral 에 접속을 하면 IBM Bluemix Dashboard 에 접속이 가능합니다. Dashboard 는 영어 뜻 그대로 서비스를 생성/관리하는 대쉬보드 역할을 수행하며 여기서 원하시는 애플리케이션이나 서비스를 추가할 수도 있으며 사용하고 있는 애플리케이션이나 서비스의 상태를 확인하실 수 도 있습니다.
우선 대쉬보드 화면을 보면 눈에 띄는 것은 애플리케이션(Application), 서비스(Service), 애드온(Add-on) 입니다. 이 3가지 용어가 IBM Bluemix 의 실제 서비스를 구성하는 가장 중요한 3가지 요소이며 이 부분을 간략하게 설명하면 하단과 같습니다.
https://www.stage1.ng.bluemix.net/docs/#overview/overview.html#ov_intro
애플리케이션 : 애플리케이션 또는 앱은 개발자가 구축한 산출물을 의미하며 웹 앱과 모바일 앱으로 구분됩니다. 애플리케이션을 어떻게 Bluemix 로 push 했느냐에 상관없이 애플리케이션의 생명 주기는 Bluemix 와 Cloud Foundry 내에서 동일하며 애플리케이션은 다음과 같은 단계로 실제 올라갑니다.
http://docs.cloudfoundry.org/concepts/how-applications-are-staged.html
서비스 : 서비스는 Bluemix 에서 호스팅되는 cloud 확장으로서 앱의 런닝 코드를 통해서 바로 사용이 가능한 다양한 기능성을 제공합니다. 데이터베이스, 메세징, 모바일 앱을 위한 푸쉬 알림, 웹 앱을 위한 탄력적 캐싱등을 포함하여 Bluemix 는 사전에 정의된 다양한 서비스를 제공합니다.
애드온 : 애드온은 애플리케이션의 모니터와 관리를 위한 Bluemix 확장 기능입니다. 애드온은 런닝 코드에 의해서 사용되지 않으나 애플리케이션 관리 기능을 제공하며 다양한 애플리케이션에 대한 통합 관리 목적으로도 사용할 수 있습니다. 대표적으로 제공되는 애드온 기능은 자동 확장, 응답시간, 성능, 가용성 모니터링, 빠른 애플리케이션 개발 계획, on-premises 시스템과 안정적인 통합, 자동화된 빌딩, 테스팅, 개발과 같은 지속적인 전달 등이 있습니다.
해당 내용을 살펴보면 아시겠지만 결국, 개발자가 작성한 산출물은 IBM Bluemix 에서 애플리케이션이 되며 이를 포함하여 DB 나 메세징과 같이 미리 만들어진 다양한 서비스를 추가적으로 사용할 수 있는 것으로 보여집니다. 여기에 덧붙여 관리와 모니터링을 위해서 만들어진 애드온을 활용하여 관리 기능을 손 쉽게 확장할 수 있을 것으로 보입니다.
대략적인 그림이 보여지니 그럼 이제 실제 수행하면서 애플리케이션, 서비스, 애드온이 무엇인지 좀 더 자세히 살펴보도록 하겠습니다.
먼저 애플리케이션을 확인하기 위해서 대쉬보드에서 “Create an App” 버튼을 클릭하여 애플리케이션을 생성해 보도록 하겠습니다. 해당 버튼을 클릭하면 하단과 같은 카테고리를 확인할 수 있습니다.
화면을 보시면 아시겠지만 Boilerplates 와 Runtimes 로 두개의 그룹이 있고 그 안에 다양한 컴포넌트가 있는 것을 확인할 수 있습니다. Boilerplates 에는 “새로운 앱을 지금 바로 시작할 수 있습니다.” 라는 문구가 있으며 Runtimes 에는 “선택한 언어를 가진 애플리케이션을 수행할 수 있습니다.” 라고 되어 있습니다.
이와 같은 차이가 발생하는 부분은 Runtimes 는 컴포넌트를 확인해보면 쉽게 이해할 수 있듯이 Java, Node.js, Ruby on rails 와 같이 특정 언어를 수행하는 런타임을 제공합니다. (사용자가 원한다면 이전 강좌에서 언급한 Cloud Foundry의 Buildpack 을 통해서 원하는 런타임을 추가 해서 사용할 수도 있습니다. ) Boilerplates 는 런타임을 포함한 확장 개념으로 서비스를 미리 엮어 놓은 것으로 보이며 Java Web Starter 라는 Boilerplates 를 자세히 보면 하단과 같이 Java 런타임에 Web 쪽에서 많이 Data Cache 가 추가되어 있는 형태를 볼 수 있습니다.
“Internet of Things Starter” 를 살펴봐도 위와 유사하게 Node.js 런타임에 Cloudant NoSql 서비스가 추가된 형태인 것을 확인할 수 있습니다.
결국 애플리케이션은 java, node.js 와 같은 언어를 지원하는 런타임을 제공하거나 좀 더 편리하게 미리 이런 런타임과 꼭 필요한 서비스가 같이 엮어 있는 Starter 형태의 Boilerplates 를 제공하는 것으로 보입니다.
그럼 Java 를 개발해보기 위해서 Liberty for Java 라고 되어 있는 런타임을 클릭하고 적합한 이름을 넣어준 후에 Create 버튼을 클릭합니다. (이때 Host 정보가 향후 접속하기 위한 도메인 정보입니다.)
(여기서 Liberty 란 IBM WAS Liberty 를 의미하며 쉽게 설명 드리면 톰캣 하고 비슷하게 경량화한 Java 기반의 Web Application Server 입니다.(톰캣 대비하여 Java EE Web Profile 을 지원하고 OSGi 기반으로 되어 있음) IBM WAS Liberty는 개발 목적으로 무료 다운로드 가능하며 크기가 50MB 이하의 모듈식의 런타임을 가져 재시작이 5초 이내로 획기적으로 향상되었고 server.xml 이라는 단일 설정으로 모든 설정이 가능하여 개발 생산성을 높인 경량화된 IBM WAS 이며 차세대 IBM WAS 역할을 노리고 있는 WAS 입니다.
IBM WAS Liberty 에 더 궁금하신 분들은 추가로 WebSphere 사용자 그룹의 Liberty 강좌 (http://www.websphere.pe.kr/xe/index.php?mid=was_lecture&page=2&document_srl=1785) 를 살펴보시거나 http://www.ibmdw.net/wasdev/ 를 살펴보시기 바라겠습니다. )
생성이 문제없이 되면 하단과 같이 지금 만든 런타임에 대한 대쉬보드에 방금 만든 애플리케이션이 수행중인 것을 모니터링 할 수 있습니다.
그리고 등록된 이름으로 브라우저를 통해서 접속하시거나 Routes 에 있는 주소를 클릭하시면 하단과 같이 바로 운영되는 서비스를 즉시 확인할 수 있습니다. 현재는 아무런 애플리케이션을 넣지 않았으므로 기본적인 Hi World 화면만 확인할 수 있습니다. 단순해 보이긴 하지만 PaaS 의 개념 그대로 클릭해서 바로 Java 서비스를 구동하신 것입니다.
또한, “View Quick Start” 버튼을 클릭하면 어떻게 해당 애플리케이션에 접속하며 개발된 Java 코드를 올릴 수 있는지 간단한 가이드를 확인할 수 있습니다.(이 부분은 추후 다른 강좌로 다루겠습니다.)
수행중인 애플리케이션을 클릭하게 되면 런타임 대쉬보드를 확인할 수 있으며 해당 대쉬보드를 통해서 몇 개의 인스턴스를 사용하고 있으며 메모리 할당량과 사용량, 가용한 메모리량 등을 확인할 수 있습니다. 또한, 추가적으로 환경변수 같은 것을 집적 런타임 대쉬보드에서 추가할 수도 있습니다.
해당 대쉬보드에서 “Files and Logs” 탭을 클릭하면 cloud 환경이지만 일반 환경과 동일하게 각종 로그나 설정파일을 직접 확인 및 수정 가능한 화면을 확인할 수 있습니다.
이렇게 애플리케이션을 추가하게 되면 특정 언어에 대한 런타임 환경을 만들 수 있으며 향후 이를 통해서 개발자들이 원하는 코드를 입력/수행할 수 있습니다.
다음으로 “Add a Service” 버튼을 클릭하면 추가 가능한 다양한 서비스들을 확인할 수 있습니다.
기언급 했던 것처럼 DB 부터 Big Data, 보안까지 미리 만들어진 서비스가 다양하게 존재하고 여기서 필요한 서비스를 선택해서 사용하면 됩니다.
예를 들어 Data Cache 서비스를 추가하기 위하여 선택해보면 하단과 같이 지금 만든 애플리케이션에 추가하여 서비스를 생성할 수 있습니다.
여기서 서비스를 생성하게 되면 해당 애플리케이션이 서비스를 인식하기 위해 재시작 되고 해당 서비스 추가가 완료됩니다. 마지막으로 애드온을 추가하기 위하여 “Create Add-on” 버튼을 클릭하면 하단과 같은 카테고리를 확인할 수 있습니다.
해당 카테고리에서 가장 직관적으로 이해하기 쉬운 자동 확장 애드온을 추가해보면 하단과 같이 무상으로 바로 사용 가능한 것을 확인할 수 있습니다. 단순하게 “Create” 버튼을 클릭해서 사용가능하며 해당 애드온이 추가되면 대쉬보드에서 통합적으로 확인이 가능합니다.
이에 대한 세부 설정을 하기 위하여 추가된 자동 확장을 직접 클릭합니다. 자동확장을 위한 세부 메뉴를 확인할 수 있으며 정책을 정의할 수 있는 메뉴가 나타납니다. 여기서 정책 생성 버튼을 클릭합니다.
자동 확장 정책은 하단에 보시는 것처럼 아주 직관적이고 단순하게 몇 개의 인스턴스까지 늘릴 것이고 어떤 것을 조건(CPU, Java Heap, Memory) 으로 할지를 Rule 형태로 입력하면 됩니다.
이렇게 클릭만으로 자동 확장 애드온을 지금 등록한 애플리케이션에 쉽게 적용 가능합니다.
3) IBM Bluemix 시작 - 정리
어떻게 한번 쭉 만드는 형태로 직접 해보시니 IBM Bluemix 에 대한 이해에 도움이 되시나요?
저도 테스트를 해보며 아직 이해를 하는 중이라 정확하게 정리하기는 힘들지만 좀 더 다듬어서 머리 속에 활용하는 방안을 그려보면 미리 만들어진 다양한 서비스를 활용하면서 실제 서비스를 만들고, 기업의 핵심이 되는 비즈니스 로직 부분을 애플리케이션으로 만들고 이에 대해 기업 관점에서 반드시 필요한 관리/모니터링과 같은 항목을 애드온을 통해서 구축하는 형태가 되지 않을까 합니다. 결국은 IBM Bluemix 는 기본적으로PaaS 라고 칭하기는 하지만 보다 더 들어가보면 Gartner 에서 좀 더 PaaS 를 세분한 aPssS (application Platform as a Service) 라는 개념이 더 맞는 것으로 보이며 이미 만들어진 다양한 서비스와 애드온을 통해서 기업 또는 개발자가 실제로 필요한 부분 (곧, 애플리케이션) 만 집중해서 개발 하게 되면 나머지는 미리 만들어진 서비스와 애드온을 통해서 실제 기업과 같이 서비스할 수 있게 만든 플랫폼이 아닌가 합니다.
이 말은 다시 생각해보면 IBM 의 입장에서는 경우 얼마나 다양하고 쉽게 미리 정의된 서비스를 제공할 것이며 얼마나 기업에서 필요한 정책과 관리 부분을 커버하여 애드온을 제공할지에 따라서 다른 cloud 와 차별점을 두고 Bluemix 를 개발자나 기업에 인지시킬 수 있을 것인가가 결정되지 않을까 합니다.
주저리 주저리 이야기가 좀 추가 되었긴 하지만 이번 강좌를 통해서 IBM Bluemix 를 이해하는데 한발 더 다가서기를 바라며 이번 강좌는 여기에서 줄이도록 하겠습니다. ^^&;
9) 참고 자료
1. Bluemix Overview
https://www.ng.bluemix.net/docs/#overview/overview.html#overview
'IBM - old > IBM Bluemix' 카테고리의 다른 글
처음 사용자를 위한 IBM Bluemix 한글 튜토리얼 (0) | 2016.06.07 |
---|---|
막무가내로 시작해보는 cloud - IBM Bluemix - 5. 서비스 추가 및 연결 (0) | 2016.06.07 |
막무가내로 시작해보는 cloud - IBM Bluemix - 4. Eclipse 를 활용한 IBM Bluemix 연동/개발 (0) | 2016.06.07 |
막무가내로 시작해보는 cloud - IBM Bluemix - 3. 개발 (0) | 2016.06.07 |
막무가내로 시작해보는 cloud - IBM BlueMix - 1. 개요 (0) | 2016.06.07 |
댓글