WIBEE는 금융 챗봇 서비스로, 사용자 정보를 기반으로 금융 관련 챗봇 서비스와, 포트폴리오 서비스를 제공하는 슈퍼앱입니다.
💡 지능형 챗봇: AI 기반의 챗봇이 실시간으로 금융 질문에 응답하고, 다양한 금융 상품에 대한 정보를 제공합니다. 사용자 맞춤형 답변으로 금융 이해도를 높이고, 필요한 정보를 신속하게 제공합니다.
맞춤형 추천: 사용자 행동과 선호도를 분석하여, 개인에 최적화된 금융 상품을 추천합니다. 이를 통해 사용자는 자신에게 가장 적합한 투자 및 대출 상품을 쉽게 찾을 수 있습니다.
통합 금융 관리: 다양한 금융 서비스를 통합하여 관리할 수 있는 기능을 제공합니다. 예를 들어, 지출 분석, 예산 설정 및 투자 모니터링 등으로 사용자가 자신의 재정 상태를 쉽게 파악할 수 있게 도와줍니다.
안전하고 신뢰할 수 있는 환경: 데이터 보안 및 개인정보 보호를 최우선으로 하여, 사용자들이 안심하고 서비스를 이용할 수 있도록 합니다.
사용자 친화적인 인터페이스: 직관적인 디자인과 간편한 내비게이션을 통해 모든 연령층의 사용자들이 쉽게 접근할 수 있는 환경을 제공합니다.
Screen.Recording.2024-12-11.at.10.05.32.AM.1.mov
2024년 10월 16일 ~ 2024년 12월 10일
아래는 프로젝트의 각 단계별 일정 및 상태를 나타낸 Gantt 차트입니다.
단계 | 기간 | 상태 |
---|---|---|
📘 기획 및 사전 조사 | 2024-10-16 ~ 2024-10-22 | ✅ 완료 |
🎨 아키텍처 설계 | 2024-10-23 ~ 2024-10-29 | ✅ 완료 |
📊 필요 데이터 수집 및 전처리 | 2024-10-30 ~ 2024-11-12 | ✅ 완료 |
🏢 온프레미스 환경 구축 | 2024-10-30 ~ 2024-11-19 | ✅ 완료 |
☁️ 클라우드 환경 구축 | 2024-11-06 ~ 2024-11-26 | ✅ 완료 |
🛠️ 서비스 개발 | 2024-11-13 ~ 2024-12-05 | ✅ 완료 |
🔍 모니터링 구축 | 2024-11-20 ~ 2024-12-05 | ✅ 완료 |
🚀 테스트 수행 | 2024-12-06 ~ 2024-12-10 | ✅ 완료 |
Text-embedding-ada-002 (임베딩 모델)
이 프로젝트는 온프레미스와 클라우드 환경을 통합하여 서비스의 안정성과 확장성을 보장합니다.
- 하이브리드 인프라: 온프레미스 및 클라우드 환경 통합
- 확장 가능한 배포 환경: Docker 및 Kubernetes 기반의 확장성 지원
- 실시간 모니터링: Prometheus, Istio기반 Kiali와 Grafana로 시스템 상태 모니터링
- 자동화된 CI/CD 파이프라인: Jenkins와 Argo CD사용
아래는 프로젝트의 인프라 구성도를 나타냅니다.
- 클라우드 플랫폼: AWS (Route 53, ACM, S3, NAT Gateway, Internet Gateway)
- 컨테이너화: Docker, Kubernetes (Istio Gateway, Worker Nodes, K3S)
- 로드 밸런싱: Network Load Balancer (NLB), HAProxy
- 배포 파이프라인: Jenkins, ArgoCD
- 모니터링 및 로깅: Prometheus, Grafana, ELK 스택 (Elasticsearch, Logstash, Kibana)
- 데이터베이스: PostgreSQL, Oracle DB
- 보안: StrongSwan, Ansible, AWS Site-to-Site VPN
- 네트워크:
- VPC: 퍼블릭 서브넷(NAT Gateway), 프라이빗 서브넷(Kubernetes 클러스터).
- Internet Gateway: 외부 트래픽 관리.
- NAT Gateway: 내부 서비스의 인터넷 접근 지원.
- DNS 및 트래픽 관리:
- Gabia DNS: 도메인 관리.
- AWS Route 53: DNS 라우팅.
- Network Load Balancer: 트래픽 분산.
- 애플리케이션 구성:
- Istio Gateway: 서비스 메쉬 관리.
- Kubernetes Cluster: 워커 노드 및 자동 스케일링 지원.
- 데이터 및 백업:
- S3: 정적 파일 및 백업 저장.
- RDS (PostgreSQL): 관계형 데이터 저장.
- 보안:
- AWS Certificate Manager: SSL 인증서 관리.
- AWS Site-to-Site VPN: 온프레미스와 AWS 간 보안 연결.
- 네트워크 구성:
- Control Plane (192.168.0.104): Kubernetes 클러스터 중앙 노드.
- Worker Nodes:
- VM
192.168.0.105
: Elasticsearch, Nginx, Kibana. - VM
192.168.0.106
: Elasticsearch, Grafana, Prometheus.
- VM
- 데이터베이스:
- PostgreSQL (192.168.0.215).
- Oracle DB (192.168.0.202/203).
- 모니터링:
- Prometheus & Grafana: 실시간 모니터링.
- Kibana: 데이터 시각화.
- 보안 및 자동화:
- StrongSwan: VPN 게이트웨이.
- Ansible: 서버 자동화 관리.
- CI/CD:
- Jenkins (192.168.0.205): CI/CD 파이프라인 관리.
- K3S: 경량 Kubernetes 클러스터 관리.
- 백업 및 복구:
- 데이터베이스 주간 자동 백업 및 복구 테스트 완료.
- Git 저장소: 코드 저장 및 변경 관리
- Jenkins: CI 단계 - 빌드 및 테스트 자동화
- Docker 저장소: 컨테이너 이미지 저장
- ArgoCD: GitOps 방식의 배포 관리
- Kubernetes 클러스터: 애플리케이션 실행 환경
1️⃣ 코드 푸시
- 작업자가 Git 저장소에 코드 커밋 및 푸시.
- 변경 사항이 Jenkins 및 ArgoCD에 전달.
2️⃣ 빌드 및 테스트 (CI)
- Jenkins에서 다음 작업 수행:
- 코드 변경 사항 Pull.
- Docker 이미지 빌드.
- 단위 테스트 및 통합 테스트 실행.
- Docker 저장소로 빌드된 이미지 푸시.
3️⃣ 이미지 배포 (CD)
- ArgoCD가 Git 상태와 Kubernetes 클러스터를 동기화:
- Docker 저장소에서 최신 이미지 Pull.
- Kubernetes 클러스터에 새 애플리케이션 배포.
4️⃣ 클러스터 상태 동기화
- ArgoCD는 클러스터 상태를 모니터링 및 동기화.
- 배포 실패 시 롤백 및 알림.
- 모니터링 도구:
- Prometheus: 메트릭 수집 및 알림
- Grafana: 대시보드를 통해 실시간 시각화
- 로깅 도구:
- ELK 스택: 로그 분석 및 시각화
- 알림 시스템:
- 주요 장애 발생 시 Slack 및 이메일로 알림 전송
- CPU 사용량, 메모리 부족 등 임계값 초과 시 경고 발송
- IaC(Infrastructure as Code):
- Ansible: 서버 구성 관리 및 배포 자동화
- 자동화 내용:
- Ansible을 사용해 온프레미스 환경의 서비스 구성 자동화
- Jenkins 파이프라인으로 빌드, 테스트 및 배포 자동화