Выбор правильной платформы зависит от множества факторов

Веб-разработка и мобильная разработка за последние годы прошли долгий путь. Современные веб-приложения часто создаются на основе мощных функций JavaScript, таких как Angular, React и Vue.js. Хотя вы можете разместить эти веб-приложения где угодно, вам может потребоваться нечто большее, чем просто хостинг. Различные крупные облачные компании, такие как Google, Amazon и Microsoft, предлагают практически все, что вы можете попросить, в то время как будущие конкуренты, такие как Netlify, хотят предоставить впечатляющий UX для создания современных веб-сайтов.

В этой статье я хочу сосредоточиться на веб-проектах. Мы рассмотрим следующие платформы:

  • Amazon Web Services (AWS)
  • Microsoft Azure
  • Firebase / Google Cloud Platform
  • Heroku
  • Нетлифай

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

  • Стоимость: некоторые платформы вначале довольно дешевы, но становятся намного дороже при более интенсивном их использовании.
  • Производительность: одни платформы работают лучше, чем другие.
  • Возможности: в то время как некоторые платформы имеют более специализированную направленность (например, веб-проекты), некоторые более крупные платформы хотят предоставить вам комплексное решение, чтобы вы оставались в своей экосистеме.
  • Доступность в вашем регионе (например, из-за правил, таких как GDPR)
  • Соблюдение нормативных требований и ИТ-безопасность (например, сертификат ISO / IEC 27001)
  • Поддержка: при возникновении проблем мы очень ценим отличную поддержку клиентов.

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

Веб-сервисы Amazon (AWS)

Amazon Web Services уже довольно давно присутствует на рынке облачных вычислений. Независимо от того, что вам может понадобиться: AWS, вероятно, предлагает это. AWS предлагает множество продуктов с классными названиями, например:

  • Amazon S3 (облачное хранилище)
  • Amazon EC2 (виртуальные серверы)
  • Amazon DynamoDB (управляемая база данных NoSQL)
  • AWS Device Farm (тестируйте Android, iOS и веб-приложения на реальных устройствах в облаке AWS)

Netflix, Unilever и Samsung используют AWS. Вы можете получить один год бесплатного пользования, которого должно быть достаточно, чтобы разобраться. Однако, поскольку за прошедшие годы AWS значительно вырос, использование не всегда интуитивно понятно.

AWS соответствует стандартам ISO 27001 и SOC2

Microsoft Azure

Microsoft Azure - одна из ведущих платформ облачных вычислений. Как и в AWS, в Azure есть все необходимое. Microsoft предлагает специальные программы для стартапов, которые предоставляют бесплатный ограниченный доступ к службам Azure. Azure предлагает такие услуги, как:

  • Служба Azure Kubernetes (упрощение развертывания, управления и операций Kubernetes)
  • Azure DevOps (службы для групп, позволяющие обмениваться кодом, отслеживать работу и доставлять программное обеспечение)
  • Веб-приложения (быстрое создание и масштабное развертывание веб-приложений)
  • Azure Cosmos DB (глобально распределенная многомодельная база данных)

Ведущие компании, такие как Adobe, BMW и HP, полагаются на Azure. У Microsoft очень хорошая репутация в B2B, поэтому многие крупные корпорации предпочитают Microsoft Azure. Как и в случае с Amazon, пользовательский интерфейс Azure довольно сложен, что может быть сложной задачей для новых пользователей.

Firebase / Google Cloud Platform

Firebase - платформа разработки, принадлежащая Google. Технически Firebase использует Google Cloud Platform. PayPal, Twitter и Target являются клиентами Google Cloud. Благодаря опыту Google Firebase предлагает множество полезных сервисов, таких как:

  • Облачные функции (запуск кода без управления серверами)
  • Test Lab (тестирование вашего приложения на устройствах, размещенных в Google)
  • Google Analytics (бесплатная и неограниченная аналитика приложений)
  • ML Kit (машинное обучение для мобильных разработчиков)

Многим разработчикам нравится Firebase за ее мощный инструментарий и мощную инфраструктуру Google. Однако, особенно из-за GDPR и ужесточения строгих политик защиты данных, некоторые компании хотят избегать использования инфраструктуры Google.

У продукта Google есть свои плюсы и минусы, которые применимы и к Firebase. Несмотря на то, что Firebase, кажется, работает достаточно хорошо, мы все знаем, что происходит с продуктами Google, которые не оправдывают ожиданий.

Heroku

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

  • Apache Kafka
  • MongoDB
  • Новая реликвия
  • Отправить сетку

Хотя изначально Heroku был довольно уникальным, он замедлился, когда дело дошло до инноваций, и конкуренция настигла.

Heroku поддерживает большинство популярных языков, таких как Java, Python и JavaScript. Кроме того, Heroku предоставляет интерфейс командной строки, который можно использовать для развертывания с помощью одной команды. Citrix, Toyota и Unsplash, как известно, используют Heroku.

Забавный факт: физическая инфраструктура Heroku, управляемая в защищенных центрах обработки данных Amazon и использующая технологию AWS.

Netlify

Нетлифай - относительно новый соперник. Бесплатная версия уже довольно щедрая, и здесь нет сна, в отличие от бесплатной версии Heroku. Пользовательский интерфейс и возможности Netlify делают работу с ним простой и интуитивно понятной. Вот некоторые из мощных надстроек Netlify:

  • Аналитика (соответствует GDPR)
  • Функции (простое развертывание функций AWS Lambda)
  • Формы (управление формами и отправкой без серверного кода или JavaScript)
  • Удостоверение (управление подписками, входами, восстановлением пароля и т. д. без специальной службы аутентификации)

Обратной стороной является то, что облачные провайдеры, такие как Microsoft и Amazon, предлагают гораздо больше функций, чем веб-проекты. Кроме того, вы также не можете использовать другие языки программирования, такие как Java или C #, поскольку Netlify продвигает использование JAMstack. Однако вы можете использовать функции в качестве альтернативы серверным языкам, таким как Java или C #.

Такие компании, как WeWork, Verizon и Nike, являются пользователями Netlify. Также некоторые популярные проекты с открытым исходным кодом, такие как Vue.js и Kubernetes, решили использовать Netlify.

Ранее я писал статью о том, как развернуть приложение Angular на Netlify:



Заключение

Как видите, есть множество вариантов на выбор.

  • Для размещения веб-приложений моей любимой платформой стала Netlify. Он быстрый, имеет отличную поддержку и прост в использовании. К тому же продукт быстро растет.
  • Heroku - это моя платформа, когда мне нужно разместить серверную часть на основе Node.js. Я бы порекомендовал Heroku, если вы хотите легко развернуть микросервис и развернуть его за считанные минуты.
  • Firebase - интересная платформа, с которой мне еще предстоит работать над крупными проектами. Это хороший выбор для начала, особенно если вы работаете над мобильными приложениями для Android и iOS.
  • Azure и AWS - разумный выбор, если вы работаете над крупным проектом или если вам нужно огромное количество функций и продуктов, которые предлагают как Azure, так и AWS. И Azure, и AWS также работают лучше, когда ИТ-безопасность очень важна для вас (например, для банков), поскольку у них более высокие стандарты безопасности, чем у более молодых конкурентов, таких как Netlify.

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

Какую платформу вы используете? Расскажите в комментариях о своем опыте.