프로젝트 회고록
-
Airflow on ECS 파이프라인 구축기프로젝트 회고록 2023. 7. 10. 23:38
기존 ec2 기반의 airflow 서비스가 예고 없이 죽어서 멈췄을때, 자동으로 다시 서비스가 시작될 수 있도록 컨테이너 서비스로 이전할 필요가 있다는 결론을 내렸습니다. 또한 기존에는 한 대의 ec2 서버에 airflow의 모든 구성 요소들이 다 돌아가고 있었다면, 각 서비스들을 분리하여 서로의 작업이 각자의 기능에 영향을 끼치지 않도록 ECS상에서 개별 서비스용 컨테이너를 생성하여 airflow를 멀티클러스터화 하려는 목적에 있었습니다. 처음 시작은 EKS를 활용한 파이프라인 구축을 목표로 했지만, 러닝커브를 고려해서 이전에 경험해봤던 ECS를 기반으로 한 파이프라인 구축을 시작했습니다. 이전의 ECS는 추천모델 서빙 용도로만 사용해봤었고, ECS 위에서 airflow를 구축하는건 처음이라 중간 중간..
-
MS Teams에서 Airflow DAG 자동 실행 파이프라인 구축(Feat. Teams, Lambda, Airflow 연동)프로젝트 회고록 2022. 4. 22. 07:42
업무시작 배경 고객사 해지 요청이 왔을 때 업무 process: client.yml 고객사 setting정보(serviceKey) 삭제 git update(add/commit/push) Airflow DAGs 삭제 airflow 추천 서버 DAG 5개 airflow 세그먼트 서버 DAG 2개 고객사 해지 요청이 없어 위 process가 이루어지지 않을 경우: AI 검색어 추천 모델 배포 실패 cloudwatch log 내역 확인 위의 1,2,3 실행 keyword_train DAG 수동 trigger 30일동안 DAG 학습 진행(비용) 👉 AI 검색어 추천 모델 배포 실패 방지, 해당 업무에 뺏기는 시간 & 업무 흐름 끊김 방지를 위한 파이프라인 구축 필요 결론 🎥 구축과정 살펴보기 https://nin..
-
AWS CodePipeline으로 추천 API 모델 배포하기프로젝트 회고록 2021. 8. 16. 23:08
CodPipeline 아키텍처 보러가기 https://ninano1109.tistory.com/168 API 모델 CodePipeline 아키텍처(Feat. 검색어 추천 API 배포) keyword_train DAG에서 검색어 학습 후 docker image 빌드 및 FastAPI 컨테이너를 띄우기 위해 필요한 모든 파일을 S3 버킷 내 latest/latest.zip(default로 지정!) 이름으로 업로드 codepipeline은 latest/lates.. ninano1109.tistory.com [Airflow DAG - Keyword_train] keyword_train에서 FastText 모델로 학습 후 weight 파일이 만들어짐. 예를 들어 A 인풋이 들어왔을 때 B 아웃풋을 리턴하는 로직의..
-
Docker 컨테이너 배포 파이프라인 구축 스프린트 회고프로젝트 회고록 2021. 6. 18. 22:11
0. 진행 배경 검색어 추천 학습을 위한 버전 관리 (새 고객사 추가 이후 데이터 반영, 기존 고객사 데이터 업데이트 등) 파이프라인 구축 필요 처음 목표했던 점은 keyword DAG 에서 1) 데이터 전처리, 학습 진행 후 S3 업로드와 2) 학습 결과 데이터를 바탕으로 docker 이미지 빌드 후 3) ECR에 Push하여 4) ECS에서 최신 이미지를 Pull 받아 추천 컨테이너 돌리기⇒ 추천 API 응답 확인 1. Dockerfile 작성 👉 검색어 추천 학습을 마치고 해당 버전을 구분할 수 있는 TIMESTAMP(날짜_시간) 태그를 달아서 docker 이미지 빌드 후 ECR에 이미지 Push 하기 위한 Dockerfile 작성 FROM --platform=linux/amd64 python:3...
-
👣 방문자 기록 사이트 토이프로젝트 회고프로젝트 회고록 2021. 4. 27. 22:30
😎 Before We Start: Docker란? 개발 결과물(환경)에 대해 사진을 찍듯 Docker image를 빌드하고, 해당 이미지를 바탕으로 container를 실행하면 다른 어떤 컴퓨터에서도 동일한 환경을 세팅해주어 서비스를 정상적으로 실행시킬 수 있습니다. 1) 팀 협업을 하는 경우, 2) AWS에 올리는 경우, 3) 다른 컴퓨터에서 작업을 이어갈 경우 등 현재 작업 중인 컴퓨터 외 다른 환경에서도 필요한 설정(프로그램 설치, 서비스 실행 명령어 등)을 복제하여 환경 설정을 위한 반복 작업을 자동화시킬 수 있는 편리함이 장점입니다. 이번 프로젝트에서 Docker를 사용한 이유: [완벽한 IT 인프라 구축을 위한 Docker] 책 학습 중 dockerfile을 실제 작성해보고, docker co..