Releases

Aspectow 4.0 출시 노트

이번 릴리즈는 상용 WAS 제품인 Aspectow Enterprise 에디션의 기반 프레임워크인 Aspectow 프로젝트의 메이저 업데이트입니다. 특히 Aspectow Enterprise의 관리자 UI를 제공하기 위해 aspectow-console이 기본 탑재되며, 기존 aspectow-appmon 프로젝트 구조에서 노드 관리자(aspectow-node), 모니터링(aspectow-appmon), 콘솔 제어 평면(aspectow-console)의 3대 핵심 모듈식 아키텍처로 개편되어 분산/클러스터 환경에서의 통합 플랫폼 관리 및 보안 거버넌스 기반을 정립했습니다.

✨ 새로운 기능

  • 노드 관리자 (aspectow-node)
    • 모듈 신규 도입 및 클러스터링 모드 지원: 분산/클러스터 환경 지원을 위한 aspectow-node 모듈이 새롭게 도입되었습니다. 인프라 규모와 환경에 따라 정적 1:1 연결을 제공하는 Direct 모드와 Redis를 활용한 동적 멤버십 조인 및 라우팅을 지원하는 Gateway 모드를 제공합니다.
    • 노드 중심의 그룹화(Node-Centric Grouping) 설계: 기존의 애플리케이션 레벨 그룹 설정을 노드 레벨로 승격시켰습니다. 모든 노드는 논리적 그룹 ID를 가지며, 해당 노드 내에서 동작하는 모든 애플리케이션은 노드의 식별자와 그룹 정보를 상속받아 통제와 모니터링의 효율성을 극대화합니다.
    • 분산 스케줄링 락 (RedisScheduledJobLockProvider): Lettuce Redis 기반의 분산 락(SET NX 패턴)을 활용하여 클러스터 환경에서 단 하나의 노드만 특정 스케줄 작업을 실행하도록 보장하는 ScheduledJobLockProvider 구현체를 제공합니다. releasedOnUnlock=false 설정을 지원하여 클러스터 노드 간 서버 시간 편차(Clock Drift)로 인해 발생할 수 있는 스케줄 작업의 중복 수행을 원천 차단합니다.
    • 가상 웹소켓 중계(Virtual WebSocket over Redis): L4 로드밸런서 하단이나 사설 네트워크에 위치하여 물리 IP 노출 및 직접 연결이 어려운 대규모 클러스터 환경에서, Redis Pub/Sub 채널을 통해 웹소켓 프레임을 가상화 전송하여 단일 게이트웨이 노드에서 모든 대상을 원격 중계할 수 있는 처리 메커니즘을 구축했습니다.
    • 원격 명령 실행 및 중계: RemoteCommandManager가 Redis Pub/Sub 채널 및 각 노드의 LocalCommandService를 조율하여 클러스터 전체 또는 특정 대상을 타겟으로 한 비동기 제어 명령(Aspectran 데몬 명령 실행 등)을 전파하고 수행 결과를 취합합니다.
    • 토큰 기반 분산 보안 인증: 클러스터 공유 비밀(Shared Secret)을 통한 Password-Based Encryption(PBE) 토큰 발급 및 AES 검증을 도입하여, 권한이 부여된 콘솔 게이트웨이와 상호 인증된 노드 간의 안전한 제어 명령 및 통신 무결성을 보장합니다.
  • 모니터링 모듈 (aspectow-appmon)
    • 그룹 레벨 메트릭(Group-Level Metrics) 아키텍처: 오토스케일링 및 컨테이너 환경에서 노드 ID가 휘발되는 문제를 해결하기 위해 시계열 데이터를 논리적 그룹(groupId) 단위로 집계(Aggregation)하고 저장하는 기능을 추가하여 노드 증감에 영향받지 않는 데이터의 연속성을 보장합니다.
    • 온디맨드(On-Demand) 실시간 로그 스트리밍: 전체 노드의 로그를 항상 전송하여 발생하는 네트워크 오버헤드를 막기 위해, 관리자가 UI에서 해당 노드를 확인하는 동안에만 활성화되는 요청 기반 전송 방식을 도입했습니다. 일정 시간 UI 세션 신호가 끊어지면 노드 스스로 전송을 중단하는 Keep-alive 차단 기술이 포함되었습니다.
  • 콘솔 모듈 (aspectow-console)
    • 웹 애플리케이션 제어 평면(Control Plane) 도입: Apache Tomcat Manager 또는 IBM WebSphere Administration Console과 마찬가지로 가동 중인 웹 애플리케이션의 설정과 자산을 안전하게 관리할 수 있는 aspectow-console 모듈이 신규 추가되었습니다.
    • 통합 관리 기능 및 전용 제어 화면 제공:
      • 클러스터 관리(Cluster): 클러스터 노드 현황, 원격 스케줄러 트리거 제어, 및 비동기 명령 전송 창 화면을 제공합니다.
      • 프레임워크 내부 진단 및 유틸리티(Framework): 실행 중인 엔진의 내부 규칙(Translet, Bean, Aspect, Schedule 등)을 추출하는 내부 검사기, 환경설정 뷰어, 실시간 AsEL 표현식 테스트기, APON ↔ JSON/XML 상호 변환기, 경로 와일드카드 매칭 테스트기 기능을 탑재했습니다.
      • 보안 자산 관리(Vault): 암호화된 민감 정보(PBE credential)를 등록·관리하는 금고 및 실시간 암·복호화 도구 화면을 지원합니다.
      • 사용자 관리 및 보안 감사(User): 역할 기반(RBAC) 관리자 계정 설정 및 감사 추적을 위한 로그인 이력 조회 화면을 탑재했습니다.
      • 모니터링 대시보드(AppMon): 실시간 로그 및 통계(TPS, 오류율, 액티브 세션, 트래픽 등) 조회를 위한 통합 모니터링 화면을 연동했습니다.
    • 프레임워크 내부 검사 및 민감 정보 마스킹: AnatomyService를 통해 엔진 내부 규칙을 실시간 추출 분석하며, 비밀번호 및 보안 키와 같은 민감 정보는 APON 직렬화 시 정규식에 의해 자동으로 마스킹(********) 처리되어 외부 노출을 예방합니다.
    • 보안 거버넌스 및 볼트 관리(Vault): PBE(Password-Based Encryption) 암호화 기술 기반의 보안 자산 및 민감 설정 정보를 SIMPLE, PERSISTENT, TIME_LIMITED 형태의 토큰 방식으로 생성, 갱신 및 안전하게 복호화하여 저장소에 관리하는 VaultService를 제공합니다.

🚀 개선 사항

  • 모니터링 모듈 (aspectow-appmon)
    • 역할 기반 앱 활성화(Selective App Loading): 각 노드가 자신이 속한 그룹의 역할(예: API Gateway, Batch Worker 등)에 부합하는 애플리케이션 모니터링 정보만 Redis에 로드하고 데이터를 수집하도록 개선하여 자원 낭비를 방지했습니다.
    • 유연한 시계열 데이터 영속성: EventCounterPersistManager를 통해 트래픽, 에러율, 액티브 세션 등 성능 메트릭을 시간별로 계층적으로 수집 및 롤업(rollup)하며, H2/MySQL/Oracle/PostgreSQL 등 대다수의 관계형 데이터베이스를 지원하기 위한 MyBatis 기반 원자적 업서트(Upsert/Merge) 쿼리(EventCountMapper.xml)를 고도화했습니다.

NEWS
Release

Archive