The Rise and Rise of FastAPI (Рубрика #API) Интересная мини‑документалка о FastAPI, которая длится меньше 10 минут. В ней говорится о том, как FastAPI прошел путь сверхбыстрого роста open source проекта по траектории вида: side‑project → "индустриальный дефолт" для API на Python. После документалки мне стало интересна судьба этого проекта и кажется, что FastAPI "выстрелил" не потому что "он fast", а потому что собрал в одном месте: - Стандарты** (ASGI, OpenAPI/JSON Schema) - Типизацию как интерфейс** (type hints → Pydantic модели) - DevEx как продукт (авто‑документация, предсказуемые ошибки, быстрый старт) - Композиционную архитектуру (Starlette‑стек, middleware, зависимости) В итоге, для команд, что его используют результаты выглядят так, что у них меньше боли на границах ответственности (APE endpoints) + быстрее интеграции + быстрее онбординг Если говорить про вехи развития проекта, то получится следующее 1️⃣ Side‑project → фреймворк Фокус был на создании "API без боли": валидируй вход, сериализуй выход, документируй автоматически 2️⃣ Технический стержень - ASGI‑модель (современная I/O‑архитектура) - Starlette как "тонкий" веб‑слой - Pydantic как слой данных: строгая валидация/сериализация поверх type hints 3️⃣ Контракт становится "живым артефактом" - OpenAPI генерится из кода. - Интерактивная документация /docs и /redoc делает API‑контракт частью ежедневной разработки, ревью и интеграций 4️⃣ Снежный ком крутого DevEx (developer experience) - Шаблоны, практики, интеграции, “как правильно” из коробки. - Порог входа падает → adoption растёт. 5️⃣ Взросление и коммерциализация вокруг поддержки - Когда популярность становится инфраструктурой для бизнеса, неизбежно появляются: поддержка, консалтинг, managed‑подходы, облака и т.п. - Это меняет ожидания: "фреймворк" → "платформа вокруг фреймворка". Если раскрывать ключевые инсайты подробнее, то получаем примерно так 1) FastAPI - это "композиция стандартов + DX", а не "магия" FastAPI не "заменяет архитектуру". Он фиксирует удачный дефолт: типы → модели → валидация/сериализация → схема → документация. По итогу у нас становится меньше неявных договорённостей и "случайных JSON" 2) Контракт‑ориентированная разработка - становится нормой OpenAPI в FastAPI - не "дока на потом", а контракт в процессе: - Проще подключать фронт - Проще делать партнёрские интеграции - Проще ревьюить изменения В итоге, скорость и надежность на другом уровне 3) Производительность - следствие правильной I/O‑модели, а не цель ASGI + async дают выигрыш только если вы: - Не блокируете event loop - Используете правильные драйверы/клиенты - Умеете проводить границы sync/async Правда, "async ради async" = быстрый путь к деградации и непредсказуемым p95/p99 4) OSS‑рост почти всегда приводит к вопросу устойчивости Если фреймворк становится критическим для тысяч компаний, возникает давление: - На поддержку - На эксплуатационные "best practices" - На продуктовую упаковку вокруг деплоя/наблюдаемости В итоге, с точки зрения технического руководителя это уже не просто "выбор библиотеки", а уже управление зависимостью На сайте system-design.space есть чуть более подробный разбор. #Engineering #Architecture #DistributedSystems #Software #SoftwareArchitecture