[Project] 설비 가동현황 모니터링 시스템
* 세부 내용 없이 기술적인 내용들을 다뤘습니다.
Last updated
* 세부 내용 없이 기술적인 내용들을 다뤘습니다.
Last updated
IoT 센서에서 오는 설비 데이터를 시각화한 후 대시보드로 제공하며, 설비의 작동 상태 및 인사이트를 보여주는 서비스입니다.
두 번째 회사에 들어와서 진행한 첫 프로젝트였다.
기존에 있는 서비스의 유지보수가 힘들다는 문제점이 있었다.
고객사에 맞게 빠르고 쉽게 커스텀이 가능하는 것을 목표로 하여 새로 진행하는 프로젝트였다.
프로젝트는 PoC 구현, MVP 구현 이렇게 두 Phase로 나눠져 진행하였다.
빠르게(목표는 2~3주 였지만, 공휴일이 끼면서 실제 프레젠테이션은 4주 차에 진행하였다.) PoC 구현 후, MVP를 만드는 것이 목표였다.
서비스의 필요성(수요)은 입증이 된 상황이었기에 실행 가능성만 확인하면 서비스를 시장에 바로 출시할 수 있었다.
다음은 Phase 1에서 진행한 PoC의 아키텍쳐다.
해당 과정에서 내가 담당한 역할이다.
AWS QuickSight를 활용한 센서 데이터 시각화 진행 및 레포트 개발
QuickSight Dashboard 배포
구체적인 내용을 언급할 수 없지만 대시보드를 만들기 위해서는 도메인에 대한 이해가 필요했다.
구글링을 통해 유사한 서비스들을 참고하여 필요한 데이터 및 정보들을 시각화 하였고, 이후 팀원들과의 다양한 소통과 피드백을 통해 계속해서 대시보드를 개선해나갔다.
QuickSight에서는 다양한 데이터 소스에서 데이터들을 다양한 방법으로 가져올 수 있다.
데이터를 시각화 하는 과정에서 QuickSight에서 제공하는 다양한 차트, 필터링, 계산, AI 등의 서비스들을 활용하였다. BI 툴을 활용하니 확실히 빠르게 PoC를 검증할 수 있어 생산성이 좋았다.
하지만 기본적으로 한 시간에도 수십 건씩 쌓이는 센서데이터를 한 번에 가져오면서 초기 로딩 시간이 지연되는 문제가 생겼다. 이는 SQL 쿼리를 직접 작성하 데이터를 가져오도록 설정을 변경하고 필요한 데이터만 가져올 수 있도록 쿼리를 튜닝해주면서 해결하였다.
최종적으로 실시간 대시보드 페이지와, 레포트 페이지를 만들었다.
이를 웹에서 볼 수 있도록 대시보드를 배포하고 특정한 유저만 볼 수 있또록 권한을 설정한 다음 프론트엔드에 iframe으로 embedded 하여 사용자가 볼 수 있도록 하였다.
프레젠테이션을 마치고 다음 단계인 MVP 개발로 넘어갔다.
해당 단계에서는 센서 데이터를 가져오는 백엔드 API 서버를 개발하고, 프론트엔드에서 직접 차트 컴포넌트들을 활용해 대시보드로 만드는 작업을 진행했다.
MVP를 개발하던 도중에 DB도 기존에 Azure에서 AWS로 전부 이관하게 되었다. (다른 팀에서 진행했다.)
다음은 Phase 2에서 진행한 PoC의 아키텍쳐다.
다음은 내가 담당한 역할이다.
FastsAPI를 활용한 BackEnd API 서버 개발
React를 활용하여 Dashboard 화면 개발
더 구체적인 내용들은 아래 페이지에서 더 확인할 수 있다.