분류 전체보기 83

『따라하며 배우는 DevOps, MLOps』 책을 출간했습니다

따라하며 배우는 DevOps, MLOps | 김도경, 김수현, 이은민 | 부크크(Bookk) - 교보ebook출판 소식2023 오픈소스 컨트리뷰션에서 DevOps/MLOPs 프로젝트에 참가했었던 기록을 블로그에도 남겼었는데요. (👉🏻 링크)좋은 기회가 닿아 프로젝트 내용을 토대로 책을 출간하게 되었습니다🎊🎊비기너들을 대상으로 클라우드 삼대장(Azure, AWS, GCP)을 활용해 DevOps, MLOPs를 구축하는 방법을 안내하는 것이 책의 목적입니다.사실 삼사 클라우드를 모두 다루는 책은 찾아보기 힘들어서(좋은 책 아시면 알려주세요!) 이 부분을 강점으로 어필 중입니다. ㅎㅎ같이 오픈소스 프로젝트에 참가했었던 동료 두 분과 공동 저자로, 저는 Azure DevOps, MLOPs 파트를 집필(및 ..

공지사항 2024.08.15

퓨처플레이 류중희 대표의 “문제가 문제다” 강연 후기

연사: 퓨처플레이 류중희 대표 주제: 문제가 문제다; 풀어야 하는 문제에서 찾아야 하는 문제로 https://www.youtube.com/live/I3tCH60UMqg?si=mgzPB-s8oxtj6n5m 나만의 takeaway는 마지막에... 문제 정의가 문제이다 내가 좋은 문제를 찾고 있는가? 다른 사람들이 문제라고 하는 것을 해결하려고 하는 것이 아닌가? 우리 인생은 문제를 푸는 과정이다 그런데 누가 나에게 문제를 내는가? 남이 나에게 내는 문제만 풀며 살고 있는 것이 아닌가? 류중희 연사 소개 책과 전자제품 공부를 잘하는 모범생 ⇒ 선생님이 내준 숙제를 잘 푼다는 자신감 카이스트 대학원 진학 → 부모님은 내가 연구하는 것을 전혀 모른다 → 나는 왜 이런 문제를 풀고 있을까? 의문. 내가 지금 풀고 ..

그 외 2024.03.18

Prisma 스키마 동기화 중 Schema Drift 발생 시 데이터베이스 리셋 없이 해결하기

개요 내가 일하는 곳은 Prisma + PostgreSQL을 스택으로 한다. 프리즈마 스키마와 데이터베이스 스키마 동기화 과정 중에 발생한 스키마 드리프트(schema drift)를 어떻게 리셋 없이 해결했는지 작성해보고자 글을 쓴다. 발단 어제 오늘 서비스 성능 문제 때문에 데이터베이스 인덱스 구성을 손 보면서 조금 의아한 점이 있었다. 데이터베이스 스키마에는 인덱스가 생성되어 있는데 Prisma 스키마에는 인덱스 표기가 안 되어 있었던 것이다. 한 마디로 데이터베이스 스키마와 Prisma 스키마 간에 일치하지 않는 부분이 있었다. 문제는 이 상태에서 데이터베이스에 새로운 인덱스를 생성하거나 삭제한 뒤 스키마 동기화를 시도할 때다. 프리즈마가 DB와 ORM 스키마 간 차이가 발생했다는 것을 경고하며 계..

2024.02.27

이미 추적 중인 파일 gitignore 적용 시키기

.gitignore는 이미 추적 중인 파일에 대해서는 동작하지 않는다. 무시하려는 파일이 이미 추적되고 있다면, 먼저 Git의 추적에서 제거해야 한다. 삭제했다가 다시 커밋하는 방법이 있긴 한데 아래처럼 이미 추적 중인 파일 캐시를 지우면 추가 커밋 없이도 해결할 수 있다. git rm --cached file_to_ignore.txt ※ 디렉토리 통째로 ignore 해야 하는 경우 -r 옵션 붙여줄 것 그러면 아래처럼 delete으로 인식하면서 gitignore 적용을 받는다.

Git & GitHub 2023.08.21

2023 오픈소스 컨트리뷰션 DevOps & MLOps (7) MLOps편 (Azure MLOps 템플릿 + Github Actions로 파이프라인 만들기)

MLOps 구현하기 2: Azure MLOps (v2) Solution Accelerator 템플릿 사용하기 (Github Actions로 솔루션 엑셀러레이터 배포하기) 참고: Azure/mlops-v2: Azure MLOps (v2) solution accelerators. Enterprise ready templates to deploy your machine learning models on the Azure Platform. (Github.com) mlops-v2/documentation/deployguides/README.md at main · Azure/mlops-v2 (Github.com) 들어가기 전에 솔루션 엑셀러레이터라는 것을 사용해 머신러닝 프로젝트를 Github Actions으로 자..

DevOps & MLOps 2023.08.19

2023 오픈소스 컨트리뷰션 DevOps & MLOps (6) MLOps편 (컴포넌트 생성하고 머신러닝 파이프라인 만들기)

MLOps 구현하기 1: Azureml examples 튜토리얼 따라하기 (파이프라인 만들기) 들어가기 전에 MLOps 첫 편에서 파이썬 코드만을 이용해 모델을 클라우드 환경에서 훈련시키고 결과를 확인할 수 있도록 했다. 다음으로 모델을 배포시키는 과정을 밟았다. 이번 편에서는 Azure 머신러닝과 Azure 머신러닝 Python SDK v2를 이용해 프로덕션 환경에서 사용할 머신러닝 프로젝트를 만들어보려고 한다. 동일한 저장소의 pipeline.ipynb 파일을 실행한다. 즉, 다음을 할 수 있다. Azure 머신러닝 워크스페이스에 대한 핸들링 생성하기 Azure 머신러닝 데이터 에셋 생성하기 재사용 가능한 Azure 머신러닝 컴포넌트 만들기 Azure 머신러닝 파이프라인을 만들고, 검증하고, 실행시키..

DevOps & MLOps 2023.08.16

2023 오픈소스 컨트리뷰션 DevOps & MLOps (5) MLOps편 (Azure 클라우드에 머신러닝 모델 카나리 배포 적용하기)

MLOps 구현하기 1: Azureml examples 튜토리얼 따라하기 (모델 배포하기) 들어가기 전에 이전 편에서는 모델을 클라우드 환경에서 훈련시키고 해당 모델을 훈련한 결과를 클라우드 대시보드에서 확인하는 과정을 수행했다. 이제는 이 모델을 실제로 배포하는 과정을 수행한다. 이를 위해 Azure 머신러닝 Python SDK v2 라는 것을 사용할 것이다. 이전 편에서 clone한 동일한 저장소에서 tutorials/get-started-notebooks/deploy-model.ipynb 노트북을 실행한다. 워크 스페이스 핸들 생성하기 이전 편에서 모델을 훈련시키기 위해서 ml_client를 생성하였다. 이번에도 모델을 클라우드 환경에서 지지고 볶고 하기 위해서 ml_client가 필요하다. fro..

DevOps & MLOps 2023.08.16

2023 오픈소스 컨트리뷰션 DevOps & MLOps (4) MLOps편 (클라우드 환경에서 모델 훈련시키고 결과 한 눈에 보기)

들어가기 전에 (나의 이야기) "개발자가 되어야 겠다"고 생각하게 된 가장 첫 계기를 거슬러 올라가면 인공지능이었다. AI가 가져올 미래에 매료되었고 부스트코스 강의를 통해서 파이썬을 배우고 수학을 배우고 머신러닝 예제를 따라하며 시작했다. 재미있고 흥미진진한(?) 경험이었다. 커리어적인 무언가를 구체적으로 구상하며 그랬던 것은 아니고 오로지 재밌어보이고 관심이 있어서 시작했다. 지금 MLOps 주제를 다루게 된 것도 마찬가지로 순전히 흥미와 알고싶다는 마음으로 시작되었다. 이전에 머신러닝/딥러닝 예제들을 진행하면서 학습에 필요한 이 데이터들은 어떻게 관리하는지, 하다못해 간단한 예제 모델을 돌리는 데에도 여러번 실험해야 했는데 현업에서는 더 많은 실험을 하고 모델 훈련이 필요할텐데 그 수많은 실험의 결..

DevOps & MLOps 2023.08.09

2023 오픈소스 컨트리뷰션 DevOps & MLOps (3) DevOps편 (ACI, AKS 두 개 소 동시 배포 자동화)

전 편에서 ACI에 배포 자동화를 구축했다. 이제 더 나아가서 ACI, AKS 두 서비스에 동시에 배포할 수 있도록 구성할 것이다! ACI 배포 구성은 마쳤으므로, AKS 배포 자동화를 알아본다. ACI, AKS 두 타겟에 deploy하기 [!NOTE] AKS란 cluster를 빠르게 배포하고 관리할 수 있는 관리형 쿠버네티스 서비스. CLI로 AKS 클러스터 만들기 여기를 참고한다 ☞ Quickstart: Deploy an Azure Kubernetes Service (AKS) cluster using Azure CLI - Azure Kubernetes Service | Microsoft Learn 아래 명령어를 통해 AKS 클러스터를 생성한다. 나는 OsscaDevops-Cluster라는 클러스터를 ..

DevOps & MLOps 2023.08.06

2023 오픈소스 컨트리뷰션 DevOps & MLOps (2) DevOps편 (지속적 배포, Azure Container Instances)

클라우드 서비스에 github workflow 구성하기 w/ Azure CLI (1)편에 이어 Azure 서비스에 본격적으로 배포 자동화를 구축한다. Azure에 컨테이너 인스턴스를 생성하도록 github action을 구성한다. 진행하기 위해서 두 가지 필요조건이 있다. azure CLI azure container registry azure CLI를 이용할 것이다. azure CLI를 설치하려면 여기를 참고한다 ☞ Install the Azure CLI on Linux | Microsoft Learn Azure 리소스 그룹 생성하기 리소스 그룹을 꼭 사용해야 하는 것인가? 찾아본 설명에 따르면, azure 리소스 그룹은 리소스 관리의 기본 단위이므로 리소스를 생성할 때마다 리소스 그룹을 지정해야 한다..

DevOps & MLOps 2023.08.06