Heroku против AWS — сравнение

Опубликовано: 5 Марта, 2023
Heroku против AWS — сравнение

Когда вы думаете об облаке, первое имя, которое, вероятно, приходит вам на ум, — это Amazon Web Services. Это правильно, так как сегодня это доминирующий игрок на рынке облачных вычислений с долей рынка около 40 процентов как на рынках IaaS, так и на рынках PaaS.

AWS предлагает широкий спектр продуктов для каждой категории облачных вычислений. Фактически, у него более сотни продуктов, охватывающих области вычислений, доставки контента, баз данных, сетей, инструментов разработчика, управления, безопасности, аналитики, Интернета вещей, разработки игр, мобильных сервисов, сервисов приложений, корпоративных сервисов и продаж. Имея такой впечатляющий список, Amazon создала собственную экосистему, в которой один продукт взаимодействует и хорошо работает с другими.

Тем не менее, AWS может не подходить во всех ситуациях просто потому, что он слишком большой и сложный. Возьмем практическую ситуацию. Допустим, вы фрилансер, разработчик Ruby on Rails, и хотите разместить страницу портфолио для клиента, который является юристом. Это довольно простое приложение с домашней страницей, страницей обо мне, страницей контактов и страницей портфолио, на которой перечислены все важные судебные процессы, выигранные этим клиентом.

Чтобы разместить такое простое приложение, вам не нужен AWS, так как время и усилия, необходимые для его настройки и управления, намного больше, чем необходимо. В таких случаях подойдет более простая хостинговая платформа, такая как Heroku.

Что такое Героку?

Если вы никогда не слышали о Heroku, то это платформа как услуга (PaaS), которая позволяет компаниям создавать, развертывать, отслеживать и масштабировать свои приложения. Этот инструмент веб-развертывания работает на многих языках программирования, таких как Node.js, Java, Ruby, Scala, PHP, Python и других.

Приведенный выше пример — это один из сценариев, в котором Heroku работает лучше, чем AWS, но это не окончательный вердикт.

Давайте углубимся в обе эти платформы облачного развертывания, чтобы увидеть, какая из них лучше всего подходит для данной ситуации.

Heroku против AWS

Во многих отношениях люди считают Heroku и AWS серьезными конкурентами в области развертывания приложений, поскольку оба позволяют развертывать веб-приложения и управлять ими в облаке Amazon. Независимо от того, что вы выберете, вам не нужно беспокоиться о базовой инфраструктуре, поскольку об этом позаботится облако AWS.

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

Давайте сравним обе платформы, чтобы помочь вам решить, какая из них идеально подходит для приложения, которое вы хотите развернуть.

Расходы

Вероятно, одним из самых больших преимуществ AWS является его цена. Текущий базовый тарифный план начинается с 0,013 доллара в час, и это один из самых низких показателей в отрасли. Это также одна из областей, в которой AWS значительно превосходит Heroku.

Heroku, с другой стороны, стоит 0,05 доллара в час и может быстро окупиться. Поэтому, если у вас есть финансовые ограничения и вы работаете с небольшим бюджетом, AWS может быть лучшим вариантом. Однако помните, что эти ставки могут быть изменены из-за интенсивных ценовых войн за облачные вычисления, которые происходят сегодня.

Изображение 624
Pixabay

DevOps-инженеры

При рассмотрении затрат важно учитывать не только расходы на хостинг, но и заработную плату, которую вы будете платить инженерам DevOps, которые потребуются для управления вашим сервисом хостинга AWS.

При настройке AWS вам понадобится один или несколько преданных DevOps-инженеров, которые могут позаботиться о подготовке экземпляров EC2, контролировать процесс развертывания приложений и определять взаимодействие экземпляров EC2 путем оркестровки инфраструктуры.

В случае с Heroku вам не нужен инженер DevOps, так как всем можно управлять прямо из самой командной строки.

Вычислительные требования

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

Вот некоторые из инструментов, к которым у вас будет доступ в экосистеме AWS:

  • Аварийное восстановление
  • Балансировки нагрузки
  • Вертикальное масштабирование
  • Блочное хранилище

Ни одна из этих функций не доступна в Heroku. В этом смысле Heroku идеально подходит для небольших приложений, которым не требуется тонна вычислительных ресурсов, за исключением простого автоматического и горизонтального масштабирования, которые обрабатываются базовой инфраструктурой AWS.

