SyncBoot: 오픈소스 기반 마이크로서비스 개발/운영 플랫폼
SyncBoot는 변화하는 비즈니스 환경에 민첩하게 대응하고 기업용 애플리케이션 개발의 효율성을 극대화하기 위해 설계된 오픈소스 기반의 마이크로서비스(MSA) 개발/운영 플랫폼입니다.
목차
1
SyncBoot 개요
플랫폼의 핵심 개념 및 비전
2
핵심 기술 스택
플랫폼을 구성하는 주요 기술 요소
3
분산 시스템 스택
분산 환경 지원을 위한 기술 구조
4
운영 환경
플랫폼의 운영을 위한 인프라 및 환경
5
UI/UX 및 개발 생산성
사용자 경험 및 개발 효율성 증대 방안
6
시스템 관리 및 분산 환경 지원
플랫폼 관리 및 확장성 지원 기능
7
통합 인증 및 권한 관리
보안 및 사용자 접근 제어 기능
8
모니터링 및 로깅
시스템 상태 추적 및 오류 분석 도구
9
비즈니스 지원 기능
다양한 비즈니스 요구사항을 위한 기능
10
인프라 및 기타 도구
플랫폼 구축에 필요한 추가 자원
11
솔루션 특징 및 장점
SyncBoot가 제공하는 차별화된 가치
12
기대 효과
플랫폼 도입으로 얻을 수 있는 이점
13
클라우드 네이티브 및 오픈소스 철학
SyncBoot의 개발 방향성 및 가치
14
운영 환경 및 사용 사례
실제 적용 가능한 환경 및 시나리오
SyncBoot 개요
SyncBoot는 MSA 플랫폼을 개발 및 운영하기 위한 인프라와 프레임워크가 준비된 'Low Code' 개발/운영 플랫폼입니다. 이 플랫폼은 다양한 관리 기능과 더불어 통계 및 모니터링 기능을 통해 서비스에 대한 통찰을 얻을 수 있도록 돕습니다.
SyncBoot는 검증된 오픈소스 솔루션으로 구성되어 설계부터 검증까지 최단 시간 내에 시스템 구축을 지원하며, 표준 기술 지원 및 SLA를 보장하는 엔터프라이즈 기술 지원을 제공합니다.
핵심 기술 스택
백엔드
  • Spring Boot
  • Spring Cloud
  • MyBatis-Plus
  • JWT
프론트엔드
  • Vue.js
  • Ant Design Vue
  • React(옵션)
데이터베이스
  • MySQL
  • Oracle 등 다수 지원
클라우드 지원
  • 마이크로서비스 아키텍처 (Spring Cloud) 통합
