컴테이너

cdc wiki
Com225 (토론 | 기여)님의 2022년 6월 21일 (화) 23:25 판 (관련 기술의 현황 및 분석(State of art))
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : trythisonbrowser: 컨테이너 기반 오픈소스 시연 플랫폼

영문 : trythisonbrowser: Container-based open source software demo platform

과제 팀명

컴테이너

지도교수

이동희 교수님

개발기간

2022년 3월 ~ 2022년 6월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 2017920064 강**(팀장)

서울시립대학교 컴퓨터과학부 2018920069 김**

서울시립대학교 컴퓨터과학부 2016920025 염**

서울시립대학교 수학과 2017540010 김**

서론

개발 과제의 개요

개발 과제 요약

trythisonbrowser는 브라우저를 통해 다양한 오픈소스들을 시연해볼 수 있는 플랫폼이다. 최근 오픈소스 생태계는 날이 갈수록 성장하고 있다. google, amazon, naver, kakao와 같은 기업들이 주도한 오픈소스 프로젝트부터, 취업 준비생들의 포트폴리오를 위한 오픈소스 프로젝트까지 개발 주체와 규모 또한 다양해지고 있다. 다만, 규모를 막론한 공통적인 문제가 있다면 절대다수의 오픈소스들은 사용을 위해 반드시 설치가 필요하다는 점이다. 이는 오픈소스를 시험 삼아 사용해보고자 하는 사용자, 혹은 로컬에 설치가 어려운 사용자들에게 불편함과 문제를 야기한다. 이에, 다양한 오픈소스들을 컨테이너 상에 설치하고, 브라우저를 통해 해당 컨테이너와 상호작용함으로써 설치 없이 다양한 오픈소스들을 테스트해볼 수 있는 플랫폼을 구상하게 되었는데, 이것이 본 trythisonbrower 프로젝트이다.

Comtainer1.png

개발 과제의 배경

◇ 오픈소스 소프트웨어 시장 규모는 성장세에 있다.

마켓엔마켓의 『2026년까지의 오픈 소스 시장 전망 보고서』 (Open Source Services Market - Global Forecast to 2026)에 따르면, 현재까지의 오픈소스의 시장 규모와 가치는 꾸준히 성장해 왔으며, 2021년 217억 달러로 추정한 시장 규모는 2026년 500억 달러로 성장할 것으로 추정했다. 또한 오픈소스를 위한 대표적인 원격 저장소 호스팅 플랫폼인 깃허브(Github)는 오픈소스 저장소의 개수가 2013년에는 1000만개, 2018년에는 1억개를 넘어섰다고 발표했다. 위와 같은 수치는 명백히 오픈소스 소프트웨어 시장 규모는 성장세에 있고, 앞으로도 그러할 예정이라는 점을 시사하고 있다.

◇ 시연과 홍보를 원하지 않는 오픈소스 개발자는 없다.

상술했듯 오픈소스 시장 규모는 꾸준한 성장세에 있지만, 소스 코드를 무료로 공개하고 배포할 수 있는 오픈소스 생태계 특성상, 오픈소스 개발자들은 많은 경우 수익성보다는 공익성과 자기계발을 위해 오픈소스 프로젝트를 제작/관리한다. 광고 등의 홍보 수단을 이용하기 어렵기에, 오픈소스 개발자들은 언제나 홍보 및 사용자 피드백에 목말라하는 경우가 많다.

◇ 다양한 오픈소스를 사용해보고 싶다면 반드시 설치해야 한다. 현재까지 사용자 입장에서 오픈소스의 실사용 사례를 보기 위해서는 크게 아래 네 가지 방식이 있다.

A. 개발자가 작성한 안내서(README) 열람

README 문서 등의 오픈소스 안내 페이지에 오픈소스의 사용 예를 글로써 적는 방법이다. 다만, 이 방식은 사용자가 직접 오픈소스를 사용할 수 있는 방식이 아니며, 오픈소스의 동작 과정을 파악하기 어렵다는 한계가 있다.
 

B. 개발자가 녹화한 시연 영상 시청

위의 문제를 보완하기 위해 개발자들은 오픈소스 프로젝트에 해당 오픈소스를 사용하는 모습을 담은 시연 영상을 함께 업로드하기도 한다. 오픈소스를 사용하고자 하는 사용자들은 이 영상을 통해 오픈소스의 동작 모습을 확인해볼 수 있다. 다만 이 방식 또한 사용자가 직접 오픈소스를 사용하는 방법이 아니라는 점에서 완전한 대안이 되기는 어렵다. 더욱이, 오픈소스의 버전이 업데이트되어 사용 예시가 달라졌음에도 불구하고 시연 영상이 업데이트되지 않는 경우도 많다. 이 경우 사용자들은 시연 영상을 시청해도 완전한 사용 예를 파악하기 어렵다.

