검수요청.png검수요청.png

"와일드플라이"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(새 문서: '''와일드플라이'''<!--와일드 플라이-->(WildFly)는 미국 레드햇(Red Hat)이 관리하는 오픈소스 웹 애플리케이션 서버(WAS) 제품의 이름...)
 
 
(사용자 6명의 중간 판 85개는 보이지 않습니다)
1번째 줄: 1번째 줄:
 +
[[파일:와일드플라이 로고.png|썸네일|200픽셀|'''와일드플라이'''(WildFly)]]
 +
[[파일:와일드플라이 글자.png|썸네일|300픽셀|'''와일드플라이'''(WildFly)]]
 +
[[파일:마크 플뢰리.jpg|썸네일|200픽셀|'''[[마크 플뢰리]]'''(Mark Fleury)]]
 +
 
'''와일드플라이'''<!--와일드 플라이-->(WildFly)는 미국 [[레드햇]](Red Hat)이 관리하는 [[오픈소스]] [[웹 애플리케이션 서버]](WAS) 제품의 이름이다. 기존 명칭은 '''제이보스'''<!--제이 보스-->(JBoss)였으나, 2014년 11월 와일드플라이(WildFly)로 이름이 변경되었다.
 
'''와일드플라이'''<!--와일드 플라이-->(WildFly)는 미국 [[레드햇]](Red Hat)이 관리하는 [[오픈소스]] [[웹 애플리케이션 서버]](WAS) 제품의 이름이다. 기존 명칭은 '''제이보스'''<!--제이 보스-->(JBoss)였으나, 2014년 11월 와일드플라이(WildFly)로 이름이 변경되었다.
 +
 +
== 개요 ==
 +
와일드플라이란 제이보스(JBoss)-AS와 JBoss-EAP라는 이름을 구분하기 위해 만들었다. 일반적으로 JBoss라는 용어를 사용할 때는 JBoss-AS를 지칭하는 것이지만, 2013년[[레드햇]]은 제이보스라는 용어가 JBoss-EAP를 불리게 만들기 위해서 JBoss-AS 8부터는 '와이드플라이(Wildfly) 8'이라는 이름으로 변경하기로 했다. 또한, 커뮤니티 사이트도 JBoss.org에서 wildfly.org로 변경했다.<ref>beom3, 〈[https://beom3.tistory.com/30 JBoss - JBoss의 AS/EAP 그리고 Wildfly란 무엇일까?]〉, 《티스토리》, 2016-10.27</ref>
 +
와일드플라이(WildFly)는 [[자바]](Java)를 기반으로 하는 오픈 소스 미들웨어의 총칭이다. 대표적으로 Java EE 스펙을 지원하는 제이보스 애플리케이션 서버가 있다. 현재 40개 이상의 다양한 프로젝트가 있으며, Jboss.org 커뮤니티에 의해 개발 및 운영되고 있다. 제이보스는 각 프로젝트의 핵심 개발자를 Jboss Inc.의 직원으로 고용하고 있으므로 오픈 소스의 프로젝트이면서 직원으로 고용하면서 제품 개발을 계속하는 독특한 형태를 취하고 있다. Jboss Inc.는 [[소프트웨어]]를 프리 라이선스로 제공하면서 지원 서비스를 판매하여 수익을 올리고 있다. 2006년에는 상용 리눅스 밴더인 레드햇에서 인수하여 제이보스 프로젝트를 운영하고 있다. 2007년부터는 레드햇은 각종 컴포넌트의 제공 및 보증 및 통합 품질 테스트를 완료한 제이보스 소프트웨어를 제이보스 엔터프라이즈 미들웨어로 제공하고 있다. 2014년 11월 20일 레드햇은 기존 제이보스의 이름을 와일드플라이(WildFly)로 변경했다.<ref>와일드플라이 위키백과 - https://ko.wikipedia.org/wiki/%EC%99%80%EC%9D%BC%EB%93%9C%ED%94%8C%EB%9D%BC%EC%9D%B4</ref>
 +
 +
== 역사 ==
 +
1999년에 프랑스의 '''[[마크 플뢰리]]'''(Marc Fleury)는 제이보스(JBoss)라는 이름의 작은 [[오픈소스]] 프로젝트를 시작했다. 이 프로젝트는 제이보스라는 이름의 유래와 같이 J2EE(Java 2 Enterprise Edition) 명세서의 부분을 구현하기 위한 목적이었다. 이 프로젝트가 점차 유명해짐에 따라 제이보스 개발자들은 제이보스 프로젝트 관련 문서, 컨설팅 서비스, 교육 서비스를 판매하기 시작했다. 2001년에 같이 일하던 동료들은 JBoss Group.LLc 라는 법인을 설립했고 2002년에는 상을 수상하게 되면서 오픈 소스 JavaEE(Java  Enterprise Edition) 서버로 세계적으로 인정받게 되었다. JBoss AS3를 개발하면서 [[웹스피어]]WebSphere), [[웹로직]](WebLogic) 같은 독점 소프트웨어 제품들과 경쟁할 만큼 성장하게 되며 2004년에 JBoss, ICL. 로 사명을 변경했다. JBoss AS 4를 출시하면서 기업들을 위한 제품 기술 지원 서비스를 제공하기 시작했고, 많은 컴포넌트들이 JBoss AS 이외에 독립적으로 동작할 수 있도록 했다. 2006년에 레드햇(Red Hat)은 JBoss, INC.를 인수하게 되면서 JBoss 프로젝트는 레드햇에 인수되었다. 레드햇은 오픈소스 커뮤니티 프로젝트인 제이보스 커뮤니티의 여러 컴포넌트를 조합하여 패키징하고 엔터프라이즈 수준의 품질 테스트를 거쳐 안정성과 품질을 높인 기업용 오픈 소스 [[미들웨어]] 제품으로 "제이보스 앤터프라이즈 미들웨어(JBoss Enterprise Middleware)"를 제공하기 시작했다. JBoss-AS 8부터는 'Wildfly 8'이라는 이름으로 변경해 Wildfly 이랑 JBoss EAP라는 제품을 출시한다.<ref>opennaru 공식 홈페이지 -http://www.opennaru.com/jboss/jboss-eap-origin-and-history/</ref>
 +
 +
== 버전 ==
 +
*2014년 02월 : 와일드플라이(Wildfly) 8.0.0 출시
 +
*2014년 05월 : 와일드플라이(Wildfly) 8.1.0 출시
 +
*2014년 11월 : 와일드플라이(Wildfly) 8.2.0 출시
 +
*2015년 07월 : 와일드플라이(Wildfly) 9.0.0 출시
 +
*2015년 07월 : 와일드플라이(Wildfly) 8.2.1 출시
 +
*2015년 07월 : 와일드플라이(Wildfly) 9.0.1 출시
 +
*2015년 10월 : 와일드플라이(Wildfly) 9.0.2 출시
 +
*2016년 01월 : 와일드플라이(Wildfly) 10.0.0 출시
 +
*2016년 08월 : 와일드플라이(Wildfly) 10.1.0 출시
 +
*2017년 10월 : 와일드플라이(Wildfly) 11.0.0 출시
 +
*2018년 02월 : 와일드플라이(Wildfly) 12.0.0 출시
 +
*2018년 05월 : 와일드플라이(Wildfly) 13.0.0 출시
 +
*2018년 08월 : 와일드플라이(Wildfly) 14.0.0 출시
 +
*2018년 09월 : 와일드플라이(Wildfly) 14.0.1 출시
 +
*2018년 11월 : 와일드플라이(Wildfly) 15.0.0 출시
 +
*2019년 01월 : 와일드플라이(Wildfly) 15.0.1 출시
 +
*2019년 02월 : 와일드플라이(Wildfly) 16.0.0 출시
 +
*2019년 05월 : 와일드플라이(Wildfly) 17.0.0 Beta1 출시
 +
*2019년 06월 : 와일드플라이(Wildfly) 17.0.0 출시
 +
*2019년 07월 : 와일드플라이(Wildfly) 17.0.1 출시
 +
 +
== 특징 ==
 +