분산 시스템 스택
Spring Cloud Alibaba (Nacos, Sentinel)
Spring Cloud Gateway / Netflix Zuul
Spring Cloud OpenFeign
Spring Cloud Netflix Ribbon
Spring Security, Mybatis-plus
alibaba/Seata/RocketMQ
ELK + Filebeat
Spring Cloud Admin / Prometheus
Skywalking, XXL-JOB
Elasticsearch, Sharding-JDBC, Rancher
운영 환경
Java 8
SyncBoot는 Java 8 환경에서 최적화되어 있습니다.
Maven 3.5.3
의존성 관리 및 빌드 자동화를 위해 Maven 3.5.3을 사용합니다.
Redis 4+
캐싱 및 분산 잠금을 위한 Redis 4 이상 버전을 지원합니다.
MySQL 5.7+ / 8.0.14+
데이터 저장을 위한 MySQL 5.7 이상 또는 8.0.14 이상을 지원합니다.
Elasticsearch 7.x
검색 및 로그 분석을 위한 Elasticsearch 7.x를 사용합니다.
Docker 1.13.1+
컨테이너화를 위한 Docker 1.13.1 이상 버전이 필요합니다.
UI/UX 및 개발 생산성
Ant Design Vue 래핑 컴포넌트
정형화된 페이지를 빠르게 생산하여 디자이너/퍼블리셔 자원을 최소화할 수 있습니다.
반응형 웹 디자인
모바일 기기에서도 최적화된 사용자 경험을 제공합니다.
코드 생성기 (Code Generator)
Velocity, Freemarker 기반의 코드 생성기를 통해 기본적인 CRUD 작업 및 복잡한 기능 구현을 효율화합니다.
온라인 개발 모드 (No code concept)
온라인 설정 폼, 온라인 설정 리포트, 온라인 차트 디자인, 온라인 디자인 프로세스 등을 통해 개발 비용을 절감합니다.
시스템 관리 및 분산 환경 지원
서비스 등록 및 검색
Nacos를 통해 마이크로서비스를 검색하고 관리합니다.
통합 설정 센터
Nacos를 사용하여 분산 환경의 설정을 중앙에서 관리합니다.
게이트웨이 라우팅
Spring Cloud Gateway / Netflix Zuul을 통해 API의 단일 진입점을 제공하고 라우팅, 인증/인가, 로깅, 메시지 변환 등의 기능을 수행합니다.
서비스 다운그레이드 및 서킷 브레이커
Alibaba Sentinel을 활용하여 서비스 안정성을 보호하고 트래픽 제어, 서킷 브레이커, 시스템 로드 보호 기능을 제공합니다.
이 외에도 분산 트랜잭션(alibaba/Seata/RocketMQ), 분산 ID 생성기, 분산 잠금(Redis), 분산 태스크 스케줄러(XXL-JOB), 메시지 큐(Apache Kafka, RabbitMQ) 등을 지원하며, Docker Swarm, Kubernetes, Portainer, Swarmpit을 통해 컨테이너 운영 환경을 관리합니다.
통합 인증 및 권한 관리
게이트웨이 통합 인증
API Gateway에서 모든 요청에 대한 인증 및 URL 수준의 권한 판단을 담당합니다.
URL-level 권한 제어
세분화된 접근 제어를 통해 보안을 강화하며, 필요에 따라 활성화할 수 있습니다.
다양한 로그인 방식 지원
OAuth2, 사용자 이름/비밀번호, 그래픽 인증 코드, 휴대폰 번호, OpenID, 써드파티 SSO(Single Sign-On)를 지원합니다.
다중 사용자 유형 확장
여러 유형의 사용자를 별도의 DB 테이블에 저장하고 통합 인증 센터에서 통일된 인증 및 권한 부여를 지원합니다.
JWT (JSON Web Token)
공개 키를 통한 토큰 복호화 및 권한 확인, 요청 헤더를 통한 사용자 및 역할 정보 전달.
역할 기반 접근 제어 (RBAC)
메뉴, 사용자, 역할, 부서별로 세분화된 권한 관리를 지원합니다.
모니터링 및 로깅
통합 로그 센터
ELK (Elasticsearch, Logstash, Kibana) + Filebeat를 통해 플랫폼 내 다양한 서비스의 비즈니스 로그를 수집, 분석, 시각화 및 경고합니다.
시스템 모니터링
Grafana, Prometheus, Exporter (GPE Three Musketeers)를 사용하여 서버, 시스템 소프트웨어, Redis, MySQL, Elasticsearch, Nacos 등의 메트릭을 수집, 시각화하고 이상 알람을 제공합니다.
애플리케이션 성능 모니터링
SkyWalking을 통해 마이크로서비스의 분산 호출 추적, 애플리케이션 토폴로지 분석, 성능 지표 분석, 병목 감지 및 성능 최적화 기능을 제공합니다.
SQL 모니터링
느린 쿼리 SQL 모니터링 및 통계를 제공합니다.
로그 링크 추적 (Log Link Tracking): 분산 시스템에서의 트랜잭션 추적을 위해 초기 API에서 GTXID와 LTXID를 생성하고 서버 간 HTTP 헤더로 전달하는 원리를 활용합니다.
비즈니스 지원 기능
멀티 테넌시
애플리케이션 격리 기능을 지원하여 여러 테넌트가 동일한 시스템을 독립적으로 사용할 수 있도록 합니다.
멱등성 지원
동일한 작업에 대한 여러 요청의 결과가 일관되도록 보장하여 중복 클릭 등으로 인한 부작용을 방지합니다.
데이터 시각화
Drag & Drop 대시보드 및 차트 리포트 기능을 제공합니다.
API 문서 자동화
Swagger를 통합하여 게이트웨이에서 모든 API 문서를 자동 생성하고 관리합니다.
다양한 개발 도구
Hutool 기반의 편리한 개발 도구들을 제공합니다.
통합 예외 처리
시스템 전반의 예외 처리를 통일하여 안정성을 높입니다.
엑셀 가져오기/내보내기: Autopoi를 활용하여 편리하게 엑셀 데이터를 처리할 수 있습니다.
인프라 및 기타 도구
CI/CD (Continuous Integration/Continuous Deployment)
지속적인 통합(컴파일, 테스트, 패키징)과 지속적인 배포(언제든 배포 가능한 상태 및 자동 배포)를 지원합니다. GitLab, Jenkins, Nexus, Sonarqube를 포함한 자동화된 파이프라인을 제공합니다.
보안
OWASP TOP 10 (2013) 웹 취약점(인젝션, 세션 관리, XSS 등)에 대한 방비가 잘 되어 있으며, 파라미터 값 암호화 처리 및 필터링, 중요 데이터 암호화(AES/SHA256) 등을 지원합니다. SonarQube를 통한 소스코드 자동 점검 기능을 제공하여 코드 품질을 관리합니다.
클라우드 스토리지
Nextcloud와 Onlyoffice를 통한 클라우드 저장소 및 문서 편집 기능을 제공합니다.
솔루션 특징 및 장점
100% 오픈소스 기반
특정 업체에 종속되지 않아 혁신적인 기술을 빠르게 도입하고 서비스 고도화를 이룰 수 있습니다.
검증된 솔루션으로 빠른 구축
다수의 구축 사례를 통해 검증되었으며, 최적의 오픈소스로 구성되어 설계에서 검증까지 최단 시간 내 구축을 지원합니다.
E2E (End-to-End) 솔루션 제공
컨테이너 관리, CI/CD, 모니터링, API 관리, 인증 등 MSA 환경 구축에 필요한 모든 요소를 포괄하는 솔루션을 제공합니다.
모듈화된 설계 및 확장성
모듈화된 구조로 고객의 수요에 따라 선택적으로 구축하고, 서비스 수요에 따라 유연하게 확장하며 부가 기능을 이음새 없이 수용할 수 있습니다.
운영 환경을 위한 기술 지원
오픈소스에 대한 기술력을 바탕으로 표준 기술 지원 서비스는 물론, SLA를 보장하는 엔터프라이즈 기술 지원 서비스를 제공하여 서비스 안정화를 돕습니다.
기대 효과
1
MSA 운영 환경 확보
컨테이너 운영 환경을 필수적으로 확보하고 유연한 운영의 기틀을 마련할 수 있습니다.
2
DevOps 개발/운영 환경 정착
CI/CD를 포함하여 중단 없는 서비스 개발 및 배포 환경을 확보함으로써 시장 요구사항에 즉각 부응하고 서비스 고도화를 지속적으로 도모할 수 있습니다.
3
서비스 안정화 및 장애 대응력 향상
서비스 현황을 지속적으로 모니터링하고 각종 보안 위협이나 잠재적 취약점을 사전에 격리하여 안정적인 서비스를 유지합니다. 또한, 사전에 문제 가능성을 파악하여 선 조치하고, 장애 발생 시 즉각 대응할 수 있도록 각종 지표와 로그 및 트레이스 정보를 분석합니다.
4
고도화 로드맵 확보
서비스 요구사항에 빠르게 대응하며, 높은 서비스 레벨을 보장하는 엔터프라이즈급 서비스와 쉽게 접목하여 고도화 로드맵을 확보할 수 있습니다.
5
벤더 종속성 탈피 및 혁신 기술 도입
100% 오픈소스 기반으로 특정 업체에 종속되지 않고, 혁신적인 기술을 발 빠르게 도입하여 서비스를 고도화할 수 있습니다.
클라우드 네이티브 및 오픈소스 철학
SyncBoot는 '클라우드'와 '클라우드 네이티브'의 차이를 명확히 인지하며, 애플리케이션을 특정 클라우드 제공자에 비종속적인 클라우드 네이티브 방식으로 개발할 것을 지향합니다.
전 세계 개발자들의 집단 지식으로 급성장하는 오픈소스를 적극 활용하여 애플리케이션의 클라우드 호환성, 운용성, 이식성을 확보하는 진정한 클라우드 네이티브 환경을 구축합니다.
SyncBoot는 "바퀴를 다시 발명하지 말자"는 원칙 아래, 필요한 기능을 직접 개발하기보다 해당 기능을 제공하는 오픈소스 프로젝트를 먼저 찾아보고 검토합니다. 이는 DevOps 문화의 전파와 고도화된 자동화를 위해 필수적이며, 오픈소스 도입 시에는 문제가 발생할 경우 직접 기여하겠다는 마음가짐으로 임해야 함을 강조합니다.
이러한 접근 방식은 핵심 역량에 집중하고, 인력 양성 및 리크루팅 기회를 확대하며, 벤더 종속적인 제품에 비해 애자일한 조직 운영을 가능하게 합니다.
운영 환경 및 사용 사례
ERP/CRM 시스템
기업의 자원 관리 및 고객 관계 관리를 위한 통합 시스템 구축에 활용됩니다.
내부 관리 플랫폼
기업 내부 업무 프로세스 관리 및 자원 최적화를 위한 플랫폼으로 활용됩니다.
데이터 분석 대시보드
비즈니스 인텔리전스 및 데이터 기반 의사결정을 위한 분석 도구로 활용됩니다.
SyncBoot는 중소규모 기업용 애플리케이션에 적합하며, 다양한 산업 분야의 업무 환경에 맞춰 최적의 IT 시스템을 구축하는 데 활용될 수 있습니다.
홈플러스 MIS 재구축 프로젝트: 개요 및 배경
홈플러스 MIS 재구축 프로젝트는 노후화된 임대매장 관리 시스템을 현대화하고, 비즈니스 유연성을 높이며, IT 플랫폼 환경을 표준화하는 것을 목표로 진행되었습니다.
기존 시스템 문제점:
하드웨어/소프트웨어 노후화: 서버 단일 구성 및 ASP.Net 1.1, Oracle 9i, Pro*C 등 EOS 기술 사용.
성능 및 지원 어려움: 시스템 성능 저하 및 기술 지원 문제 발생.

