[FastAPI] FastAPI 입문 part2 - CRUD 어플리케이션 만들기
지난 part1에서 FastAPI를 활용해 간단한 “hello world”와 “routing”을 살펴보았다. 이번 글에서는 CRUD 기능을 수행하는 간단한 어플리케이션을 만들어보면서 FastAPI 프레임워크에 친숙해져보자.
아래의 실습 과정은 지난 part1 글에서 이어서 해보는 것이므로, 앞의 글을 먼저 읽고 따라해보면 좋겠다.
지난 part1에서 FastAPI를 활용해 간단한 “hello world”와 “routing”을 살펴보았다. 이번 글에서는 CRUD 기능을 수행하는 간단한 어플리케이션을 만들어보면서 FastAPI 프레임워크에 친숙해져보자.
아래의 실습 과정은 지난 part1 글에서 이어서 해보는 것이므로, 앞의 글을 먼저 읽고 따라해보면 좋겠다.
회사에서는 그동안 데이터 파이프라인을 만들고 모델을 만드는데 열중하였다. 그리고 모델 개발이 완료되고, 이를 서비스하기 위해 다양한 방법을 고민하였다. 물론 모델 개발을 기획하기전 서비스를 어떻게 할지 구조와 계획을 세웠으나, 다양한 내부적인 이슈들이 있었다. 실시간성과 빠른 응답이 필요한 time-out 이슈, 장비의 노후화 등 여러가지 문제를 마주하였었고 이를 해결하기 위해서 자체 개발한 API가 필요하다는 것이 결론이었다.
머신러닝 모델을 서비스하고 운영하기 위해 MLOps라는 단어가 등장하였다. 다양한 회사와 플랫폼에서 MLOps를 지원하기 위해 많은 제품을 내놓고 있으나 내가 있는 환경에 딱 들어 맞는 것이 없었다. 그래서 이번 기회에 FastAPI 를 이용해 자체 API 를 만들었다. 실제 배포되어 운영되고 있는 코드는 훨씬 복잡할 수는 있겠지만 기본 뼈대와 구조는 모두 동일할 것이다. 글을 쓰는 나 역시 FastAPI를 처음 사용해본 것이기에 스터디하면서 만들었다. 그간의 삽질과 여정을 한번 정리해보면서, 나와 비슷한 고민을 하는 분들에게 조금이나마 도움이 되길 바란다.
(또한, 이 시리즈를 쓰는데 동기와 용기를 준 글또 커피드백 조원 두 분에게 감사하며 글을 써본다. Shout out to 문현규 & 박다원)
이 글은 FastAPI 의 설치와 그 입문 그리고 기초적인 라우팅까지의 내용을 담았다. 앞으로 FastAPI시리즈로 담을 것이고 시리즈 안의 글의 순서와 목차는 내가 API를 구성하면서 스터디한 순서대로 담으려고 노력할 것이다.