본문 바로가기

Home > 정보마당 > 공개SW 활용 성공사례

공개SW 활용 성공사례

공개SW 기반 노후 시스템 재활용으로 예산 절감 및 자체 개발역량 강화

 

국립중앙청소년수련원(이하 수련원)은 국내 최대의 청소년 수련시설로 건전한 청소년 육성을 위해 다양한 프로그램을 수행하고 있어 IT 전산시스템의 안정적인 운영이 중요하고 또한 시스템에 대한 고도화의 필요성이 꾸준히 재기되어왔다. 이에 수련원은 한정된 예산 내에서 안정적이며 효율적인 전산운영을 위해 자체 전산인력을 투입하고 노후화된 서버 재활용을 통해 예산절감 및 관리의 효율화, 그리고 자체 개발역량을 강화하는데 성공했다.

 

 

  • 업체 : 국립중앙청소년수련원
  • 수행년도 : 2017년
  • 도입배경 : 장비 노후화, 백업공간부족, 불안전한 운영관리체계
  • 솔루션 : Ubuntu, Apache, Mysql, Docker, Zabbix, Owncloud, Clonezilla 등
  • 도입효과 : 편의성증대, 개발기간 단축, TCO 절감, 안정적인 서비스 운영

 

 

국립중앙청소년수련원 로고
 

국립중앙청소년수련원은 한국청소년기본계획(1991년) 수립 후 2001년 천안시 목현읍에서 개원하였으며, 청소년을 건전하게 육성하기 위하여 국공립 청소년 수련시설을 위탁 받아 운영하고, 청소년 수련활동을 지원함으로써 청소년들이 덕, 체, 지를 겸비한 통합적 인격체로 육성함을 목적한다. 또한 청소년지도자연수, 청소년시범 수련활동, 연수 수련 프로그램의 개발ㆍ보급, 수련시설 간 네트워크 구축, 정보교류, 국제교류활동 등 민간부문이 추진하기 어려운 영역을 담당하여 전국의 청소년 수련시설의 중심센터로서의 기능을 수행하고 있다.

 
국립중앙청소년수련원
 

노후화 된 시스템 활용을 가상화 기술로 극복

 

수련원의 모든 업무는 인터넷과 네트워크망을 통해 수행되고 있다. 하지만, 장비의 노후화 및 관리 시스템의 미비로 전산운영에 애로사항이 존재하였다. 전산장애가 발생하면, 실제 문제를 해결하는 시간보다 장애가 발생한 지점과 원인을 찾는 시간이 더 오래 걸리는 경우가 종종 발생하였다. 또한 수련원은 청소년활동과 청소년지도자 교육과정에서 많은 사진과 동영상을 활용하게 되는데 이런 대용량 파일들을 그룹웨어 이메일을 통해 공유하거나 휴대용 저장매체를 활용해 공유하기에는 제한적인 부분이 많아 임의적으로 사용자 PC에서 공유폴더를 사용하는 경우가 많아 보안 위협이 상존하여 다른 공유방법이 필요했다.

 

이를 해결하고자 수련원은 최근 내부 인력을 활용하여 공개SW 기반 실시간으로 서버 및 각종 장비들을 모니터링 할 수 있는 네트워크 모니터링 시스템과 청소년 활동 영상 및 사진 백업을 위한 클라우드 스토리지를 구축하여 내부 전산망 관리의 안전성과 효율적인 저장소를 구축하였다. 또한 자원 활용의 효율성을 높이기 위해 리눅스 컨테이너 가상화 기술을 활용하였다.

 

수련원 전산을 담당하는 원성연 선생님은 ‘빠른 장애해결은 업무 연속성 유지에 중요한 부분이며 그런 이유로 네트워크 모니터링 시스템과 내부 클라우드 스토리지를 구축하였다’ 며 새로운 시스템의 구축배경에 대해 설명했다.

 

원성현 선생은 먼저 내부자원 파악에 나섰다. 하지만 서버자원이 한정적이고 노후화되어 단일 서버에서 프로젝트를 수행할 수 밖에 없는 상황이였다. 여러가지 기술을 검토하다 가상화 기술에 주목하게 된다. 가상화 기술을 사용하지 않고도 상황에 맞게 설정만 잘 조정하면 단일 서버에서도 여러 가지 역할을 수행할 수 있으나 사용하는 라이브러리의 의존성이나 포트 포워딩 등 여러 관점에서 유지보수가 매우 비효율적이며 추후 장애요인과 문제해결에 방해가 될 수 있었기에 격리된 환경 구성이 필요했다.

 

우선 KVM을 시작으로 검토작업에 착수하였다. 현재 활용이 가능한 서버 컴퓨터가 노후화가 되어 성능 효율이 높은 방법을 찾기 시작했고 검토 결과 LXC(리눅스 컨테이너) 기술인 Docker(도커)로 결정하고 프로젝트를 시작하였다.

 
Virtual Machine diagram

▲ Virtual Machine diagram

Container diagram

▲ Container diagram

<가상화 기술 비교>

 

‘Docker는 기존 가상머신(VM)과 비교하였을 때 매우 가볍기 때문에 하나의 서버에 여러 컨테이너를 생성하여 운영할 수 있으며, 10개 이상의 컨테이너를 생성하여 구성할 수 있다.’ 며 원성현 선생님은 Docker의 선택이유를 설명했다.

 

공개SW 가상화 기반의 운영관리시스템 구축

 

