AWS 기반 모델 학습 및 서빙 아키텍처1. 개요아키텍처는 AWS Cloud 인프라를 활용하여 모델 학습과 배포를 자동화하는 구조입니다.GitHub Actions를 통해 학습 파이프라인을 실행하며, Docker와 MLflow를 사용하여 모델 서빙 환경을 구축하고 모델 관리를 수행합니다.최종적으로 Slack을 통해 알림을 전달하여 작업 상태를 공유합니다.2. 주요 컴포넌트2.1 GitHub 및 GitHub Actions역할: 모델 학습 및 배포 파이프라인을 자동화합니다. 주요 동작:학습 파이프라인 실행AWS EC2 인스턴스에 접속하여 모델 학습 시작상태 알림을 Slack에 전송2.2 Slack Notification역할: GitHub Actions 파이프라인의 상태를 Slack에 알림으로 전달합니다.주요..
WEB(Django) CI/CD 아키텍처1. 개요해당 아키텍처는 CI/CD 파이프라인을 통해 애플리케이션 코드를 자동으로 빌드 및 배포하는 과정을 설명합니다. 개발자가 코드를 푸시하면 GitHub Actions가 Docker 이미지를 빌드하고 Amazon ECR에 푸시합니다.이후 ECS를 통해 Django 애플리케이션이 포함된 컨테이너를 배포하고 서비스를 갱신합니다.2. 주요 컴포넌트2.1 개발자역할: 애플리케이션 소스코드를 개발하고 GitHub에 푸시합니다.2.2 GitHub역할: 버전 관리 시스템으로 코드 변경 사항을 관리합니다.주요 동작:개발자의 코드 푸시를 감지하고 GitHub Actions를 트리거합니다.2.3 GitHub Actions역할: CI/CD 파이프라인의 핵심 자동화 도구입니다. ..
Today I Learned (2024-12-14)목차Today I Learned (2024-12-12)오늘 공부한 내용1. ECR / ECS2. Kubernetes어려웠던 내용궁금한 내용과 부족한 내용느낀 점오늘 하루오늘 공부한 내용1. ECR / ECSecr -> ecs 배포 성공awsvpc -> bridge 로 변경2. KubernetesKubernetes는 컨테이너화된 애플리케이션의 배포와 관리를 자동화하는 플랫폼어려웠던 내용ECS 궁금한 내용과 부족한 내용ECS, k8s느낀 점뭐라도 하자오늘 하루탄핵소추안 가결 -->
MLflow란?MLflow는 머신러닝 모델 실험, 관리, 배포, 모니터링, 재현성을 지원하는 오픈 소스 플랫폼임. 다양한 머신러닝 프레임워크(TensorFlow, PyTorch, Scikit-learn 등)와 호환되며, 실험 기록, 모델 관리, 배포 워크플로우를 간소화함. 특히, 중앙화된 실험 관리와 프로덕션 단계까지의 일관된 프로세스를 제공하여 머신러닝 프로젝트의 생산성을 높이는 데 기여함.MLflow의 주요 구성 요소1. MLflow Tracking실험 기록 및 관리.하이퍼파라미터, 모델 메트릭, 결과 등을 체계적으로 관리.2. MLflow Projects프로젝트 종속성을 명시적으로 정의하여 재현성을 보장.3. MLflow Models모델 저장 및 배포 표준화.다양한 배포 환경에 적합한 모델 변환 및..
Amazon ECS(Elastic Container Service)란?Amazon ECS(Amazon Elastic Container Service)는 AWS에서 제공하는 컨테이너 관리 서비스로, Docker 컨테이너를 손쉽게 실행, 관리 및 확장할 수 있도록 설계된 완전 관리형 서비스임. 개발자가 클러스터를 생성하고 애플리케이션을 배포하며, 클러스터에서 컨테이너를 관리할 수 있는 환경을 제공함.ECS는 서버리스 기반으로 작동할 수 있는 Fargate와 EC2 인스턴스를 사용하는 두 가지 실행 모드를 지원하며, Kubernetes 기반의 EKS와 함께 AWS의 컨테이너 관리 포트폴리오의 핵심 서비스 중 하나임.Amazon ECS의 주요 특징1. 컨테이너 관리컨테이너 워크로드를 효율적으로 관리하고 배포할 ..
AWS ECR(Amazon Elastic Container Registry)이란?AWS ECR(Amazon Elastic Container Registry)은 Amazon Web Services(AWS)에서 제공하는 완전 관리형 Docker 컨테이너 레지스트리 서비스임. Docker 이미지를 안전하게 저장하고 관리하며, 빠르고 쉽게 배포할 수 있는 환경을 제공함. 특히, Amazon ECS(Elastic Container Service), EKS(Elastic Kubernetes Service), 그리고 다른 AWS 서비스와 긴밀히 통합되어 컨테이너 기반 애플리케이션 개발과 배포를 간소화함.AWS ECR의 주요 특징1. 완전 관리형 서비스사용자가 직접 컨테이너 레지스트리를 설치하거나 유지 관리할 필요 없..
Kubernetes의 역할과 사용자 역할 비교Kubernetes는 컨테이너화된 애플리케이션의 배포와 관리를 자동화하는 플랫폼으로, 이를 성공적으로 사용하기 위해서는 사용자와 Kubernetes가 각각의 역할을 명확히 이해해야 함. 이 글에서는 Kubernetes가 어떤 작업을 수행하며, 사용자가 무엇을 준비하고 설정해야 하는지 정리함.Kubernetes가 수행하는 역할 (What Kubernetes Will Do)객체 생성 및 관리 사용자가 정의한 객체(예: Pods)를 생성하고 이를 관리함.Pod 모니터링 및 복구 Pod를 지속적으로 모니터링하고, 문제가 발생하면 재생성하며, 필요 시 자동으로 확장(Scale)함.클라우드 리소스 활용 사용자가 정의한 설정 및 목표에 맞춰 클라우드 리소스를 활용하고..
Kubernetes: 무엇이고, 무엇이 아닌가?Kubernetes는 현대 애플리케이션 배포와 관리를 위한 강력한 도구임. 하지만 많은 사람들이 Kubernetes의 본질에 대해 오해하거나 잘못된 기대를 가지기도 함. 아래는 Kubernetes가 무엇인지, 그리고 무엇이 아닌지를 명확히 정리한 내용임.Kubernetes는 무엇이 아닌가?:클라우드 서비스 제공자가 아님 Kubernetes는 특정 클라우드에 종속되지 않는 오픈 소스 프로젝트임.클라우드 서비스 제공자의 독점 서비스가 아님 Kubernetes는 모든 클라우드 서비스 제공자에서 사용 가능함.특정 클라우드 서비스에 제한되지 않음 Kubernetes는 어떤 클라우드 환경에서도 사용할 수 있도록 설계되었음.단순히 머신에서 실행되는 소프트웨어가 아님..