Быстрое развертывание

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

Кроме того, тот факт, что он не такой открытый, как AWS, означает, что вы можете мигрировать и запускать свои приложения намного быстрее, чем на AWS.

Такой быстрый процесс развертывания делает Heroku идеальным для приложений, которые необходимо изменить или улучшить на основе отзывов пользователей. Вы никогда не получите такого же уровня скорости на AWS.

Легко использовать

Heroku прост в использовании, а его веб-интерфейс довольно интуитивно понятен. Клиент CLI работает хорошо, и даже можно легко добавить любую услугу, которую вы хотите, с помощью надстроек. В целом, инструменты, предлагаемые Heroku, сложны и хорошо служат своей цели.

AWS не так просто настроить и управлять просто потому, что он огромный и сложный.

Ограниченный выбор

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

Хотя некоторые энтузиасты Heroku считают, что существуют хаки, которые помогут вам запускать неподдерживаемые платформы на Heroku, тот факт, что вам нужно использовать хак для чего-то, что должно быть простым, вызывает беспокойство.

Согласие

AWS автоматически соответствует многим существующим стандартам, таким как FedRAMP, HIPAA, SOC 2 и FIPS 140-2, поэтому вам не нужно предпринимать дополнительные шаги, чтобы ваше приложение или его базовая платформа соответствовали этим стандартам.

Heroku, с другой стороны, совместим только с PCI и ISO 270001. Это отсутствие соответствия означает, что у вас будет больше работы, если вы решите развернуть большие приложения в секторах банковского дела, финансов, электронной коммерции, здравоохранения и правительства..

Совместимость

Это один из аспектов, в котором AWS и Heroku равны, и выбор действительно зависит от того, что вам нужно.

AWS совместим с:

  • Операционная система Windows
  • Амазон Линукс
  • .NET Framework
  • ПО промежуточного слоя, такое как Tomcat, Lis, HTTPD и Passenger.
  • Базы данных, такие как Microsoft SQL и Oracle DB.

С другой стороны, Heroku совместим с

  • Кложур
  • Скала
  • Джанго
  • Google Cloud SQL
  • Веб-приложение2
  • Облачное хранилище Google
  • PostgreSQL
  • Облачное хранилище данных Google
  • Множество дополнений, таких как Adept, papertrail, Redis Cloud, Sendgrid, Mongolab, Logentries, Treasure Data и другие.

Таким образом, выбор действительно заключается в том, что вы хотите использовать в своем приложении.

Географическое ограничение

Еще один небольшой недостаток Heroku заключается в том, что он в основном доступен только в некоторых странах, таких как США, Европа, Канада, Австралия, Япония, Китай, Индия, а также в некоторых частях Латинской Америки и Ближнего Востока, в то время как AWS является международным и присутствует в практически все страны мира.

Сравнительная таблица

Вот краткая таблица различий, о которых мы говорили.

Особенность АМС Героку
Расходы 0,013 доллара США в час 0,05 доллара США в час
Нужны DevOps инженеры Должен Нисколько
Вычислительные требования вашего приложения Высокая Низкий
Расширенные функции, такие как аварийное восстановление и балансировка нагрузки. Да Нет
Автоматическое и горизонтальное масштабирование Да Да
Быстрое развертывание Нет Да
Природа экосистемы открытый Собственный
Соответствие стандартам Да Нет, кроме PCI и ISO 27001
Сферы деятельности Международный США, Европа, Канада, Австралия, Япония, Китай, Индия и некоторые части Латинской Америки и Ближнего Востока
Службы поддержки Телефон, форумы, чат, поддержка 24/7 Только телефон и ресурсы самообслуживания

В целом, мы можем сказать, что Heroku и AWS являются хорошим выбором для развертывания вашего приложения, хотя выбор зависит от характера вашего приложения.

В целом, Heroku идеально подходит для небольших приложений, которым не требуется много вычислительных ресурсов, но требуется быстрое развертывание. Однако все крупные приложения, которые должны соответствовать существующим стандартам и нуждаются во взаимодействии и гибкости для взаимодействия с различными компонентами, лучше использовать в AWS.