아키텍쳐 구성에서 끝나지 않고 프로세스 자동화까지 고려한 프로젝트에요.
사용한 기술 스택
시스템 아키텍쳐
1) Service Mesh
서비스 메시는 애플리케이션 트래픽을 관리, 추적 및 보안성을 강화하기 위해 플랫폼 레이어에 구성되는 네트워크 제어 방법입니다.
2) CI/CD
CI/CD는 조직이 버그 및 코드 오류를 예방하는 동시에 지속적인 소프트웨어 개발 및 업데이트 주기를 유지하는 데 도움이 됩니다.
3) Rust Tools ( Cursive, Kube, K8s-openapi )
Rust란?
Rust는 성능, 안전성, 그리고 병렬 처리를 중점으로 하는 프로그래밍 언어입니다. 특히 메모리 안전성과 쓰레드 안전성에 중점으로 개발되었습니다.
Cursive 주요 기능
Cursive는 TUI 기반 애플리케이션을 빠르게 만들고 싶을 때 사용
다양한 위젯 제공 (버튼, 체크박스, 리스트뷰 등)
레이아웃 시스템 지원 (자동 정렬)
마우스 입력 및 키보드 단축키 지원
외부 데이터와 연동 가능 (예: 파일 시스템, API)
Kube, K8s-openapi 주요 기능
Kube : Kube는 Rust에서 Kubernetes 클러스터와 상호작용할 수 있도록 도와주는 라이브러리.
K8s-openapi : API 리소스를 Rust 타입으로 변환해주는 라이브러리.
Kubernetes 애플리케이션 개발할 때 필요한 라이브러리.
4) AutoScaling
Cluster Autoscaler & Kubernetes Event-Driven Autoscaler
Feature | Cluster Autoscaler | KEDA |
---|---|---|
확장 대상 | 노드(Node) 개수 조정 | Pod 개수 조정 |
스케일링 기준 | CPU, 메모리 부족 시 노드 추가 | 이벤트 기반 (Kafka, SQS, HTTP 요청 등)으로 Pod 스케일링 |
최소 리소스 | 최소한 1개의 노드 유지 | Pod을 0개까지 줄일 수 있음 |
주요 활용 사례 | - 클러스터 내 리소스 부족 시 노드 추가/제거- 클라우드 비용 최적화 | - 트래픽이나 이벤트 기반으로 동적 스케일링- 서버리스 환경 구축 |
5) ELK stack
ELK Stack은 로그 및 데이터를 수집, 저장, 검색, 시각화하는 오픈소스 로그 분석 및 모니터링 솔루션입니다.
Kubernetes 환경에서는 Logstash 대신 Fluentd를 사용하는 EFK Stack이 더 많이 사용함.
6) Slack Bot
손으로 직접 모든 인스턴스를 중지하거나 시작하는 것에 번거로움을 느껴서 제작하게 됨.
boto3 라이브러리를 활용하여 Slack 으로 자동화함.
클라우드 엔지니어링 3기 : 멋사 부트캠프
기본기가 탄탄한 클라우드 엔지니어 전문가로의 도약