모든 선택이 완료되자 프로젝트는 일사천리로 추진되었다. 우선 데비안 계열의 ubuntu(우분투)를 관리서버의 주 OS로 사용하고 가상화 기술로는 Docker를 활용하였다. 실시간으로 하드웨어 자원의 구동 현황과 네트워크 트래픽을 모니터링하기 위해서는 Zabbix(자빅스)를 도입했다.

 

IT 시스템 구조도
▲ IT 시스템 구조도

 

특히 Zabbix의 경우 스크립트 등을 통해 커스터마이징이 가능하여 추가적인 기능을 사용할 수 있으며, 플러그인은 손쉽게 인터넷을 통해 활용하였다. 또한 별도로 파이썬 스크립트를 작성하여 장애 발생 시 즉시 Zabix Server에서 Telegram 메시지로 전산관리자에게 장애 알림을 받을 수 있도록 커스터마이징 했다.

 
운영관리시스템 구성도

▲ 운영관리시스템 구성도

Zabbix(자빅스) 관리 화면

▲ Zabbix(자빅스) 관리 화면

 

그리고 청소년과 청소년 지도자의 활동 영상이나 사진을 많이 다루고 있어 개인 PC에 백업을 하거나 내부적으로 공유하기에는 제약사항이 많고 자료의 손실을 최소화 하기위해 클라우드 스토리지인 ‘owncloud’를 도입하였다. 사용자 PC의 OS 재설치 HDD 백업 등 소모성 작업은 clonezilla를 활용하였다.

 
구분 활용 공개SW 용도
운영체제 Ubuntu 관리서버 주 OS
웹서버 Apache 각종 어플리케이션 구동
데이터베이스 MySQL
컨테이너 가상화 Docker 가상화 기술
네트워크 모니터링 Zabbix 실시간 자원 현황, 트랙픽 등 모니터링
클라우드 스토리지 Owncloud 대용량 파일 백업 (편집 영상 등)
백업 clonezilla 사용자 PC OS 백업 및 복원

<주요 활용 공개SW 목록>

 

공개SW 개발 경험이 업무에 많은 도움 돼

 

프로젝트가 내부적으로 일사천리로 수행할 수 있었던 것은 과거 공개SW에 대한 개발 경험을 갖고 있어 공개SW를 어떻게 활용하는지에 대해 잘 알고 있었기 때문에 가능했다.

 

원성연 선생님은 ‘10여년전 국산CMS인 그누보드를 기반으로 숙박 예약 사이트를 개발한 경험이 있다. 비슷한 시기 웹호스팅사에서 시스템 엔지니어로 재택근무를 하였는데 당시 제공하던 호스팅 환경이 LAMP와 ROR(Ruby On Rails)였다. 이외에 개인적인 프로젝트로 파이썬 웹 프레임워크인 Django를 활용하여 개인 블로그를 운영하기도 했다.’ 며 과거 공개SW 기반의 개발사례에 대한 경험을 들려주었다.

 

또한 ‘공개SW 도입으로 상용소프트웨어의 종속성에서 벗어날 수 있으며 무엇보다도 현실적으로는 예산 절감효과가 제일 클 것이다. 또한 세계 수많은 유능한 개발자들이 개발에 참여해 검증된 솔루션을 기관특성에 맞게 활용할 수 있어서 좋았다.’ 며 공개SW 도입효과에 대해 말을 이어갔다.

 

수련원은 내년에도 공개SW 기반의 네트워크접근시스템(NAC)을 1분기에 구축하려는 계획을 세웠다. 활용예정 공개SW 솔루션은 네트워크를 안전하게 효과적으로 관리 할 수 있게 도와주는 PacketFence(패킷펜스)다.

 

수련원은 향후 내부 업무시스템을 통합하고 청소년 수련 프로그램의 원활한 지원을 위하여 자체 개발역량강화를 통한 지속적인 공개SW 도입을 추진할 예정이며, 제한적인 예산의 효율적인 활용 및 공개SW 활성화의 국가정책에도 적극 부응한다는 계획이다.


 

 

[인터뷰]

공개SW 활용 어렵지 않아요!

국립중앙청소년수련원 전산담당 원성연 선생님

 
국립중앙청소년수련원 전산담당 원성연 선생님
▲ 원성연 선생님

공개SW가 공공에서 활용되기 위해서는?

공개SW는 소스가 공개되어 있고, 접근이 쉬우면 성능 또한 안정적이다. 하지만 막상 활용하려면 많은 어려움에 직면한다. 먼저 레퍼런스 모델을 찾기가 쉽지 않다. 또한 팁에 대한 정확한 자료를 찾아 인터넷을 헤매는 수고로움을 감수해야한다. 따라서 공개SW를 장려하기에 앞서 잘 정의되고 정돈된 정보지원체계가 마련된다면 정보를 보다 쉽고 빠르게 활용할 수 있을 것 같다.

 

그리고 공공에서 소프트웨어를 활용하기 위해서는 보안에 많은 신경을 써야하는데, 공개SW를 잘 사용하기 위한 명확한 보안지침 및 교육 등이 많이 제공된다면 공공에서 공개SW를 도입하는데 많은 도움이 될 것 같다.

 

공개SW 발전에 대한 제언?

요즘 개발자는 SW를 개발할 때 공개SW를 먼저 찾아본다. 공개SW는 다양한 분야에서 활용되고 있으며 종류도 많다. 다만 공개SW를 활용하기 위해서는 라이선스를 잘 확인하고 사용해야한다. 공개SW는 항상 우리 곁에 있고, 활용이 절대 어렵지 않다.

 

 

 

- 공개SW 역량프라자

 

 

 

맨 위로
맨 위로