스파클링소다에서 사용 중인 오픈소스 정리

작성자 김민태 수정일 2023-03-09 14:49

#스파클링소다3.0, #스파클링소다3, #스파클링소다, #SparklingSoDA3.0, #SparklingSoDA3

아티클 관련 제품: SparklingSoDA3.0

들어가며

  • 스파클링소다 제품에는 다양한 오픈소스 제품 및 패키지들이 설치 되어 작동하고 있습니다.
  • 이번 문서에서는 각 오픈소스 들의 소개 및 역할에 대해 알아봅니다.



내용

스파클링소다에서 사용 중인 대표적인 오픈소스 목록입니다.



Docker


스파클링소다 제품은 기본적으로 Docker 컨테이너 위에 적재되어 각 여러가지 APP들이 구동되어 동작되는 구조입니다.
Docker는 가상 컨테이너 오픈소스 솔루션으로 기존 하이퍼 바이저 방식의 VM기술과는 달리, HOST PC의 커널 영역을 공유하여 가상 컨테이너를 생성할 수 있는 차세대 가상 환경 오픈소스 솔루션이며, 기존 VM들에비해 가볍고 빠르고 호환성 이슈를 최소화하여 어떤 플랫폼에서든 도커 엔진만 설치되어있다면 컨테이너들을 IMAGE 형식으로 만들어 동일한 APP과 환경을 배포할 수 습니다.






kubernetes

Kubernetes(이하 k8s)는 수많은 Docker 컨테이너들을 스케쥴링하며 관리할 수 있도록 Google에서 출시한 컨테이너 관리 스케쥴링 오픈소스 솔루션 입니다.

여러개의 서버(노드)들을 하나의 클러스터로 묶어서 관리할 수 있고, 여러개의 컨테이너들을 하나의 POD(파드)로 묶어서 관리할 수 있습니다.

각 컨테이너들이 정상적으로 운영될 수 있도록 자원 및 리소스를 모니터링하여 POD가 비정상이거나 특이사항이 발생할 경우 k8s의 스케쥴링 알고리즘에 의하여 시스템이 정상적으로 운영될 수 있도록 도와주는 많은 기능이 기본 적용되어있습니다.








Prometheus , Grafana


Prometheus는 k8s 클러스터 노드들의 각종 자원 현황 및 리소스 사용 로그 등 대부분의 시스템 자료를 수집하고 DB로 저장하는 오픈소스 모니터링 수집 솔루션 입니다.

각 시스템에서 수집하여 저장한 로그들은 사람이 알아보기 적절치 않은 방대한 텍스트 데이터로 기록이 되는데, 이러한 기록들을 보다 사람이 보기 편한 시각 그래프로 포현해주는 오픈소스Grafana 입니다.

* Prometheus에서 수집한 데이터를 Grafana가 그래프로 그려준다고 생각하시면 이해하기 쉬울 것 입니다.

Prometheus와 Grafana에서 수집한 데이터 그래프를 토대로 스파클링소다의 각종 프로젝트 및 모델들의 데이터 사용, 자원 사용, DB의 입출력, 스토리지의 i/o ~.. 현황 등등을 모니터링하고 관리하고 있습니다.










Gitlab


Gitlab은 소스 및 코드들이 형상관리를 위해 사용하는 Git 시스템의 대표적인 오픈소스 솔루션 입니다.
Git 솔루션으로 가장 유명한 Github와 사용하는 기능과 명령어들에 큰 차이가 없으며, Git 저장소를 외부 온라인 환경에 두지 않고 클러스터 내부에 위치하여 사내 보안환경(ex 폐쇄망)에서 로컬 저장소로 사용할 수 있는 on-premise 설치 방식을 지원합니다.

스파클링소다에서 생성되는 프로젝트 데이터들은 모두 Gitlab을 통하여 Gitlab 레포지토리에 저장되어 관리 할 수 있습니다.






Jupyter

Jupyter는 대화형 기술 문서를 작성 및 연구하기 위한 대표적인 Python 분석 IDE 오픈소스 입니다.
대화형 컴퓨팅을 위한 커맨드 쉘 형식의 소스코드 작성을 지원하며, 설치시 브라우저 기반의 노트북으로 어디서든 접속 할 수 있으며 대화형 시각화  GUI 툴킷을 기본적으로 제공합니다.

대화형 기술 문서 작성이 강점인 만큼, 작성 된 소스의 한줄 한줄 코드의 결과값을 확인하며 연구가 가능합니다.





RStudio Sever (현재는 제품명이 RStudio Workbench 에서 → Posit Studio로 변경 됨)




RStudio는 통계 컴퓨팅 그래픽스를 위한 프로그래밍 언어인 R을 위한 자유 오픈소스 IDE 입니다.
기본적으로 R 언어를 보다 쉽게 작성하기 위한 IDE로써의 기능들은 대부분 탑재되어 있으며 소스 편집기에서 직접 R코드를 실행할 수 있고, 함수 정의로 빠르게 이동함과 동시에 프로젝트를 사용하여 여러 작업 디렉토리들을 보다 쉽게 관리할 수 있습니다.

데이터를 시각적으로 보다 직관적으로 표현해 줄수 있는 R의 강점을 살릴 수 있는 다양한 기능과 패키지를 제공합니다.





마무리

  • 그 이외에도 다양한 오픈소스 패키지들을 사용하고 있지만  주요 오픈소스들 이외에는 상세히 설명하지 않을 수 있는 점 양해 부탁드립니다.

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300