Новости

Где разворачивать приложения: пять платформ — пять подходов

Где разворачивать приложения: пять платформ — пять подходов

Разворачивание приложений: пять платформ — пять подходов

Разворачивание приложений: пять платформ — пять подходов
ARTICS MEDIA

Всем известна ситуация, когда вы запускаете свой проект или сервис одиночкой или вместе с командой и через некоторое время осознаете необходимость перейти на другую платформу для деплоя кода из-за ограничений текущего инструмента. Это может быть Lovable для тестирования гипотез, но что делать дальше? Магия и меч этой статьи будут Heroku, Vercel, Fly.io , Railway и Porter.

Пятый день рынка и пятнадцатилетняя история

Пятый день рынка и пятнадцатилетняя история
ARTICS MEDIA

Представьте ситуацию: вы в одиночку или вместе с командой запускаете своё приложение или сервис, и через какое-то время инструмент, с которого вы стартовали для проверки гипотезы (например, тот же Lovable) становится тесен. Это значит, что пора переходить на другой. Но какой?

Heroku, Vercel, Fly.io , Railway и Porter появились на рынке именно в этом порядке, и такая последовательность отражает то, как менялись подходы к построению приложений за последние пятнадцать лет. Каждая платформа в свое время решала конкретную боль индустрии, что уже вошло в архитектурное решение своих продуктов. В этой статье я рассмотрю их последовательно с учетом их времени их появления, вводимых ими абстракций, попытаюсь раскрыть смысл данных абстракций и как это влияет на архитектуру разрабатываемых приложений.

Итак, давайте взглянем на пять основных платформ для развертки приложений:

Heroku

Первая среди них стала легендарной платформой на базе Java. Она предлагает простой способ деплой кода из GitHub или GitLab без необходимости устанавливать дополнительные сервера и управление диспетчерами контекста. Однако ее ограниченность заключается не только в том, чтобы она работает только под определёнными технологическими аршинами, но и в том, что управляемые БД могут быть проблемным местом. При работе с большим объемом запросов можно столкнуться с тем, что данные из одной операции зависают до начала следующих задач.

Vercel

Вторым шагом является платформа Vercel, которая предоставляет облачный вариант для Vue.js, React и других популярных фрейворков. Преимущественно благодаря своему API для автоматического рендеринга страниц, который позволяет быстро развивать и тестировать ваши проекты. Однако существуют ограничения на количество потоков, которые может обслужить один экземпляр приложения, особенно при большом количестве пользователей.

Fly.io

Третьей платформой является Fly.io — это небольшая компания, основанная Майком Норрисом, который ранее работал над Cloudflare. Он предложил платформу, поддерживающую Node.js, Go и другие технологии, использует AWS Backend as a Service (BaaS). С его помощью вы можете легко запускать ваш код, даже если нет нужды создавать собственный сервис. Но стоит отметить, что он не предоставляет полностью управляемую базу данных, поэтому вам придется учиться этому.

Railway

Четвёртым вариантом является Railway от Филипа Тинкина, бывшего гонконгского программиста Google. Он сочетает все преимущества вышеупомянутых платформ: быстрый запуск, удобство использования и контроля за процессом запуска вашего приложения. На самом деле же особое внимание уделяется адаптивности к конкретному трафику и индивидуальным потребностям каждой команды. Вместо того чтобы использовать свои собственные базы данных, они предоставляют готовые решения для разных типов запросов.

Porter

Пятая из этих платформ – это Porter. Основатель платформы Патрикс Гринсон разработал её как средство управления зависимостями между версионированными образами Docker-контейнеров, позволяющее более эффективно управлять несколькими выпусками одного приложения. Он также предлагает возможность создания мультиплатформенных образов, которые можно переиспользовать по всему рабочему столпу. Этот подход открывает новые горизонты в области управления и деплоя приложений.

Заключение: когда выбор пятью платформами становится сложным?

Итак, мы рассмотрели основные пять платформ для развертки приложений. Каждая имеет свое уникальное решение и архитектурное решение. Они предлагают различные возможности для разработчиков, но есть моменты, где одно обещание может оказаться ложью. Это значит, что, прежде чем выбрать свою платформу, важно понимать ее сильные стороны и недостатки, а также какие именно проблемы она решает или только начинает решать.

Продолжайте следить за новыми игроками рынка, такими как Fly.io и Porter, о которых я уже упоминал, и возможно, их конкуренты. Они могут быть интересны тем, кто хочет найти идеальную платформу для своего проекта.

FAQ

  1. Какие ключевые абстракции предложил каждая из этих платформ?
  1. Почему стоит обратиться к одиночке или вместе с командой на другую платформу?
  1. Что нужно знать перед переходом от одной платформы к другой?
Что для вас важнее в теме «Где разворачивать приложения: пять платформ — пять подходов»?

Один анонимный голос с браузера; общие итоги появятся после выбора.

Источники

Читайте также

Смотреть больше материалов