컴테이너

cdc wiki
Com225 (토론 | 기여)님의 2022년 6월 22일 (수) 00:19 판 (개발 과제의 배경)
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : 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)

  • 전 세계적인 기술현황

내용

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

내용

  • 기술 로드맵

내용

시장상황에 대한 분석

  • 경쟁제품 조사 비교

내용

  • 마케팅 전략 제시

내용

개발과제의 기대효과

기술적 기대효과

내용

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

내용

기술개발 일정 및 추진체계

개발 일정

내용

구성원 및 추진체계

내용

설계

설계사양

제품의 요구사항

내용

설계 사양

내용

개념설계안

내용

이론적 계산 및 시뮬레이션

내용

상세설계 내용

내용

결과 및 평가

완료 작품의 소개

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

내용

포스터

내용

관련사업비 내역서

내용

완료작품의 평가

내용

향후계획

내용

특허 출원 내용

내용