주요 목표:
1
플랫폼 현대화
ASP.Net → Java Spring, Oracle 9i → 오픈소스 EDB (PostgreSQL), Pro*C → Java 기반 배치로 전환.
2
비즈니스 유연성 제고
신규 요구사항에 민첩하게 대응 가능한 아키텍처 마련.
3
IT 플랫폼 및 환경 표준화
EOS 리스크 해소, 유연한 확장성, 클라우드 전환 용이성 확보.
프로젝트 기간: 2023년 3월 ~ 현재 진행 중
SK매직 매직플러스 Back Office 개발 프로젝트
프로젝트 개요
  • 사업명: SK매직 매직플러스 Back Office 개발 건
  • 목적: 구독형 이커머스 서비스 관리 어드민 시스템 개발
  • 수행 기간: 2023년 3월 ~ 2023년 10월 (약 4개월)
  • 예산: 약 2억 원 내외
주요 기능 개발 범위
  • 통합 Admin 대시보드 및 관리 시스템
  • 주문/결제/배송 및 제품 전시/진열 관리
  • 고객 문의/응대 및 콘텐츠 관리 (STORY, 리뷰)
  • API, 팝업, 커뮤니티 관리 및 각종 통계 제공
  • 공통 기능 플랫폼화

SyncBoot 플랫폼의 역할 및 적용
MSA 운영 환경 확보
Spring Boot Framework와 MSA를 AWS에 적용하여 유연한 시스템 운영 기반 마련
DevOps 환경 정착
Jenkins, GitLab 등 활용, CI/CD를 통한 중단 없는 서비스 개발 및 배포 지원
UI/UX 표준 프레임워크
ReactJS 기반의 표준화된 UI/UX 개발 지원 및 소스 재사용성 극대화
통합 API 게이트웨이
모든 인터페이스 프로그램 등록/관리 및 RESTful API 문서 자동 구성
통합 모니터링 & 로깅
Elasticsearch, Grafana, Skywalking 등을 통한 실시간 로그 수집 및 성능 모니터링
100% 오픈소스 기반
특정 업체 종속성 없이 혁신 기술 도입 및 서비스 고도화