thumbnail

클라우드엔지니어링 · AWSome

하이브리드 및 멀티 클라우드 환경을 구축하고 클라우드 아키텍쳐에 대한 프로젝트에요.

아키텍쳐 구성에서 끝나지 않고 프로세스 자동화까지 고려한 프로젝트에요.

  • 사용한 기술 스택

  • 시스템 아키텍쳐

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기 : 멋사 부트캠프

기본기가 탄탄한 클라우드 엔지니어 전문가로의 도약

클라우드 엔지니어링 3기 : 멋사 부트캠프