FastAPI 란?
FastAPI 란 API 를 만들기 위한 파이썬 웹 프레임 워크
그렇다면 API 란 무엇인가?
- API (Application Programming Interface)는 서비스의 요청과 응답을 처리하는 서비스를 의미한다.
주요 특징과 사용 분야
주요 특징
- 성능:
- FastAPI는 비동기 기능을 지원하여 매우 높은 성능을 자랑합니다. 이는 Node.js나 Go와 같은 언어로 작성된 프레임워크와도 견줄 만합니다.
- Starlette와 Pydantic이라는 강력한 라이브러리를 기반으로 하여 비동기 처리를 지원합니다.
- 자동화된 문서 생성:
- FastAPI는 OpenAPI 및 JSON Schema 표준을 기반으로 자동으로 API 문서를 생성합니다. Swagger UI와 Redoc을 통해 쉽게 문서를 확인할 수 있습니다.
- 타이핑 지원:
- Python의 타입 힌팅(type hints)을 적극적으로 활용하여 코드의 가독성과 안정성을 높입니다. 이는 코드 자동 완성 기능을 더 잘 활용할 수 있게 해줍니다.
- 간편한 사용:
- 간단한 코드로 강력한 API를 구축할 수 있습니다. 설정과 구조가 직관적이며, 필요한 설정이 적습니다.
사용되는 분야
- 웹 애플리케이션 개발:
- FastAPI는 웹 애플리케이션과 RESTful API를 개발하는 데 적합합니다. 빠른 개발 주기와 높은 성능 덕분에 웹 애플리케이션의 백엔드로 자주 사용됩니다.
- 마이크로서비스:
- 경량 프레임워크인 FastAPI는 마이크로서비스 아키텍처에서 각 서비스의 독립적 개발과 배포에 유리합니다.
- 머신러닝 모델 서빙:
- 머신러닝 모델을 웹 API로 제공하기 위해 FastAPI가 많이 사용됩니다. 빠른 성능과 간편한 배포가 가능하여 데이터 사이언티스트와 머신러닝 엔지니어들 사이에서 인기가 많습니다.
- 데이터 처리 및 분석:
- 데이터 처리 파이프라인을 구축하고, 데이터를 분석하고 시각화하기 위한 API를 제공하는 데 유용합니다.
- IoT 백엔드:
- IoT 장치와의 통신을 위한 백엔드 서비스로 FastAPI가 사용될 수 있습니다. 빠른 응답 시간과 비동기 처리 기능이 특히 유용합니다.