C. 오픈소스를 직접 본인의 컴퓨터 환경에 설치

사용자가 해당 오픈소스를 본인의 컴퓨터(로컬 환경)에 설치하는 방법이다. 이렇게 오픈소스를 설치하는 경우 사용자가 직접 해당 오픈소스를 사용할 수 있지만, 사용자 환경이 오픈소스를 설치할 수 있는 환경이 아닐 경우 문제가 발생할 수 있다. 가령 오픈소스를 설치하기 위해 반드시 함께 설치해야 하는 의존성 패키지가 있을 경우, 오픈소스를 설치하는 과정에서 해당 의존성 패키지의 버전이 함께 업데이트 될 수가 있다. 또한 오픈소스를 시험 삼아 이용해보고 싶은 사용자 입장에서는 오픈소스의 설치 방법을 익히고, 사용해보고, 삭제하는 과정이 번거롭게 느껴질 수 있다.

D. 컨테이너를 이용한 오픈소스 설치

이 경우 사용자 환경이 오픈소스 설치에 부적합한 경우에도 오픈소스를 이용할 수 있다는 장점이 있지만, 여전히 사용자 환경에 도커/LXC 등의 컨테이너를 설치해야 한다는 부담이 있다.

개발 과제의 목표 및 내용

◇ 컨테이너 기반의 개별 사용자별 샌드박스 구축 사용자들에게 오픈소스를 시연할 수 있는 컨테이너 기반의 샌드박스를 제공한다.

◇ 신규 컨테이너 이미지 생성 기능 웹 브라우저 환경에서 특정 오픈 소스 패키지를 설치한 이미지를 등록할 수 있는 기능을 제공한다.

◇ 컨테이너 이미지 보관 기능 오픈소스 이미지를 보관하는 저장소인 이미지 레지스트리를 구축하여 모니터링한다.

◇ 웹 터미널 기능 개별 사용자가 오픈소스를 시연할 수 있도록 할당된 컨테이너의 셸을 웹 브라우저에 노출하는 웹 터미널을 제공한다.

◇ 오픈소스 최대 이용 가능 횟수 제한 한 번에 하나의 오픈소스만을 사용하도록 제한한다.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

◇ Container (Docker)

컨테이너는 어떤 환경에서나 실행하기 위해 필요한 모든 요소를 포함하는 소프트웨어 패키지이다. 컨테이너는 운영체제를 가상화하여 어디서나 실행된다. 

◇ REST API

REST API는 HTTP 통신에서 어떤 자원에 대한 CRUD 요청을 Resource와 Method로 표현하여 특정한 형태로 전달하는 방식이다. 문서 없이 REST API 메시지를 읽는 것만으로도 메시지가 의도하는 바를 명확하게 파악할 수 있다. 또한, HTTP 인프라를 그대로 사용하기 때문에, REST API 사용을 위한 별도의 인프라 구축이 필요하지 않다. 


  • 특허조사 및 특허 전략 분석

유사 특허 조사

 ◇ 오픈 소스 가상화 클라우드 환경 기반 네트워크 컴퓨팅 개발 테스트베드 시스템
   A. 출원번호 / 일자: 1020160051718 (2016.04.27)
   B. 상태: 출원
   C. 설명:
 위 특허는 컴퓨터, 네트워크 분야의 엔지니어와 개발 관련자들을 대상으로한 오픈 소스 기술로써 자신이 구현한 제품 및 서비스를 클라우드 기반 가상화 환경에서 직접 테스트해보는 시스템을 제공한다. 개발자들은 자신의 여건에 따라 온라인을 통해 접근하여 자신의 프로젝트를 시험해보고, 개발하는데 이 기술을 활용할 수 있다. 위 기술은 도커엔진을 활용하여 클라우드를 가상화하여 유저에게 네트워크 환경을 제공하는 것이 특징이다. 국내 중소 기업, 1인 기업, 예비창업자 및 커뮤니티 등 중대규모 개발자 그룹에 가장 적합한 기술이다.
