2014. 12. 25. 12:45

MS, '헤일로 4' 개발 프레임워크 오픈소스로 공개

마이크로소프트(MS)가 인기콘솔게임 '헤일로 4' 개발에 사용했던 클라우드 개발 프레임워크를 오픈소스로 공개한다. 개발자는 이 프레임워크를 사용해 클라우드를 위한 분산 애플리케이션 개발을 쉽게 할 수 있다.

내년 초 오픈소스로 공개되는 분산 클라우드 프로그래밍 모델 ‘올리언스(Orleans)’는 MS 익스트림 컴퓨팅 그룹이 만들어 개발팀에 제공하여 헤일로 4 개발에 사용되었다.

 tl6SBYSIy3Xx6hU8johF

MS 헤일로 4팀에 의하면 이 게임으로 멀티 플레이를 즐기는 사용자는 광범위하다. 그러다보니 동시에 많은 사용자가 한 인프라에 집중된다. 이런 상황에서 원활한 게임 경험을 지원하려면 분산 아키텍처가 필요하고, 인프라가 확장성을 가지면서 높은 성능을 유지해야 한다. 많은 컴퓨트 노드를 안정적으로 운영하는 것도 필수라서 이를 올리언스로 해결했다고 설명했다.

Bh5J7FzbOD2cztxQBnY3

올리언스는 클라우드 서비스를 구축하기 위한 프로그래밍 모델과 런타임으로 이뤄져 있다. 액터 모델 기반 클라우드 프로그래밍 모델로 개발자가 고수준의 분산형 컴퓨팅 환경을 쉽게 활용할 수 있게 해준다. 애플리케이션 개발자가 확장성 있는 백엔드 시스템에 대해 깊숙하게 이해하기는 쉽지 않다.

올리언스는 애저 클라우드 환경에서 애플리케이션 개발에 필요한 백엔드 인프라를 서비스로 쓸 수 있게 해준다. 액터모델이란 1973년 칼 휴이트에 의해 제안된 프로그래밍 개념으로 동시성 프로그램과 병렬처리 프로그램 개발에 사용된다. 액터는 ‘스레드’나 ‘객체’란 개념과 구별되는 추상단위다.

WEAsvNczFGMr3yECbXiU

액터가 차지하는 메모리 공간에는 어느 다른 쓰레드 혹은 액터가 접근할 수 없다. 액터 내부에서 일어나는 일은 무엇과도 공유되지 않다는 얘기다. 공유란 속성을 제거함으로써 멀티스레드와 관련된 문제의 대부분을 제거했다는 설명이다. 공유되지 않기 때문에 액터 내부에서 작업을 수행할 때는 ‘락(lock)’이나 ‘싱크로나이짓(synchronized)’와 같은 부자연스러운 키워드가 필요 없다.

U1ce3i0vgCEW9zZ16vA5

올리언스에서 액터를 지칭하는 말은 ‘그레인(Grain)’이다. 그레인이 하나의 작업을 수행한다. 그리고 여러 그레인이 모여 ‘사일로(Silo)’란 컨테이너를 이룬다. 사일로는 런타임 실행을 위한 컨테이너다. 액티베이션은 단일 스레드가 기본이다. 스테이트를 공유하지 않으며, 멀티태스킹으로 작업이 이뤄진다. 런타임이 메소드 실행 스케줄을 관리한다.

헤일로4팀은 게임, 채팅, 인증 등의 작업을 하나의 그레인으로 만들고, 이들을 묶어 컨테이너로 만들었다. 여기에 애저 HD인사이트와 시각화툴을 적용, 게임서비스 상황을 실시간으로 분석할 수 있는 환경을 구축했다.

올리언스팀은 블로그를 통해 “빌드2014에서 올리언스 퍼블릭프리뷰를 공개한 이래 커뮤니티에서 긍정적 피드백을 많이 받았다”며 “이번달 리프레시 릴리스에서 보고된 이슈 다수를 수정하고 제안을 수용했다”고 밝혔다. 이어 “이제 다음 단계로 오픈소스 올리언스 요청에 응하기로 결정했고, 이미 개시할 준비작업을 마쳤으며, 내년초 공개할 것으로 기대한다”고 덧붙였다.

Z9DbQ6lLVmnKGstEyDxP

MS 클라우드 플랫폼 툴링팀 프린서펄 프로그램 매니저는 “분산 시스템에 대한 경험을 갖지 않은 프로그래머조차 개발 생산성을 확보할 수 있으며, 프로그래머가 특별한 노력을 하지 않아도 기본적으로 투명한 확장성을 획득할 수 있다”고 올리언스의 이점을 설명했다.

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