Intro https://github.com/netdata/netdata Netdata는 특별한 설정이 필요 없이 실시간 분산 모니터링을 제공해주는 오픈소스 모니터링 도구 입니다. 시스템, 하드웨어, 컨테이너, 어플리케이션들로부터 수천개의 데이터를 실시간으로 수집하며 물리/ 가상 서버 및 컨테이너, 클라우드 환경, IOT 장비등 에서 영구적으로 동작 합니다. 대부분의 Linux 배포판 뿐만 아니라 Kubernetes나 Docker 등의 컨테이너 플랫폼 및 MacOS 등에서도 sudo 권한 없이 설치 할 수 있습니다. Netdata는 아래와 같은 특징들을 가지고 있습니다. 설정이 필요없음 관리가 필요없음 최소한의 Disk I/O 및 메모리 사용. 싱글코어 1% 만의 CPU 점유 빠르고 인터렉티브 한 시각화..
Development/DevOps 33
Intro Node.js로 작성한 웹 어플리케이션을 간단하게 도커 이미지로 만든 후에 해당 이미지를 도커 허브에 push 해서 어디서나 받아서 사용하는 방법을 알아 보도록 하겠습니다. 1. Node.js 웹 어플리케이션을 도커 이미지로 Node.js App 생성 일단 준비된 Node.js 웹 어플리케이션이 없다면 테스트를 위해 생성 해 줍니다. 준비된 어플리케이션이 따로 있다면 이 과정은 생략 하실 수 있습니다. Node.js 앱을 생성 할 빈 폴더를 생성 한 뒤 해당 폴더에 package.json 파일을 생성 해 줍니다. { "name": "docker_web_app", "version": "1.0.0", "description": "Node.js on Docker", "author": "First L..
Intro 부하테스트는 여러명의 사용자가 동시에 어플리케이션에 요청을 보내는 상황을 시뮬레이션 하여 다양한 부하조건에서의 응답을 테스트 하는 과정 입니다. 얼마만큼의 요청을 견딜 수 있는지 테스트 함으로서 병목 구간을 찾아 성능 개선을 하거나 서버를 증설하는 등의 필요한 대응을 할 수 있습니다. 다양한 테스트 툴이 있지만, 사용하기 쉬운 JMeter를 활용해 간단한 테스트를 진행 해 보겠습니다. 설치 Apt-cache로 검색을 해 봤더니 이미 apt 저장소에 있길래 apt를 이용해 설치 해 보았습니다. sudo apt install jmeter https://jmeter.apache.org/download_jmeter.cgi MacOS 유저라면 brew로 설치 하셔도 되고, Apache 홈페이지를 통해 ..
Intro 입사 전 국비학원에서 Oracle Database 교육을 몇주간 짧게 받은게 전부였는데 입사 후에도 맡은 프로젝트들에서 JPA를 사용하다 보니 쿼리를 직접 짤 일이 많지 않았습니다. 데이터베이스 공부를 따로 하려고 했는데 자바 심화과정, 스프링, JPA, 운영체제, 자료구조 및 알고리즘 등 평소 너무나도 공부하고싶었던 것들이 너무나도 많았다보니 자연스레 우선순위에서 밀려 아직까지도 손을 대지 못하고 있습니다. 업무중에 드문 드문 조금이라도 복잡한 쿼리를 짜내야 하는 일이 생길 때 마다 개념은 어렴풋 알고 있어도 정확한 사용법을 모르는 문법이나 함수 등을 매번 검색하다보니 병목이 생기는 구간이라는게 명백해졌습니다. 병목구간을 알면서도 외면하기엔 양심의 가책이 큽니다. 학습도 중요하지만 꾸준히 사..
Intro 프론트엔드와 백엔드의 업무가 점점 더 구분되어가고, MSA가 보편화되고 있는 지금의 추세에서 RESTAPI의 쓰임이 점점 더 많아지고 있습니다. 외부에 공개하는 API 뿐만 아니라 소프트웨어 내부적으로만 사용하는 API라고 해도 어플리케이션이 점점 커질수록 개발자의 기억력에만 의존하기에는 그 규모가 점점 버거워지기 마련입니다. 특히나 API를 공개하거나 개발자간의 협력에서 필요한 상황이 오면 체계화된 읽기 좋은 API Document의 작성은 선택이 아닌 필수입니다. 마침 회사에서 진행중인 프로젝트에도 조금의 여유가 생겨 API Document 정리를 해야할 때가 왔습니다. 여러가지 오픈소스 선택지가 있습니다만 이번에는 Swagger를 선택해서 테스트를 진행 해 보았으며 꽤나 만족스러웠습니다...