와일드플라이(Wildfly)는오픈소스 소프트웨어(Software)로의 전환/구축을 통한 소프트웨어 초기 도입 비용과 유지보수 비용이 절감되고 논스톱(Non-Stop) 서비스로 관리 리소스가 감소하며, 전문 엔지니어를 통한 운영 담당자 및 기업의 인적 리소스 부담이 경감되어 비용이 절감된다. 그리고 경량화된 유여한 [[아키텍처]] 로 마이크로서비스와 기존에 있는 애플리케이션에 잘 맞는 와일드플라이는 기존에 있는 애플리케이션에서 새로운 웹 스케일 마이크로서비스애플리케이션까지, 비즈니스에서 요구하는 애플리케이션을 구축하는데 필요한 유연성을 제공한다.  개발자 생산성 향상에도 도움을 주는데 자바(Java) EE 및 스프링(Spring), 스프링 웹 플로우(Spring Web Flow), 스프링 웹서비스(Spring Ws), 스프링 써큘리티(Spring Security)와 같은 다양한 Java EE 웹 기반 [[프레임워크]]에 대한 지원이 기본적으로 제공된다. 이를 통해 생산성을 높이고, 품질 문제를 낮추며 새로운 앱 추리 시간을 단축할 수 있다. 마지막으로 유연성 관리, 구성 및 운영도 있는데 와일드플라이는 관리 콘솔 사용자 [[인터페이스]]를 통해 직관적인 탐색과 대규모 [[도메인]] 메인 구성 기능을 제공한다. 명령 줄 인터페이스를 통해 구성 및 하위 시스템을 한 번에 빠르게 확인하고 온라인 상태가 아닌 오프라인 상태에서도 서버를 관리할 수 있다.
 +
그리고 여러 가지 특징들이 더 있는데 우선 커뮤니티가 패치 재적용에 필요한 리소스를 보유하지 못한 경우에는 사용자는 해당 픽스를 사용할 수 없고, 마니어 릴리즈 간 API가 변경될 수 있고, 이전 버전에 대한 지원이 보장되지 않고, 모든 사항에 대해 패치를 보장하지는 않으며, 다음 릴리즈로 업그레이드해야 할 수 있고, 커뮤니티를 통해 테스트와 검증을 거쳐야 하는 완성되지 않은 코드들이 릴리즈되므로, 사용자가 스스로 처리해야 할 부분이 많으며, 문제를 해결하지 못한 채로 남아있어야 하는 경우도 발생할 수 있고, 새롭게 발전한 부분이 별도의 패치로 제공되지 않고, 다른 커뮤니티의 결과물들과 섞여 있고, 커뮤니티를 통해 제공되는 지원 이외에 다른 지원이 확실치 않고, 실험적인 프로젝트나 검증되지 않은 코드들도 속해 있을 수 있고, 통합되어 있는 기능들 중 다른 커뮤니티의 프로젝트로부터 나온 결과물에 대해서는 3rd 파티에 기댈 수밖에 없고, 별도의 보안 대응 체계가 준비되어 있지 않고, 문제가 발생할 경우, 커뮤니티에 요청해 볼 수는 있지만, 모든 문제가 해결된다는 보장이 없고, 현지화되어 있지 않고, 품질 보증 프로세스가 따로 존재하지 않고, 테스트 구성 정도의 보증만이 제공되고, 별도의 파트너 인증이 없으며, 호환성에 관해서 보장할 수 없고, ISV(independent software vendor) 리스트, 호환성 가이드를 제공하지 않는다.
 +
 +
;막강한 행정
 +
와일드플라이(WildFly)의 구성은 애플리케이션 서버의 설정을 변경하기 위해 거친 추격을하기보다는 중앙 집중적이고 간단하며 사용자 중심이다. 구성 파일은 쉽게 이해할 수 있고 내부 서버 배선이 드러나지 않는 서브 시스템으로 구성된다. 서브 시스템은 인텔리전트 기본값을 사용하지만, 필요에 따라 사용자 정의 할 수 있다. 도메인 모드에서 실행 중인 경우 도메인에 참여하는 모든 서버의 구성은 동일한 파일 내에서 잘 구성된 방식으로 지정된다. 구성 변경은 파일 편집에만 국한되지 않는다. 모든 관리 기능은 다양한 형태의 액세스에 걸쳐 통일된 방식으로 제공된다. 여기에는 CLI(Command Line Interface), 웹 기반 관리 콘솔, 기본 Java API(Application Program Interface), HTTP / JSON 기반 다른(REST) API 및 JMX(Java Management extension ) 게이트웨이(Gateway)가 포함된다.
 +
