클래식한 오픈소스 인프라 'JBoss' 따라잡기
리눅스로 대표되는 오픈소스가 기업의 중요한 인프라로 점차 확대되고 있습니다. 오픈소스를 사용해 보신 개발자나 관리자면 모두들 아는 JBoss에 대해서 오늘 자세히 다뤄보도록 하겠습니다.
기업들의 대표적인 웹서버 환경이자 대표적인 오픈소스 스택인 일명 ‘JBoss - 리눅스 운영체제(L), 아파치 웹서버(A), MySQL(M), PHP(P)’ 시스템이 가상화 및 클라우드 환경으로 확대되어 가고 있습니다. IT관리자나 개발자라면 이 언어들과 프로그램을 잘 다룰 필요가 있을 텐데요, 오늘은 대표적으로 기업 IT환경에서 어떻게 활용되는지 알아보도록 하겠습니다. 다소 어려운 내용들이 많기 때문에 네이버에서 와스고수(http://www.wasgosu.co.cc/)라는 블로그를 운영하고 계신 파워블로거이자 전문가인 ktds 미들웨어기술팀에서 JBoss를 담당하고 있는 이정현 님을 모셔봤습니다.
ㅇ JBoss의 구성요소에 대해서 설명 부탁 드립니다.
먼저 JBoss Appication Server에 대해서 설명 드리도록 하겠습니다. JBossAS는 업계에서 가장 널리 사용되는 자바어플리케이션 서버입니다. JBossAS는 엔터프라이즈 자바 어플리케이션, 웹어플리케이션, 포탈을 개발하고 배포하기 위한 J2EE인증 플랫폼이며, 클러스터링, 캐싱, 영속성 서비스 같은 확장 엔터프라이즈 서비스들 또한 제공합니다. JBossAS는 100% 순수 자바로 구현이 되어있으며, 서비스 지향적인 마이크로 커널 아키텍처에 기반하고 있습니다.
먼저 JBoss Appication Server에 대해서 설명 드리도록 하겠습니다. JBossAS는 업계에서 가장 널리 사용되는 자바어플리케이션 서버입니다. JBossAS는 엔터프라이즈 자바 어플리케이션, 웹어플리케이션, 포탈을 개발하고 배포하기 위한 J2EE인증 플랫폼이며, 클러스터링, 캐싱, 영속성 서비스 같은 확장 엔터프라이즈 서비스들 또한 제공합니다. JBossAS는 100% 순수 자바로 구현이 되어있으며, 서비스 지향적인 마이크로 커널 아키텍처에 기반하고 있습니다.
JBoss Application Server 구성도 (JBossAS)
JBoss는 총 5가지 구성요소로 이루어져 있습니다.
Minimal(최소 설정) - JBoss 시작에 필요한 최소한만 포함됨. 로깅, JNDI서버, URL 디플로이먼트 스캐너만 포함되며
웹 컨테이너나 EJB, JMS지원은 포함되지 않음.
Default -기본 Java EE 5 서버 프로파일. Java EE 어플리케이션 디플로이시 자주 사용되는 기본적인 구성요소를 포함.
JAXR서비스, IIOP서비스, 클러스터링 관련 서비스는 미포함
Standard - JavaEE 5 인증을 받은 JBoss 구성
All - 모든 사용 가능한 서비스가 포함되어 있음. RMI/IIOP와 클러스터링 등을 포함함
Web - 경량 웹컨테이너 기반의 서비스(Java EE 6 웹 프로파일을 미리 맛볼 수 있음)
이렇게 5가지 서비스가 기본적으로 제공되며, 사용 목적에 따라 시스템을 구축할 수 있습니다.
ㅇ 오픈소스를 기반으로 하는 JBoss에 대응이 되는 벤더사들의 제품은 어떤 것이 있나요?
JBoss에 대응되는 벤더사들은 크게 국내에서 활약중인 JEUS와 WebSphere, WebLogic 정도로 구분할 수 있습니다.
TmaxSoft의 JEUS
IBM의 WebSphere
Oracle의 WebLogic
ㅇJBoss는 웹서버 환경에 적합하지, 기업의 중요 인프라에 쓰는 것은 무리라는 주장도 있습니다. JBoss진영의 솔루션을 안정성과 가용성 측면에서 벤더사의 제품과 비교한다면요?
JBoss에 대한 Gartner평가
위 그림처럼 가트너 보고서에서는 JBoss를 우수한 S/W로 평가했습니다. 2011년에는 세계 2000대 IT조직의 50% 가량이 공개 SW를 채택할 것으로 보고 있으며, 2013년까지 클라우드 컴퓨팅 분야의 90%는 공개SW에 의존할 것으로 예상을 한다고 발표했습니다. 그 중심에 바로 JBoss 가 있습니다. JBoss가 기업용 인프라에 적합하지 않다는 말은 사실과 다르다고 할 수 있습니다.
ㅇ 그렇다면 JBoss는 벤더사의 제품을 완전히 대체할 만큼 완벽한 건가요?
JBoss와 상용WAS 비교
아직까지는 완전히 'Yes'라고 대답하기는 어려울 것 같습니다. 일정 부분 상용S/W보다 미흡한 점이 있습니다. JBoss를 운영하면서 한가지 아쉬운 점이 있다면, 상용 WAS에 비하여 실시간 모니터링 관리자콘솔지원이 약하다는 것입니다. 관리자나 개발자가 JMX를 이용해서 자신이 원하는 항목만 직접 모니터링을 할 수 있는 방법은 있으나, WAS를 많이 접해보지 않으신 분들에게는 낮설고 조금은 어렵고 불편하다라고 느껴질 수도 있는 부분이기도 합니다. JBoss의 관리자 콘솔 및 모니터링 콘솔은 현재 RedHat에서 꾸준히 보완을 하고 있는 부분이니, 조만간 상용S/W 만큼 괜찮은 관리자 콘솔이 나올 것이라 기대해 봅니다.
ㅇ ktds 내부에서는 오픈소스를 어떤 용도로 활용하고 있나요?
ktds에서는 오픈소스 S/W를 활용한 IT경쟁력 확보를 위해 꾸준한 노력을 하고 있으며, 최근에는 기존 상용S/W에서 오픈 S/W로 Migration을 성공적으로 수행하였습니다. 또한, 사전 교육을 통한 OSS 전문가를 육성하며, OSS Migration 노하우 및 백서를 보유하고 있습니다. 향후에는 사내 표준 OSS Set를 정립하고, 국내 최대의 OSS 전문인력 확보, 기존 시스템의 OSS 전환수행을 목표로 하고 있습니다.
ㅇ 오픈소스도 활발하게 진행되고 있는데, JBoss에 대응하는 새로운 오픈소스들은 어떤 것들이 있나요? 개발자들이 공부해야 하는 최신의 오픈소스를 추천해 주신다면?
오픈소스에 독보적인 위치에 있는 레드햇에서는 JBoss Enterprise Middleware를 기반으로 클라우드 전략인 Paas를 발표했습니다. 현재 시장이 SaaS(Software-as-a-service)라면 PaaS(Platform-as-a-Service)는 클라우드의 두 번째 단계로 받아들이시면 됩니다. 여기서 Paas는 레드햇에서 JBoss Open Choice 전략을 기반으로 한다는 점이 중요합니다. 개발자들이 기존에 사용하는 프로그래밍 프레임워크 또는 Java2EE, POJO, Spring, Struts, GWT, Groovy, Ruby등 다양한 언어를 통해 어플리케이션을 구성하는데, 이것들을 JBoss에서 가능하도록 보완한다는 것입니다. 또한 JBoss는 클라우드 내부에 애플리케이션들을 JBoss 플랫폼 인스턴스 안에 구축하기 위해 다양한 Eclipse 플러그인(Plug-in)을 제공하고 있습니다.
현재로서는 JBoss를 능가할만한 성능과 다양한 기능을 가진 오픈S/W를 찾아보기 힘든 것이 사실입니다. 개발자 분들이 오픈S/W에 관심이 있으시고, 그쪽 분야에서 업무를 보신다면 앞으로 활용도가 높은 JBoss6, JBossESB, Apache, PostgreSQL, RedHat 6 version을 공부하시길 추천해드립니다.














