인공지능 개발자 수다(유튜브 바로가기) 자세히보기

Fastapi

FastAPI의 특징과 장단점

Suya_03 2024. 1. 14. 22:25

목차

    반응형

    FastAPI는 2024년 현재 인공지능 분야에서 널리 사용되는 백엔드 프레임워크입니다. 

     

    최근에는 많은 서비스들이 마이크로 서비스 방식으로 서버를 구축하는 경향이 있는데, 특히 인공지능 분야에서는 파이썬을 사용하여 개발하는 경우가 많습니다. 

     

    이러한 맥락에서, 인공지능 서버를 별도로 구축하여 서비스에 통합하는 데 적합한 백엔드 프레임워크로서 FastAPI의 사용이 증가하고 있습니다.

     

    1. 특징 및 장점

    • 빠른 성능
      • Starlette (비동기 Python 웹 프레임워크): 비동기 프로그램이란, 특정 작업의 완료를 기다리지 않고 다른 작업을 동시에 수행할 수 있는 프로그래밍 방식
      • Pydantic: 효율적인 데이터 검증과 타입 변환, 고급 문자열 포매팅, 변수 어노테이션, 데이터 클래스 등을 효율적으로 사용
    • 쉬운 데이터 검증
      • Pydantic: 데이터 유효성 검사(validation)와 설정 관리(settings management)를 위한 라이브러리로 데이터를 깔끔하고 정확하게 처리하는 데 도움을 줍니다. 예를 들어, 어떤 프로그램이나 애플리케이션에서 정보를 입력받을 때, Pydantic은 그 정보가 올바른 형식인지 확인해줍니다.
    • 자동 문서 생성
      •  Swagger UI와 ReDoc을 사용하여 자동으로 API 문서를 생성

     

    2. 언제 사용하면 좋을까?

    • 고성능 API 개발
      • 많은 수의 동시 요청을 처리하거나 높은 처리량이 요구되는 API 서버를 구축할 때 탁월한 선택일 수 있다.
      • 즉 인공지능 모델을 배포할 때, 아주 유용하다.
    • RESTful API 및 마이크로서비스
    • 빠른 개발과 간단한 유지보수
    • 소규모 API 개발에 적합
      • FastAPI는 아주 간단한 코드 만으로도 서버를 만들 수 있어, 간단한 기능을 하는 API를 만들기 좋다.

     

    3. FastAPI의 단점

    • 커뮤니티 및 자원의 상대적 부족
      • 비교적 새로운 프레임워크이므로, Django나 Flask와 같은 오래된 프레임워크에 비해 커뮤니티가 작고, 사용자 기반과 자원이 상대적으로 적다.
    • 학습 곡선
      • FastAPI는 비동기 프로그래밍, 타입 힌트, Pydantic 등 현대적인 파이썬 개념을 적극적으로 사용합니다. 이러한 개념에 익숙하지 않은 개발자들에게는 학습 곡선이 가파를 수 있습니다.

    4. FastAPI를 배우려면 어떤 것을 알아야 하는가

    • 기본적으로 알아야 할 내용
      • Python
      • 비동기 프로그래밍 개념(Starlette)
      • RESTful API 개념
      • Dependency Injection 등과 같은 디자인 패턴
      • Pydantic
      • SQLAlchemy: ORM(Object-Relational Mapping) 라이브러리, 데이터베이스 사용할때 사용함.
      • JWT: 로그인 인증

     

     

    반응형