이러한 옵션을 통해 사용자의 요구에 가장 적합한 도구 및 언어를 사용하여 사용자 지정 자동화를 수행 할 수 있다. WildFly는 전통적인 단일 JVM(Java Verified Machine) 독립 실행형 모드와 여러 [[프로세스]] 및 호스트에서 구성을 동기화하는 다중 JVM 옵션인 도메인 모드라는 두 가지 모드를 제공한다. 앞에서 설명한 모든 관리 기능은 두 가지 모드에서 모두 사용할 수 있다. 그러나 도메인 모드는 모든 시스템에 대한 중앙 제어점인 도메인 컨트롤러를 추가한다. 다른 제품의 솔루션과 달리 도메인 모드는 최소한의 리소스를 사용하도록 설계되었으며 실행 중인 응용 프로그램에 영향을 주지 않으면 실패한다. 또한 도메인이 큰 경우 각 호스트에 런타임 메트릭을 직접 [[쿼리]] 하여 도메인 컨트롤러가 병목 현상을 일으키는 것을 방지 할 수 있다.<ref name='가'>〈[http://www.neoclova.co.kr/openw_wildfly.html WildFly]〉, 《네오클로바》</ref>
 +
 +
;모듈러 자바
 +
계층적 클래스 로더는 문제가 있으며, 종종 배포 오류 및 기발한 동작을 유발한다. 부모 델리 게이션 모델에 작별 인사를 하고 모듈성 (즉, 제정신 클래스 로딩)에 대한 경로를 찾는 때가 왔다. 와이드플라이(WildFly)는 클래스 로딩을 올바르게 한다. 제이보스(JBoss) 모듈을 사용하여 진정한 응용 프로그램 격리를 제공하고 응용 프로그램에서 서버 구현 클래스를 숨기고 응용 프로그램에 필요한 JAR(Java ARchive) 만 연결한다. 클래스 모음으로 패키지화된 모듈은 명시적으로 다른 모듈의 종속성으로 정의되지 않는 한 격리되어있는 피어이다. 가시성 규칙에는 적절한 기본값이 있지만, 사용자 정의 할 수 있다. 제이보스 모듈(JBoss Modules)의 의존성 해결 알고리즘으로,  클래스로드 성능은 설치한 라이브러리 버전의 수에 영향을 받지 않는다. 클래스는 동시에 로드되므로 대용량 배포에서도 빠르게 클래스 검색 및 로드가 가능하다.<ref name="가"></ref>
 +
 +
;특출난 가벼움
 +
와일드플라이(WildFly)는 [[메모리]] 관리에 적극적인 접근 방식을 취한다. 기본 런타임 서비스는 힙 할당을 최소화하기 위해 개발되었으며, 이러한 서비스는 중복된 전체 구문 분석에 대해 캐시 된 인덱싱 된 메타 데이터를 사용하므로 힙 및 개체 변동을 줄일 수 있다. 모듈식 클래스 로딩을 사용하면 시스템 구성에 필요한 것보다 중복 클래스 및 로딩을 방지 할 수 있다. 이렇게 하면 기본 메모리 오버헤드가 줄어들 뿐만 아니라 가비지 수집기가 일시 중지되는 것을 최소화 할 수 있다. 마지막으로 관리 콘솔은 100% 무 상태이며 순전히 클라이언트 기반이다. 즉시 시작되며 서버에 메모리가 필요하지 않는다. 이러한 최적화를 통해 WildFly는 JVM((Java Verified Machine)) 설정 및 소형 장치에서도 실행할 수 있다. 또한 애플리케이션 데이터를 위한 더 많은 여유 공간을 확보하고보다 높은 확장성을 지원한다. 와일드플라이의 아키텍처는 필요에 따라 추가하거나 제거할 수 있는 플러거블 하위 시스템을 기반으로 한다. 이를 통해 필요하지 않은 기능을 제거하고 서버에 필요한 전체 디스크 공간과 메모리 오버헤드를 줄일 수 있다. 이것은 모두 하위 시스템 블록으로 배열된 구성에 의해 제어된다. 하위 시스템을 제거하려면 간단히 해당 구성 블록을 삭제해야 한다.<ref name="가"></ref>
 +
 +
;압도적인 스피드
 +
와일드플라이(WildFly) 8의 고도로 최적화된 부팅 프로세스에서는 서비스가 동시에 시작되므로 불필요한 대기 시간을 줄이고 멀티 코어 프로세서의 성능을 활용할 수 있다. 중요하지 않은 서비스는 처음 사용할 때까지 얼음에 보관된다. 결과적으로 와일드플라이는 이전 버전에 비해 시작 시간이 10배 줄어들었다. 연결성, 응답성 및 확장 기능은 최신 웹 응용 프로그램에서 가장 중요하다. 이러한 요구를 충족시키기 위해 언더토우(Undertow) 라고 하는 새로운 유연한 고성능 웹서버를 개발했으며 와일드플라이 8의 필수 요소이다. Undertow는 1백만 개 이상의 연결로 확장 할 수 있다.<ref name="가"></ref>
 +
 +
===제이보스(JBoss)===
 +
JBossAS(JBoss Application Server)란 오픈소스 Java EE 서버이다. Java EE(Java Enterprise Edition(EE))란 표준에 따라 구현된 서버를 의미한다. Java EE 서버를 흔희 Java EE 서버를 WAS(Web Application Server)라고 부르는데 이러한 서버는 BEA 웹로직(WebLogic), 티맥스 제우스(Tmax JEUS), 아이비엠 웹스피어(IBM WebSphere), 아도브 제이런9(dobe JRUN), 제이보스(JBoss), 아파치 제로니모(Apache Geronimo) 등이 있다.
 +
 +
;모드
 +
제이보스(JBoss) EAP 6에는 웹 서비스의 요구사항에 맞게 이용할 수 있는 독립 모드(Standalone Mode)와 도메인 모드(Domain Mode) 운영 방식을 제공한다. Standalone Mode는 서버 인스턴스마다 개별 관리 기능을 제공하는 방식이고, Domain Mode는 여러 개의 서버 인스턴스를 그룹으로 묶어 관리하는 방식이어서 설정 변경이나 애플리케이션 배포를 중앙에서 한 번에 관리할 수 있다. 두 개의 운영 방식에는 단지 관리 모델의 차이가 있을 뿐이며, 제공되는 서브 시스템은 거의 같이 때문에 기능의 차이는 없다. Standalone Mode의 경우 서버 인스턴스 구성 방법이 매우 간단하여 개발 환경이나 소규모 시스템 영역에 많이 활용되며, Domain Mode의 경우 많은 머신 및 인스턴스를 사용하여 규모가 큰 서비스를 할 경우, 체계적인 환경을 제공하여 손쉽게 여러 개의 인스턴스를 관리할 수 있는 장점이 있다.<ref name='나'>츄잉껌, 〈[https://m.blog.naver.com/umjearo/221301552336 (JBoss)JBoss 소개와 특징]〉, 《네이버 블로그》, 2018-06-18</ref>
 +
 +
*'''독립 모드'''(Standalone Mode) : 인스턴스를 개별적으로 관리할 수 있으며 서버별로 개별 프로세스를 제공하는 방식이다. 별도의 관리 프로세스가 없으며, 여러 개의 독립적인 프로세스를 대상으로 HA 클러스터링을 통해 묶어서 사용이 가능하다.<ref name="나"></ref>
 +
 +
*'''도메인 모드'''(Domain Mode) : 도메인 컨트롤러라고 불리는 프로세스가 전체 도메인 관리를 담당하며 각 머신 상에서 동작하는 호스트 컨트롤러에서 실제 서비스를 담당하는 서버 인스턴스를 관리(설정, 배포, 라이프싸이클 등)한다.<ref name="나"></ref>
 +
 +
;모듈형 클래스 로딩
 +
기존에 사용하던 계층형 클래스 로더를 사용하는 경우에는 부모와 자식 클래스 로더 간에 동일한 클래스의 충돌로 인하여 개발자나 관리자에게 많은 어려움이 있었고, 이를 해결하기 위해 많은 시간을 소모했다. 제이보스(JBoss) EAP 6에서 사용하는 제이보스 모듈(JBoss Modules)은 배포된 모듈마다 검색 범위가 한정되고 그 내부에서도 패키지마다 인덱스되어 있어 신속하게 클래스를 로드할 수 있으며, JBoss Modules을 통해 의존성을 사용하여 애플리케이션에서 사용하는 클래스와의 충돌을 회피할 수 있게 된다.
 +
또한, 애플리케이션이 요청할 때 클래스를 병렬로 빠르게 로드할 수 있는 장점이 있다.<ref name="나"></ref>
 +
 +
;효율적인 메모리 사용
 +
제이보스(JBoss EAP6, JBoss Enterprise Application Platform6) 에서는 정지 시간을 최소화하기 위해 jar 파일에 대한 색인 데이터를 사용하는 방법이나, 모든 클래스를 로딩해 놓는 것이 아니라 애플리케이션에서 사용하는 시점에 로드하는 방법 등 메모리를 효율적으로 사용하기 위한 많은 개선점이 생겼다. 이런 방식을 사용하여 메모리 사용량이 크게 줄었으며, 최적화된 메모리 사용으로 소형 디바이스나 아마존 AWS와 같은 클라우드 환경에서 사용이 쉬워졌다. 또, [[프로파일]](Profile)을 정의하여 애플리케이션에서 사용하지 않는 기능(mail, messaging 등)을 손쉽게 제거할 수 있어 최적화된 상태로 서버를 운영할 수 있다.<ref name="나"></ref>
 +
 +
;인덱스를 이용한 성능 향상
 +
웹 애플리케이션 서버(Web Application Server)에 애플리케이션 배포 시 XML(Extensible Mark-up Language)과 어노테이션 클래스를 리플렉션으로 스캔하는 것은 리소스에 많은 부담을 준다. 이러한 문제를 개선하기 위해 제이보스(JBoss) EAP 6에서는 클래스 인덱스 및 주석 인덱스를 이용하여 클래스 정보를 얻을 수 있으며 한 번 로드 된 클래스 정보는 캐시되어 실제로 호출되는 횟수를 최소화한다. JBoss EAP 6에서 애플리케이션 배포와 관련된 부분들은 jar 파일 내의 클래스들에 대한 인덱스를 만들어 두었다가 사용하기 때문에 클래스를 스캔할 때 발생하는 병목 문제를 해결할 수 있다.<ref name="나"></ref>
 +
 +
;중앙 집중화된 설정 파일과 편리한 관리 도구
 +
기존에 제이보스(JBoss EAP 5, JBoss Enterprise Application Platform 5) 이하 제품에서는 설정 파일을 서비스마다 XML 파일러 여러 디렉토리에 나누어 관리하여 설정 파일을 수정하는 데 많은 불편함이 있었다. JBoss EAP 6에서는 중앙 집중화된 파일을 사용하여 서비스(AJP, Clustering, Data-Source 등)을 관리하기 때문에 편리하게 관리할 수 있다.<ref name="나"></ref>
 +
 +
;CLI를 통한 커맨드 형식의 관리
 +
제이보스(JBoss EAP 6, JBoss Enterprise Application Platform 6)에서는 이전 버전에 비해 사용자가 쉽게 사용할 수 있는 웹 관리 콘솔과 정교한 관리가 가능한 CLI(Command Line Interface) 스크립트 및 외부 애플리케이션과 인터페이스를 위한 설정에 대한 유지보수 및 관리가 가능하다. 또, 변경된 설정에 대한 버전 관리를 지원하기 때문에 구성 파일의 변경내역을 수작업으로 관리해야 하는작업들이 많이 줄게 되었다.<ref name="나"></ref>
 +
 +
=== 관련용어 ===
 +
*'''제이보스'''(JBoss) : 개방형 표준을 기반으로 개발된 오픈소스 미들웨어 플랫폼으로 Java EE(Java Enterprise Edition) 6 인증을 받은 제품이다. 엔터프라이즈 환경에서 미들웨어가 갖추어야 하는 대용량 트랜잭션, 고가용성을 위한 클러스터링, 메시징, 분산 캐싱, 고성능 보장 등의 기술들을 제공한다.<ref name="나"></ref>
 +
 +
*'''레드햇'''(RedHat) : 미국의 오픈 소스 소프트웨어 기업으로, 1993년 밥 영(Bob Young)이 세운 유닉스 잡지 찍던 회사가 1995년 마크 유잉(Marc Ewing)이 만든 레드햇 리눅스(Red Hat Linux)를 인수한 데서 비롯된다. 이름은 유잉이 학교에서 쓰고 다니던 빨간 모자. 사람들이 마크 유잉을 "아 그 빨간모자 쓰고 다니던 놈"으로 기억하였고, 유잉은 자신이 만든 배포판에 레드햇이란 이름을 붙였기 때문이다. 어쨌든 유잉과 밥 영은 레드햇의 공동 창립자가 되어 현재까지 내려오고 있다. 이후 현재 이 회사의 주요 제품은 RHEL의 판매 및 서포트, 오픈스택 기반 클라우드 플랫폼 구축, JBoss 미들웨어 제공 등이 있다.<ref>레드햇 나무위키 - https://namu.wiki/w/%EB%A0%88%EB%93%9C%ED%96%87</ref>
 +
 +
*'''오픈소스'''(Open Source) : FOSS(Free and Open-Source Software)라고도 하며 이 'Free'는 공짜가 아니라 자유의 의미로, 이 약자는 대체로 후술할 GPL 라이선스를 갖는 소프트웨어들을 가리킨다. 따라서 그냥 '오픈 소스 소프트웨어(Open Source Software)'보다 조금 더 좁은 의미다. 어떤 제품을 개발하는 과정에 필요한 소스 코드나 설계도를 누구나 접근해서 열람할 수 있도록 공개하는 것. 보통 소스가 공개된 소프트웨어를 '오픈 소스 소프트웨어'라고 하고, 소프트웨어 말고도 개발 과정이나 설계도가 공개되는 경우 하드웨어에도 오픈 소스 모델이 적용 할 수 있으며, 글꼴과 같은 데이터에도 오픈 소스 개발 모델이 적용되는 경우가 있다. 다만 오픈 소스지만 쓰려면 돈을 내야 하는 것도 있다. 단순히 소스를 공개만 하는 것이 아니라, 이를 2차 창작하는 것을 허용하기도 하고, 나아가 조건 없이 상업적 용도로까지 사용할 수 있게 하는 경우가 있다. 물론 공개만 하고 2차 창작이 안 되는 경우도 있기는 하지만 이 경우는 보통 '오픈 소스'라고 부르지 않는다.<ref>오픈소스 나무위키 - https://namu.wiki/w/%EC%98%A4%ED%94%88%20%EC%86%8C%EC%8A%A4</ref>
 +
 +
== 활용 ==
 +
*'''엘지 씨엔에스'''(LG CNS) : WildFly(와이드플라이)는 엘지 씨엔에스(LG CNS)가 활발히 도입 중임으로, 스마트 디바이스 앱을 다운로드하는 클라우드 웹서비스와 B2C 비즈니스의 핵심으로 평가받는 홈쇼핑 웹서비스, 그룹 내부에서 사용 중인 커뮤니티 [[클라우드]] 서비스는 제이보스로 구축된 대표적인 사례다. 그러나 WAS(Web Application Server) 영역에 오픈소스를 도입하는 과정이 순조롭지만은 않았다. 일각에서는 다소 미흡한 기술지원과 충분한 호환성 검증이 이뤄지지 않았다는 이유로 제이보스 도입을 우려했다. 그러나 LG CNS는 비즈니스 중요도를 고려해 단계적으로 제이보스를 도입함으로써 그 우려를 없앴다. 그 결과, 상용 제품과는 차별화된 비용대비 효과를 얻었고 인프라의 확장성도 크게 향상됐다. LG CNS는 해당 기업 시스템에 상용 제품과 오픈소스 제품 중 어떤 것이 적합한지를 분석하는 매트릭스를 별도로 마련했다. 비즈니스 특성과 시스템 레이어를 비롯해 비용, 오픈소스에 대한 시각, 선호도, 효용성 등 다각적이고 구체적인 기준으로 구성된 매트릭스를 적용해 기업 시스템을 시뮬레이션한 다음 결과를 점수화해 도입 효과를 사전 예측하는 방식이다. 현재 LG CNS는 회사 내부에 오픈소스 도입을 직접 지원하는‘오픈소스 사무국’과 오픈소스 커뮤니티 및 전문가 그룹을 운영하고 있다. 회사는 이들 조직을 바탕으로 전사적 차원의 오픈소스 활성화 정책을 지속 추진해 나갈 방침이다.<ref>OSS, 〈[https://www.oss.kr/oss_case/show/aa3269d8-7eea-4ec3-9123-760ee5fc4507?search_target=title&search_keyword=LG+CNS (공개SW 활용 성공사례 25) LG CNS - 확장성과 비용 효율성 갖춘 웹서비스 환경 구축]〉, 《오에스에스》, 2012-03-13</ref>
 +
 +
*'''산업통상지원부''' : 산하의 연구 전담기관 간에 중복된 사업 추진과 올해 말 산하기관의 지방 분산 이전으로 인한 조직 운영상의 비효율성을 개선하고자 클라우드 시범 풀 사업을 추진했다. 그 결과 공용 클라우드 [[플랫폼]]이 확보돼 업무 효율성 향상과 예산 절감, 유휴 자원 감소, 전력 이용 절감 등의 효과를 거둘 수 있었을 뿐 아니라 국내 소프트웨어(Software) 산업 활성화에도 기여한 것으로 평가된다. 새 정부의 출범과 함께 추진된 정부조직 개편에 따라 통상교섭 및 FTA 업무를 이관 받은 산업통상자원부는 산업, 통상, 자원 분야를 담당하는 실무경제 주무 부처로서 성장동력 창출, 글로벌 전문기업 육성, 지역경제 활력 제고, 글로벌 시장 개척, 안정적인 에너지 확보 등의 정책을 추진해왔다. 그 과정에서 산업통상자원부는 올해 말 예정된 국토 균형 발전을 위한 세종특별자치시로의 이전에 따른 조직 운영상의 효율 개선 방안을 고민해왔고, 그 일환으로 ‘신(新) IT 패러다임’으로서 확산되고 있는 클라우드 도입을 결정했다. 이에 산업통상자원부는 체계적이고 효율적인 클라우드 컴퓨팅 체제로의 전환을 위한 ‘클라우드 서비스 정보화 전략계획(ISP)’ 수행 결과를 토대로 한 ‘클라우드 시범 풀’ 사업을 올해 본격 추진했다.
 +
:산업통상자원부의 연구 전담기관인 한국산업기술진흥원, 한국산업기술평가관리원, 한국에너지기술평가원의 공용 클라우드를 시범 구축하는 클라우드 시범 풀 사업은 2020년 클라우드 산업 강국으로의 진입, 세계적인 국내 기술력 확보, 클라우드 레퍼런스 모델링 개발, 표준화를 통한 클라우드 서비스 확대 등을 주요 목표로 삼았다. 개방형 클라우드 플랫폼으로서 IaaS(Infrastructure as a Service), PaaS(Platform as a Service), SaaS(Software as a Service)를 아우르는 클라우드 시범 풀 사업에는 LIG시스템, 유엔진, 청담정보통신, 이나루티앤티 등의 국내 중견·중소기업이 참여했으며 오픈엑스이엔(OpenXEN), KVM(Kilobyte Virtual Machine), 큐브리드, 에이치에이피록시(HAProxy), Git, 서브버전(Subversion), [[아파치 웹서버]], 제이보스 등의 공개소프트웨어와 유엔진 BPMS(Business Process Management System), 엔키아 제우스, 이나루 데스크톱 등의 공개소프트웨어에 기반한 국산 솔루션이 도입됐다.<ref> OSS, 〈[https://www.oss.kr/oss_case/show/fb452e15-f971-4f85-bc19-3b6a58fa64f6?search_target=title&search_keyword=%EC%97%85%ED%86%B5%EC%83%81%EC%9E%90%EC%9B%90%EB%B6%80 (공개SW 활용 성공사례 92) 산업통상자원부 - 국산 솔루션과 공개SW 일체로 클라우드 시범 풀 구축]〉, 《오에스에스》, 2013-07-09</ref>
 +
 +
*'''예금보험공사''' : 예금보험공사는 공공기관 최초로 업무시스템 운영 환경을 공개소프트웨어로 전환하고 안정화 기간을 거쳐 2016년 1월 말부터 운영하고 있다. 기존 벤더 종속성이 존재하는 금융 공공 기관의 공개소프트웨어 전환 프로젝트로 마이그레이션 프로세스를 통해 안정적으로 전환한 대표적인 사례로 꼽힌다. 이번 프로젝트를 통해 예금보험공사 전체 업무 시스템의 81%를 [[리눅스]] 기반 공개소프트웨어 환경으로 전환하면서 시스템 성능 향상, 운영 및 관리 효율화, 비용 절감 등의 효과를 얻을 수 있었다. 예금보험공사는 그간 노후화된 하드웨어와 소프트웨어의 사용으로 최신 기술 적용 등이 어렵고, 상용제품 위주의 인프라 구성으로 기술 종속성이 증가하여 도입 및 운영에 상당한 비용이 발생하였으며 CPU 사용량 증가와 정보 처리 능력 저하에 따라 예상하지 못한 장애 발생 가능성이 증가하게 되었다.
 +
:이에 따라 노후화된 시스템을 교체하기로 결정하고 2015년 8월부터 12월까지 주전산기 교체 프로젝트를 진행했다. 예금보험공사는 차기 주전산기를 고려하면서 기존의 유닉스 시스템을 신형으로 교체하는 방안과 리눅스 기반의 x86 시스템으로 전환하는 방안을 두고 면밀히 비교 검토했다. 그 결과, 리눅스 기반의 x86 시스템이 더 우수하다는 결론을 내렸으며 특히 서버와 운영체제만 교체하는 것에 머무르지 않고 거의 모든 업무를 공개 소프트웨어 기반으로 전면 전환하기로 했다. 공개 소프트웨어 환경 도입은 전 세계적으로도 중요성을 인지하고 각국 정부 차원에서 정책적으로 활성화를 추진하고 있는 추세다.<ref>OSS, 〈[https://www.oss.kr/oss_case/show/3b7d82f0-dde4-485d-bbd4-c2736bb1a1f5?search_target=title&search_keyword=%EC%98%88%EA%B8%88%EB%B3%B4%ED%97%98%EA%B3%B5%EC%82%AC (공개SW 활용 성공사례 224) 예금보험공사 - 공공기관 최초 “전사적 공개SW 환경” 전환]〉, 《오에스에스》, 2016-11-04</ref>
 +
 +
{{각주}}
 +
 +
== 참고자료 ==
 +
* beom3, 〈[https://beom3.tistory.com/30 JBoss - JBoss의 AS/EAP 그리고 Wildfly란 무엇일까?]〉, 《티스토리》, 2016-10.27
 +
* 와일드플라이 위키백과 - https://ko.wikipedia.org/wiki/%EC%99%80%EC%9D%BC%EB%93%9C%ED%94%8C%EB%9D%BC%EC%9D%B4
 +
* opennaru 공식 홈페이지 - http://www.opennaru.com/jboss/jboss-eap-origin-and-history/
 +
*〈[http://www.neoclova.co.kr/openw_wildfly.html WildFly]〉, 《네오클로바》
 +
* 츄잉껌, 〈[https://m.blog.naver.com/umjearo/221301552336 (JBoss)JBoss 소개와 특징]〉, 《네이버 블로그》, 2018-06-18
 +
* 레드햇 나무위키 - https://namu.wiki/w/%EB%A0%88%EB%93%9C%ED%96%87
 +
* 오픈소스 나무위키 - https://namu.wiki/w/%EC%98%A4%ED%94%88%20%EC%86%8C%EC%8A%A4
 +
* OSS, 〈[https://www.oss.kr/oss_case/show/aa3269d8-7eea-4ec3-9123-760ee5fc4507?search_target=title&search_keyword=LG+CNS (공개SW 활용 성공사례 25) LG CNS - 확장성과 비용 효율성 갖춘 웹서비스 환경 구축]〉, 《오에스에스》, 2012-03-13
 +
* OSS, 〈[https://www.oss.kr/oss_case/show/fb452e15-f971-4f85-bc19-3b6a58fa64f6?search_target=title&search_keyword=%EC%97%85%ED%86%B5%EC%83%81%EC%9E%90%EC%9B%90%EB%B6%80 (공개SW 활용 성공사례 92) 산업통상자원부 - 국산 솔루션과 공개SW 일체로 클라우드 시범 풀 구축]〉, 《오에스에스》, 2013-07-09
 +
* OSS, 〈[https://www.oss.kr/oss_case/show/3b7d82f0-dde4-485d-bbd4-c2736bb1a1f5?search_target=title&search_keyword=%EC%98%88%EA%B8%88%EB%B3%B4%ED%97%98%EA%B3%B5%EC%82%AC (공개SW 활용 성공사례 224) 예금보험공사 - 공공기관 최초 “전사적 공개SW 환경” 전환]〉, 《오에스에스》, 2016-11-04
  
 
== 같이 보기 ==
 
== 같이 보기 ==
 +
* [[마크 플뢰리]]
 
* [[레드햇]]
 
* [[레드햇]]
 
* [[와스]]
 
* [[와스]]
  
{{와스|토막글}}
+
{{와스|검토 필요}}

2020년 8월 11일 (화) 13:17 기준 최신판

와일드플라이(WildFly)
와일드플라이(WildFly)
마크 플뢰리(Mark Fleury)

와일드플라이(WildFly)는 미국 레드햇(Red Hat)이 관리하는 오픈소스 웹 애플리케이션 서버(WAS) 제품의 이름이다. 기존 명칭은 제이보스(JBoss)였으나, 2014년 11월 와일드플라이(WildFly)로 이름이 변경되었다.

개요[편집]

와일드플라이란 제이보스(JBoss)-AS와 JBoss-EAP라는 이름을 구분하기 위해 만들었다. 일반적으로 JBoss라는 용어를 사용할 때는 JBoss-AS를 지칭하는 것이지만, 2013년레드햇은 제이보스라는 용어가 JBoss-EAP를 불리게 만들기 위해서 JBoss-AS 8부터는 '와이드플라이(Wildfly) 8'이라는 이름으로 변경하기로 했다. 또한, 커뮤니티 사이트도 JBoss.org에서 wildfly.org로 변경했다.[1] 와일드플라이(WildFly)는 자바(Java)를 기반으로 하는 오픈 소스 미들웨어의 총칭이다. 대표적으로 Java EE 스펙을 지원하는 제이보스 애플리케이션 서버가 있다. 현재 40개 이상의 다양한 프로젝트가 있으며, Jboss.org 커뮤니티에 의해 개발 및 운영되고 있다. 제이보스는 각 프로젝트의 핵심 개발자를 Jboss Inc.의 직원으로 고용하고 있으므로 오픈 소스의 프로젝트이면서 직원으로 고용하면서 제품 개발을 계속하는 독특한 형태를 취하고 있다. Jboss Inc.는 소프트웨어를 프리 라이선스로 제공하면서 지원 서비스를 판매하여 수익을 올리고 있다. 2006년에는 상용 리눅스 밴더인 레드햇에서 인수하여 제이보스 프로젝트를 운영하고 있다. 2007년부터는 레드햇은 각종 컴포넌트의 제공 및 보증 및 통합 품질 테스트를 완료한 제이보스 소프트웨어를 제이보스 엔터프라이즈 미들웨어로 제공하고 있다. 2014년 11월 20일 레드햇은 기존 제이보스의 이름을 와일드플라이(WildFly)로 변경했다.[2]

역사[편집]

1999년에 프랑스의 마크 플뢰리(Marc Fleury)는 제이보스(JBoss)라는 이름의 작은 오픈소스 프로젝트를 시작했다. 이 프로젝트는 제이보스라는 이름의 유래와 같이 J2EE(Java 2 Enterprise Edition) 명세서의 부분을 구현하기 위한 목적이었다. 이 프로젝트가 점차 유명해짐에 따라 제이보스 개발자들은 제이보스 프로젝트 관련 문서, 컨설팅 서비스, 교육 서비스를 판매하기 시작했다. 2001년에 같이 일하던 동료들은 JBoss Group.LLc 라는 법인을 설립했고 2002년에는 상을 수상하게 되면서 오픈 소스 JavaEE(Java Enterprise Edition) 서버로 세계적으로 인정받게 되었다. JBoss AS3를 개발하면서 웹스피어WebSphere), 웹로직(WebLogic) 같은 독점 소프트웨어 제품들과 경쟁할 만큼 성장하게 되며 2004년에 JBoss, ICL. 로 사명을 변경했다. JBoss AS 4를 출시하면서 기업들을 위한 제품 기술 지원 서비스를 제공하기 시작했고, 많은 컴포넌트들이 JBoss AS 이외에 독립적으로 동작할 수 있도록 했다. 2006년에 레드햇(Red Hat)은 JBoss, INC.를 인수하게 되면서 JBoss 프로젝트는 레드햇에 인수되었다. 레드햇은 오픈소스 커뮤니티 프로젝트인 제이보스 커뮤니티의 여러 컴포넌트를 조합하여 패키징하고 엔터프라이즈 수준의 품질 테스트를 거쳐 안정성과 품질을 높인 기업용 오픈 소스 미들웨어 제품으로 "제이보스 앤터프라이즈 미들웨어(JBoss Enterprise Middleware)"를 제공하기 시작했다. JBoss-AS 8부터는 'Wildfly 8'이라는 이름으로 변경해 Wildfly 이랑 JBoss EAP라는 제품을 출시한다.[3]

버전[편집]

  • 2014년 02월 : 와일드플라이(Wildfly) 8.0.0 출시
  • 2014년 05월 : 와일드플라이(Wildfly) 8.1.0 출시
  • 2014년 11월 : 와일드플라이(Wildfly) 8.2.0 출시
  • 2015년 07월 : 와일드플라이(Wildfly) 9.0.0 출시
  • 2015년 07월 : 와일드플라이(Wildfly) 8.2.1 출시
  • 2015년 07월 : 와일드플라이(Wildfly) 9.0.1 출시
  • 2015년 10월 : 와일드플라이(Wildfly) 9.0.2 출시
  • 2016년 01월 : 와일드플라이(Wildfly) 10.0.0 출시
  • 2016년 08월 : 와일드플라이(Wildfly) 10.1.0 출시
  • 2017년 10월 : 와일드플라이(Wildfly) 11.0.0 출시
  • 2018년 02월 : 와일드플라이(Wildfly) 12.0.0 출시
  • 2018년 05월 : 와일드플라이(Wildfly) 13.0.0 출시
  • 2018년 08월 : 와일드플라이(Wildfly) 14.0.0 출시
  • 2018년 09월 : 와일드플라이(Wildfly) 14.0.1 출시
  • 2018년 11월 : 와일드플라이(Wildfly) 15.0.0 출시
  • 2019년 01월 : 와일드플라이(Wildfly) 15.0.1 출시
  • 2019년 02월 : 와일드플라이(Wildfly) 16.0.0 출시
  • 2019년 05월 : 와일드플라이(Wildfly) 17.0.0 Beta1 출시
  • 2019년 06월 : 와일드플라이(Wildfly) 17.0.0 출시
  • 2019년 07월 : 와일드플라이(Wildfly) 17.0.1 출시

특징[편집]

와일드플라이(Wildfly)는오픈소스 소프트웨어(Software)로의 전환/구축을 통한 소프트웨어 초기 도입 비용과 유지보수 비용이 절감되고 논스톱(Non-Stop) 서비스로 관리 리소스가 감소하며, 전문 엔지니어를 통한 운영 담당자 및 기업의 인적 리소스 부담이 경감되어 비용이 절감된다. 그리고 경량화된 유여한 아키텍처 로 마이크로서비스와 기존에 있는 애플리케이션에 잘 맞는 와일드플라이는 기존에 있는 애플리케이션에서 새로운 웹 스케일 마이크로서비스애플리케이션까지, 비즈니스에서 요구하는 애플리케이션을 구축하는데 필요한 유연성을 제공한다. 개발자 생산성 향상에도 도움을 주는데 자바(Java) EE 및 스프링(Spring), 스프링 웹 플로우(Spring Web Flow), 스프링 웹서비스(Spring Ws), 스프링 써큘리티(Spring Security)와 같은 다양한 Java EE 웹 기반 프레임워크에 대한 지원이 기본적으로 제공된다. 이를 통해 생산성을 높이고, 품질 문제를 낮추며 새로운 앱 추리 시간을 단축할 수 있다. 마지막으로 유연성 관리, 구성 및 운영도 있는데 와일드플라이는 관리 콘솔 사용자 인터페이스를 통해 직관적인 탐색과 대규모 도메인 메인 구성 기능을 제공한다. 명령 줄 인터페이스를 통해 구성 및 하위 시스템을 한 번에 빠르게 확인하고 온라인 상태가 아닌 오프라인 상태에서도 서버를 관리할 수 있다. 그리고 여러 가지 특징들이 더 있는데 우선 커뮤니티가 패치 재적용에 필요한 리소스를 보유하지 못한 경우에는 사용자는 해당 픽스를 사용할 수 없고, 마니어 릴리즈 간 API가 변경될 수 있고, 이전 버전에 대한 지원이 보장되지 않고, 모든 사항에 대해 패치를 보장하지는 않으며, 다음 릴리즈로 업그레이드해야 할 수 있고, 커뮤니티를 통해 테스트와 검증을 거쳐야 하는 완성되지 않은 코드들이 릴리즈되므로, 사용자가 스스로 처리해야 할 부분이 많으며, 문제를 해결하지 못한 채로 남아있어야 하는 경우도 발생할 수 있고, 새롭게 발전한 부분이 별도의 패치로 제공되지 않고, 다른 커뮤니티의 결과물들과 섞여 있고, 커뮤니티를 통해 제공되는 지원 이외에 다른 지원이 확실치 않고, 실험적인 프로젝트나 검증되지 않은 코드들도 속해 있을 수 있고, 통합되어 있는 기능들 중 다른 커뮤니티의 프로젝트로부터 나온 결과물에 대해서는 3rd 파티에 기댈 수밖에 없고, 별도의 보안 대응 체계가 준비되어 있지 않고, 문제가 발생할 경우, 커뮤니티에 요청해 볼 수는 있지만, 모든 문제가 해결된다는 보장이 없고, 현지화되어 있지 않고, 품질 보증 프로세스가 따로 존재하지 않고, 테스트 구성 정도의 보증만이 제공되고, 별도의 파트너 인증이 없으며, 호환성에 관해서 보장할 수 없고, ISV(independent software vendor) 리스트, 호환성 가이드를 제공하지 않는다.

막강한 행정

와일드플라이(WildFly)의 구성은 애플리케이션 서버의 설정을 변경하기 위해 거친 추격을하기보다는 중앙 집중적이고 간단하며 사용자 중심이다. 구성 파일은 쉽게 이해할 수 있고 내부 서버 배선이 드러나지 않는 서브 시스템으로 구성된다. 서브 시스템은 인텔리전트 기본값을 사용하지만, 필요에 따라 사용자 정의 할 수 있다. 도메인 모드에서 실행 중인 경우 도메인에 참여하는 모든 서버의 구성은 동일한 파일 내에서 잘 구성된 방식으로 지정된다. 구성 변경은 파일 편집에만 국한되지 않는다. 모든 관리 기능은 다양한 형태의 액세스에 걸쳐 통일된 방식으로 제공된다. 여기에는 CLI(Command Line Interface), 웹 기반 관리 콘솔, 기본 Java API(Application Program Interface), HTTP / JSON 기반 다른(REST) API 및 JMX(Java Management extension ) 게이트웨이(Gateway)가 포함된다. 이러한 옵션을 통해 사용자의 요구에 가장 적합한 도구 및 언어를 사용하여 사용자 지정 자동화를 수행 할 수 있다. WildFly는 전통적인 단일 JVM(Java Verified Machine) 독립 실행형 모드와 여러 프로세스 및 호스트에서 구성을 동기화하는 다중 JVM 옵션인 도메인 모드라는 두 가지 모드를 제공한다. 앞에서 설명한 모든 관리 기능은 두 가지 모드에서 모두 사용할 수 있다. 그러나 도메인 모드는 모든 시스템에 대한 중앙 제어점인 도메인 컨트롤러를 추가한다. 다른 제품의 솔루션과 달리 도메인 모드는 최소한의 리소스를 사용하도록 설계되었으며 실행 중인 응용 프로그램에 영향을 주지 않으면 실패한다. 또한 도메인이 큰 경우 각 호스트에 런타임 메트릭을 직접 쿼리 하여 도메인 컨트롤러가 병목 현상을 일으키는 것을 방지 할 수 있다.[4]

모듈러 자바

계층적 클래스 로더는 문제가 있으며, 종종 배포 오류 및 기발한 동작을 유발한다. 부모 델리 게이션 모델에 작별 인사를 하고 모듈성 (즉, 제정신 클래스 로딩)에 대한 경로를 찾는 때가 왔다. 와이드플라이(WildFly)는 클래스 로딩을 올바르게 한다. 제이보스(JBoss) 모듈을 사용하여 진정한 응용 프로그램 격리를 제공하고 응용 프로그램에서 서버 구현 클래스를 숨기고 응용 프로그램에 필요한 JAR(Java ARchive) 만 연결한다. 클래스 모음으로 패키지화된 모듈은 명시적으로 다른 모듈의 종속성으로 정의되지 않는 한 격리되어있는 피어이다. 가시성 규칙에는 적절한 기본값이 있지만, 사용자 정의 할 수 있다. 제이보스 모듈(JBoss Modules)의 의존성 해결 알고리즘으로, 클래스로드 성능은 설치한 라이브러리 버전의 수에 영향을 받지 않는다. 클래스는 동시에 로드되므로 대용량 배포에서도 빠르게 클래스 검색 및 로드가 가능하다.[4]

특출난 가벼움

와일드플라이(WildFly)는 메모리 관리에 적극적인 접근 방식을 취한다. 기본 런타임 서비스는 힙 할당을 최소화하기 위해 개발되었으며, 이러한 서비스는 중복된 전체 구문 분석에 대해 캐시 된 인덱싱 된 메타 데이터를 사용하므로 힙 및 개체 변동을 줄일 수 있다. 모듈식 클래스 로딩을 사용하면 시스템 구성에 필요한 것보다 중복 클래스 및 로딩을 방지 할 수 있다. 이렇게 하면 기본 메모리 오버헤드가 줄어들 뿐만 아니라 가비지 수집기가 일시 중지되는 것을 최소화 할 수 있다. 마지막으로 관리 콘솔은 100% 무 상태이며 순전히 클라이언트 기반이다. 즉시 시작되며 서버에 메모리가 필요하지 않는다. 이러한 최적화를 통해 WildFly는 JVM((Java Verified Machine)) 설정 및 소형 장치에서도 실행할 수 있다. 또한 애플리케이션 데이터를 위한 더 많은 여유 공간을 확보하고보다 높은 확장성을 지원한다. 와일드플라이의 아키텍처는 필요에 따라 추가하거나 제거할 수 있는 플러거블 하위 시스템을 기반으로 한다. 이를 통해 필요하지 않은 기능을 제거하고 서버에 필요한 전체 디스크 공간과 메모리 오버헤드를 줄일 수 있다. 이것은 모두 하위 시스템 블록으로 배열된 구성에 의해 제어된다. 하위 시스템을 제거하려면 간단히 해당 구성 블록을 삭제해야 한다.[4]

압도적인 스피드

와일드플라이(WildFly) 8의 고도로 최적화된 부팅 프로세스에서는 서비스가 동시에 시작되므로 불필요한 대기 시간을 줄이고 멀티 코어 프로세서의 성능을 활용할 수 있다. 중요하지 않은 서비스는 처음 사용할 때까지 얼음에 보관된다. 결과적으로 와일드플라이는 이전 버전에 비해 시작 시간이 10배 줄어들었다. 연결성, 응답성 및 확장 기능은 최신 웹 응용 프로그램에서 가장 중요하다. 이러한 요구를 충족시키기 위해 언더토우(Undertow) 라고 하는 새로운 유연한 고성능 웹서버를 개발했으며 와일드플라이 8의 필수 요소이다. Undertow는 1백만 개 이상의 연결로 확장 할 수 있다.[4]

제이보스(JBoss)[편집]

JBossAS(JBoss Application Server)란 오픈소스 Java EE 서버이다. Java EE(Java Enterprise Edition(EE))란 표준에 따라 구현된 서버를 의미한다. Java EE 서버를 흔희 Java EE 서버를 WAS(Web Application Server)라고 부르는데 이러한 서버는 BEA 웹로직(WebLogic), 티맥스 제우스(Tmax JEUS), 아이비엠 웹스피어(IBM WebSphere), 아도브 제이런9(dobe JRUN), 제이보스(JBoss), 아파치 제로니모(Apache Geronimo) 등이 있다.

모드

제이보스(JBoss) EAP 6에는 웹 서비스의 요구사항에 맞게 이용할 수 있는 독립 모드(Standalone Mode)와 도메인 모드(Domain Mode) 운영 방식을 제공한다. Standalone Mode는 서버 인스턴스마다 개별 관리 기능을 제공하는 방식이고, Domain Mode는 여러 개의 서버 인스턴스를 그룹으로 묶어 관리하는 방식이어서 설정 변경이나 애플리케이션 배포를 중앙에서 한 번에 관리할 수 있다. 두 개의 운영 방식에는 단지 관리 모델의 차이가 있을 뿐이며, 제공되는 서브 시스템은 거의 같이 때문에 기능의 차이는 없다. Standalone Mode의 경우 서버 인스턴스 구성 방법이 매우 간단하여 개발 환경이나 소규모 시스템 영역에 많이 활용되며, Domain Mode의 경우 많은 머신 및 인스턴스를 사용하여 규모가 큰 서비스를 할 경우, 체계적인 환경을 제공하여 손쉽게 여러 개의 인스턴스를 관리할 수 있는 장점이 있다.[5]

  • 독립 모드(Standalone Mode) : 인스턴스를 개별적으로 관리할 수 있으며 서버별로 개별 프로세스를 제공하는 방식이다. 별도의 관리 프로세스가 없으며, 여러 개의 독립적인 프로세스를 대상으로 HA 클러스터링을 통해 묶어서 사용이 가능하다.[5]
  • 도메인 모드(Domain Mode) : 도메인 컨트롤러라고 불리는 프로세스가 전체 도메인 관리를 담당하며 각 머신 상에서 동작하는 호스트 컨트롤러에서 실제 서비스를 담당하는 서버 인스턴스를 관리(설정, 배포, 라이프싸이클 등)한다.[5]
모듈형 클래스 로딩

기존에 사용하던 계층형 클래스 로더를 사용하는 경우에는 부모와 자식 클래스 로더 간에 동일한 클래스의 충돌로 인하여 개발자나 관리자에게 많은 어려움이 있었고, 이를 해결하기 위해 많은 시간을 소모했다. 제이보스(JBoss) EAP 6에서 사용하는 제이보스 모듈(JBoss Modules)은 배포된 모듈마다 검색 범위가 한정되고 그 내부에서도 패키지마다 인덱스되어 있어 신속하게 클래스를 로드할 수 있으며, JBoss Modules을 통해 의존성을 사용하여 애플리케이션에서 사용하는 클래스와의 충돌을 회피할 수 있게 된다. 또한, 애플리케이션이 요청할 때 클래스를 병렬로 빠르게 로드할 수 있는 장점이 있다.[5]

효율적인 메모리 사용

제이보스(JBoss EAP6, JBoss Enterprise Application Platform6) 에서는 정지 시간을 최소화하기 위해 jar 파일에 대한 색인 데이터를 사용하는 방법이나, 모든 클래스를 로딩해 놓는 것이 아니라 애플리케이션에서 사용하는 시점에 로드하는 방법 등 메모리를 효율적으로 사용하기 위한 많은 개선점이 생겼다. 이런 방식을 사용하여 메모리 사용량이 크게 줄었으며, 최적화된 메모리 사용으로 소형 디바이스나 아마존 AWS와 같은 클라우드 환경에서 사용이 쉬워졌다. 또, 프로파일(Profile)을 정의하여 애플리케이션에서 사용하지 않는 기능(mail, messaging 등)을 손쉽게 제거할 수 있어 최적화된 상태로 서버를 운영할 수 있다.[5]

인덱스를 이용한 성능 향상

웹 애플리케이션 서버(Web Application Server)에 애플리케이션 배포 시 XML(Extensible Mark-up Language)과 어노테이션 클래스를 리플렉션으로 스캔하는 것은 리소스에 많은 부담을 준다. 이러한 문제를 개선하기 위해 제이보스(JBoss) EAP 6에서는 클래스 인덱스 및 주석 인덱스를 이용하여 클래스 정보를 얻을 수 있으며 한 번 로드 된 클래스 정보는 캐시되어 실제로 호출되는 횟수를 최소화한다. JBoss EAP 6에서 애플리케이션 배포와 관련된 부분들은 jar 파일 내의 클래스들에 대한 인덱스를 만들어 두었다가 사용하기 때문에 클래스를 스캔할 때 발생하는 병목 문제를 해결할 수 있다.[5]

중앙 집중화된 설정 파일과 편리한 관리 도구

기존에 제이보스(JBoss EAP 5, JBoss Enterprise Application Platform 5) 이하 제품에서는 설정 파일을 서비스마다 XML 파일러 여러 디렉토리에 나누어 관리하여 설정 파일을 수정하는 데 많은 불편함이 있었다. JBoss EAP 6에서는 중앙 집중화된 파일을 사용하여 서비스(AJP, Clustering, Data-Source 등)을 관리하기 때문에 편리하게 관리할 수 있다.[5]

CLI를 통한 커맨드 형식의 관리

제이보스(JBoss EAP 6, JBoss Enterprise Application Platform 6)에서는 이전 버전에 비해 사용자가 쉽게 사용할 수 있는 웹 관리 콘솔과 정교한 관리가 가능한 CLI(Command Line Interface) 스크립트 및 외부 애플리케이션과 인터페이스를 위한 설정에 대한 유지보수 및 관리가 가능하다. 또, 변경된 설정에 대한 버전 관리를 지원하기 때문에 구성 파일의 변경내역을 수작업으로 관리해야 하는작업들이 많이 줄게 되었다.[5]

관련용어[편집]

  • 제이보스(JBoss) : 개방형 표준을 기반으로 개발된 오픈소스 미들웨어 플랫폼으로 Java EE(Java Enterprise Edition) 6 인증을 받은 제품이다. 엔터프라이즈 환경에서 미들웨어가 갖추어야 하는 대용량 트랜잭션, 고가용성을 위한 클러스터링, 메시징, 분산 캐싱, 고성능 보장 등의 기술들을 제공한다.[5]
  • 레드햇(RedHat) : 미국의 오픈 소스 소프트웨어 기업으로, 1993년 밥 영(Bob Young)이 세운 유닉스 잡지 찍던 회사가 1995년 마크 유잉(Marc Ewing)이 만든 레드햇 리눅스(Red Hat Linux)를 인수한 데서 비롯된다. 이름은 유잉이 학교에서 쓰고 다니던 빨간 모자. 사람들이 마크 유잉을 "아 그 빨간모자 쓰고 다니던 놈"으로 기억하였고, 유잉은 자신이 만든 배포판에 레드햇이란 이름을 붙였기 때문이다. 어쨌든 유잉과 밥 영은 레드햇의 공동 창립자가 되어 현재까지 내려오고 있다. 이후 현재 이 회사의 주요 제품은 RHEL의 판매 및 서포트, 오픈스택 기반 클라우드 플랫폼 구축, JBoss 미들웨어 제공 등이 있다.[6]
  • 오픈소스(Open Source) : FOSS(Free and Open-Source Software)라고도 하며 이 'Free'는 공짜가 아니라 자유의 의미로, 이 약자는 대체로 후술할 GPL 라이선스를 갖는 소프트웨어들을 가리킨다. 따라서 그냥 '오픈 소스 소프트웨어(Open Source Software)'보다 조금 더 좁은 의미다. 어떤 제품을 개발하는 과정에 필요한 소스 코드나 설계도를 누구나 접근해서 열람할 수 있도록 공개하는 것. 보통 소스가 공개된 소프트웨어를 '오픈 소스 소프트웨어'라고 하고, 소프트웨어 말고도 개발 과정이나 설계도가 공개되는 경우 하드웨어에도 오픈 소스 모델이 적용 할 수 있으며, 글꼴과 같은 데이터에도 오픈 소스 개발 모델이 적용되는 경우가 있다. 다만 오픈 소스지만 쓰려면 돈을 내야 하는 것도 있다. 단순히 소스를 공개만 하는 것이 아니라, 이를 2차 창작하는 것을 허용하기도 하고, 나아가 조건 없이 상업적 용도로까지 사용할 수 있게 하는 경우가 있다. 물론 공개만 하고 2차 창작이 안 되는 경우도 있기는 하지만 이 경우는 보통 '오픈 소스'라고 부르지 않는다.[7]

활용[편집]

  • 엘지 씨엔에스(LG CNS) : WildFly(와이드플라이)는 엘지 씨엔에스(LG CNS)가 활발히 도입 중임으로, 스마트 디바이스 앱을 다운로드하는 클라우드 웹서비스와 B2C 비즈니스의 핵심으로 평가받는 홈쇼핑 웹서비스, 그룹 내부에서 사용 중인 커뮤니티 클라우드 서비스는 제이보스로 구축된 대표적인 사례다. 그러나 WAS(Web Application Server) 영역에 오픈소스를 도입하는 과정이 순조롭지만은 않았다. 일각에서는 다소 미흡한 기술지원과 충분한 호환성 검증이 이뤄지지 않았다는 이유로 제이보스 도입을 우려했다. 그러나 LG CNS는 비즈니스 중요도를 고려해 단계적으로 제이보스를 도입함으로써 그 우려를 없앴다. 그 결과, 상용 제품과는 차별화된 비용대비 효과를 얻었고 인프라의 확장성도 크게 향상됐다. LG CNS는 해당 기업 시스템에 상용 제품과 오픈소스 제품 중 어떤 것이 적합한지를 분석하는 매트릭스를 별도로 마련했다. 비즈니스 특성과 시스템 레이어를 비롯해 비용, 오픈소스에 대한 시각, 선호도, 효용성 등 다각적이고 구체적인 기준으로 구성된 매트릭스를 적용해 기업 시스템을 시뮬레이션한 다음 결과를 점수화해 도입 효과를 사전 예측하는 방식이다. 현재 LG CNS는 회사 내부에 오픈소스 도입을 직접 지원하는‘오픈소스 사무국’과 오픈소스 커뮤니티 및 전문가 그룹을 운영하고 있다. 회사는 이들 조직을 바탕으로 전사적 차원의 오픈소스 활성화 정책을 지속 추진해 나갈 방침이다.[8]
  • 산업통상지원부 : 산하의 연구 전담기관 간에 중복된 사업 추진과 올해 말 산하기관의 지방 분산 이전으로 인한 조직 운영상의 비효율성을 개선하고자 클라우드 시범 풀 사업을 추진했다. 그 결과 공용 클라우드 플랫폼이 확보돼 업무 효율성 향상과 예산 절감, 유휴 자원 감소, 전력 이용 절감 등의 효과를 거둘 수 있었을 뿐 아니라 국내 소프트웨어(Software) 산업 활성화에도 기여한 것으로 평가된다. 새 정부의 출범과 함께 추진된 정부조직 개편에 따라 통상교섭 및 FTA 업무를 이관 받은 산업통상자원부는 산업, 통상, 자원 분야를 담당하는 실무경제 주무 부처로서 성장동력 창출, 글로벌 전문기업 육성, 지역경제 활력 제고, 글로벌 시장 개척, 안정적인 에너지 확보 등의 정책을 추진해왔다. 그 과정에서 산업통상자원부는 올해 말 예정된 국토 균형 발전을 위한 세종특별자치시로의 이전에 따른 조직 운영상의 효율 개선 방안을 고민해왔고, 그 일환으로 ‘신(新) IT 패러다임’으로서 확산되고 있는 클라우드 도입을 결정했다. 이에 산업통상자원부는 체계적이고 효율적인 클라우드 컴퓨팅 체제로의 전환을 위한 ‘클라우드 서비스 정보화 전략계획(ISP)’ 수행 결과를 토대로 한 ‘클라우드 시범 풀’ 사업을 올해 본격 추진했다.
산업통상자원부의 연구 전담기관인 한국산업기술진흥원, 한국산업기술평가관리원, 한국에너지기술평가원의 공용 클라우드를 시범 구축하는 클라우드 시범 풀 사업은 2020년 클라우드 산업 강국으로의 진입, 세계적인 국내 기술력 확보, 클라우드 레퍼런스 모델링 개발, 표준화를 통한 클라우드 서비스 확대 등을 주요 목표로 삼았다. 개방형 클라우드 플랫폼으로서 IaaS(Infrastructure as a Service), PaaS(Platform as a Service), SaaS(Software as a Service)를 아우르는 클라우드 시범 풀 사업에는 LIG시스템, 유엔진, 청담정보통신, 이나루티앤티 등의 국내 중견·중소기업이 참여했으며 오픈엑스이엔(OpenXEN), KVM(Kilobyte Virtual Machine), 큐브리드, 에이치에이피록시(HAProxy), Git, 서브버전(Subversion), 아파치 웹서버, 제이보스 등의 공개소프트웨어와 유엔진 BPMS(Business Process Management System), 엔키아 제우스, 이나루 데스크톱 등의 공개소프트웨어에 기반한 국산 솔루션이 도입됐다.[9]
  • 예금보험공사 : 예금보험공사는 공공기관 최초로 업무시스템 운영 환경을 공개소프트웨어로 전환하고 안정화 기간을 거쳐 2016년 1월 말부터 운영하고 있다. 기존 벤더 종속성이 존재하는 금융 공공 기관의 공개소프트웨어 전환 프로젝트로 마이그레이션 프로세스를 통해 안정적으로 전환한 대표적인 사례로 꼽힌다. 이번 프로젝트를 통해 예금보험공사 전체 업무 시스템의 81%를 리눅스 기반 공개소프트웨어 환경으로 전환하면서 시스템 성능 향상, 운영 및 관리 효율화, 비용 절감 등의 효과를 얻을 수 있었다. 예금보험공사는 그간 노후화된 하드웨어와 소프트웨어의 사용으로 최신 기술 적용 등이 어렵고, 상용제품 위주의 인프라 구성으로 기술 종속성이 증가하여 도입 및 운영에 상당한 비용이 발생하였으며 CPU 사용량 증가와 정보 처리 능력 저하에 따라 예상하지 못한 장애 발생 가능성이 증가하게 되었다.
이에 따라 노후화된 시스템을 교체하기로 결정하고 2015년 8월부터 12월까지 주전산기 교체 프로젝트를 진행했다. 예금보험공사는 차기 주전산기를 고려하면서 기존의 유닉스 시스템을 신형으로 교체하는 방안과 리눅스 기반의 x86 시스템으로 전환하는 방안을 두고 면밀히 비교 검토했다. 그 결과, 리눅스 기반의 x86 시스템이 더 우수하다는 결론을 내렸으며 특히 서버와 운영체제만 교체하는 것에 머무르지 않고 거의 모든 업무를 공개 소프트웨어 기반으로 전면 전환하기로 했다. 공개 소프트웨어 환경 도입은 전 세계적으로도 중요성을 인지하고 각국 정부 차원에서 정책적으로 활성화를 추진하고 있는 추세다.[10]

각주[편집]

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 와일드플라이 문서는 소프트웨어에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.