◇ 웹 가상화 시스템 및 서비스 방법
   A. 출원번호 / 일자: 1020160147916 (2016.11.08)
   B. 상태: 출원
   C. 설명:
 위 특허는 가상화 클라이언트 프로그램의 설치 없이 웹브라우저 내에서 직접 로그인하여 가상환경의 웹서비스를 이용할 수 있는 웹 가상화 시스템을 제공하는 기술이다. 특정 브라우저의 종속성 없이 가상화 환경의 웹서비스를 사용할 수 있다는 것이 특징이며 웹을 통해 쉽게 가상화를 할 수 있다는 장점이 있다. 클라이언트와 웹브라우저 사이에는 리스너가 존재한다. 리스너는 웹소켓을 통해 클라이언트와 웹브라우저 사이에 양방향 통신을 할 수 있도록 하는 역할을 한다. 이 기술은 클라이언트에 가상환경을 제공하기 위한 게스트 OS를 담당하는 호스트 컴퓨터가 존재하는 것이 특징이다. 즉, 유저가 웹브라우저에서 로그인하여 가상환경의 웹서비스를 요청할 시 호스트컴퓨터는 클라이언트에게 가상환경에 대한 정보를 전달하게 된다. 이를 통해 유저는 별도의 프로그램 설치 없이 가상화 웹서비스를 이용할 수 있게 된다.


특허 전략

◇ 오픈소스를 이용하고자 하는 어떤 유저도 본 플랫폼을 손쉽게 사용할 수 있도록 진입장벽을 최소화한다.

위 특허는 클라우드 및 네트워크 기반으로하는 대규모 프로젝트에 해당한다. 주로 기업체에서 활용될 수 있는 기술이며 기업에서 출시한 제품 및 서비스를 테스트하는 용도로 활용된다. 즉, 소규모 개발자가 만든 프로그램 혹은 단순히 오픈소스를 써보는 용도로는 사용할 수 없다. 반면, 본 프로젝트의 플랫폼은 누구나 쉽게 github에 접근하여 웹사이트에 접속만 할 수 있으면 다양한 오픈소스를 테스트해볼 수 있다는 점에서 진입장벽이 매우 낮은 장점이 있다.

◇ 본 프로젝트의 플랫폼은 타 기술에 비해 가볍고, 간단하다.

위 특허는 클라우드를 활용했다는 점에서 상당히 큰 규모의 가상화 시스템이라 할 수 있다. 회사 단위의 네트워크 환경을 제공할 수 있고, 중대규모 개발자 그룹에서 만든 제품들을 시험해볼 수 있다는 점에서 상당히 유리하다. 하지만 그만큼 활용될 수 있는 폭이 기업단위로 제한적이며 일반적인 개발자들은 개인적으로 사용하기 어렵다. 또한 네트워크를 가상화하기 위한 부수적인 장치들이 필요하고, 그룹 단위로 사용할 수 있을 정도로 그 범위가 크기 때문에 기술이 무거운 편이다. 반면, 본 프로젝트는 컨테이너를 기반으로 적은 리소스를 사용하는 가상화 환경에서 오픈 소스를 테스트해볼 수 있다는 점에서 상당히 가볍고, 간단하다는 장점이 있다.

◇ 별도의 프로그램 설치 없이 가상화 웹서비스를 쉽게 사용할 수 있는 기술은 존재하지만, 오픈 소스를 테스트할 수 있는 가상화 플랫폼 서비스는 찾아볼 수 없다.

위에 제시된 두 번째 특허 기술은 간단한 로그인만으로 웹가상화 관련 서비스를 이용할 수 있다는 점에서 본 프로젝트와 유사하다. 즉, 별도의 프로그램 설치 없이 가상화된 웹사이트에 쉽게 접근할 수 있다는 점에서 공통점이 있다. 하지만, 위 기술은 웹서비스에 관련된 내용만 담고 있다는 점에서 본 프로젝트와 차이가 있다. 공식적으로 오픈 소스를 이용하기 위해서는 관련 패키지 및 컴파일러와 같은 프로그램을 설치하는 것이 필수이다. 이러한 점은 웹서비스만으로는 해결할 수 없는 영역이다. 이러한 점에서 본 프로젝트는 위 기술의 한계를 보완할 수 있는 하나의 차별점으로 작용할 수 있다.
  • 기술 로드맵

Comtainer2.png

시장상황에 대한 분석

  • 경쟁제품 조사 비교

내용

  • 마케팅 전략 제시

내용

개발과제의 기대효과

기술적 기대효과

내용

경제적, 사회적 기대 및 파급효과

내용

기술개발 일정 및 추진체계

개발 일정

내용

구성원 및 추진체계

내용

설계

설계사양

제품의 요구사항

내용

설계 사양

내용

개념설계안

내용

이론적 계산 및 시뮬레이션

내용

상세설계 내용

내용

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

내용

포스터

내용

관련사업비 내역서

내용

완료작품의 평가

내용

향후계획

내용

특허 출원 내용

내용