Какие существуют альтернативы Google App Engine?[закрыто]

StackOverflow https://stackoverflow.com/questions/153721

  •  03-07-2019
  •  | 
  •  

Вопрос

Какие существуют альтернативы GAE, учитывая, что у меня уже есть хороший фрагмент работающего кода, который я хотел бы сохранить.Другими словами, я изучаю python.Однако мой вариант использования - это скорее низкое количество запросов, вариант использования с более высокой загрузкой процессора, и я беспокоюсь, что, возможно, я не смогу оставаться в App Engine вечно.Я слышал, как многие люди говорили об Amazon Web Services и других облачных провайдерах, но мне трудно понять, где большинство этих других предложений предоставляют тот спектр услуг (запрос данных, аутентификация пользователя, автоматическое масштабирование), который предоставляет App Engine.Какие у меня здесь есть варианты?

Это было полезно?

Решение

Я не думаю, что сейчас есть другая альтернатива (в отношении переносимости кода) GAE, поскольку GAE находится в своем собственном классе.Конечно, GAE - это облачные вычисления, но я рассматриваю GAE как подмножество облачных вычислений.EC2 от Amazon - это тоже облачные вычисления (как и ускорители Joyent, Slicehost Slices), но, очевидно, что это тоже два разных зверя.Итак, прямо сейчас вы находитесь в ситуации, которая требует переосмысления вашей архитектуры в зависимости от ваших потребностей.

Непосредственными преимуществами GAE является то, что он практически не требует технического обслуживания в том, что касается инфраструктуры (масштабируемого веб-сервера и администрирования баз данных).GAE больше ориентирован на тех разработчиков, которые хотят сосредоточиться только на своих приложениях, а не на базовой системе.В некотором смысле вы можете считать его удобным для разработчиков.Теперь следует также сказать, что эти другие решения для облачных вычислений также пытаются позволить вам беспокоиться о своем приложении столько, сколько вам нравится, предоставляя образы / шаблоны виртуальных машин.В конечном счете ваши потребности будут диктовать подход, который вы должны избрать.

Теперь, имея все это в виду, мы также можем создавать гибридные решения и обходные пути, которые также могли бы удовлетворить наши потребности.Например, GAE не кажется непосредственно подходит для этого конкретного приложения, которое вы описываете.Другими словами, GAE предлагает относительно большое количество запросов, низкое количество циклов процессора (не уверен, будет ли платная версия чем-то отличаться).

Однако одним из способов решения этой проблемы является создание индивидуального решения, включающего GAE в качестве интерфейса и Amazon AWS (EC2, S3 и SQS) в качестве серверной части.Некоторые скажут, что с таким же успехом вы могли бы создать весь свой стек на AWS, но для этого также может потребоваться переписывание большого количества существующего кода.Кроме того, в качестве обходного пути предыдущая сообщение stackoverflow описывает метод моделирования фоновых задач в GAE.Кроме того, вы можете заглянуть в HTTP-карта /Уменьшить также для распределения рабочей нагрузки.

Другие советы

Масштаб приложения

AppScale - это платформа, которая позволяет пользователям развертывать и размещать свои собственные приложения Google App Engine.Он выполняется автоматически через Amazon EC2 и Eucalyptus, а также Xen и KVM.Он был разработан и поддерживается Системы масштабирования приложений.Он поддерживает платформы Google App Engine на Python, Go, PHP и Java.

http://github.com/AppScale/appscale

В то же время...

...сейчас конец 2015 года, и кажется, что контейнеры - это путь вперед.Появляются альтернативы GAE:

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

Есть некоторые предстоящий PaaS в Docker, таком как

Интересный материал, за которым стоит следить.

Немного поздновато, но я бы попробовал Heroku:

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

https://www.heroku.com/about

По состоянию на 2016 год, если вы готовы объединить ПааС (платформа как услуга) и ФааС (функционирует как услуга) в том же бессерверные вычисления категория, тогда у вас есть несколько вариантов FaaS.

Проприетарный

AWS Лямбда

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

Пошаговые функции AWS дополняет AWS Lambda.

AWS Step Functions позволяет легко координировать компоненты распределенных приложений и микросервисов с помощью визуальных рабочих процессов.Создание приложений из отдельных компонентов, каждый из которых выполняет отдельную функцию, позволяет быстро масштабировать и изменять приложения.Пошаговые функции - это надежный способ координации компонентов и пошагового выполнения функций вашего приложения.Step Functions предоставляет графическую консоль для упорядочивания и визуализации компонентов вашего приложения в виде серии шагов.Это упрощает создание и запуск многоступенчатых приложений.Пошаговые функции автоматически запускают и отслеживают каждый шаг, а также повторяют попытки при обнаружении ошибок, чтобы ваше приложение выполнялось по порядку и так, как ожидалось.Пошаговые функции регистрируют состояние каждого шага, поэтому, когда что-то пойдет не так, вы сможете быстро диагностировать и отлаживать проблемы.Вы можете изменять и добавлять шаги, даже не написав код

Функции Google Cloud

По состоянию на 2016 год он находится в альфа-версии.

Google Cloud Functions - это легкое асинхронное вычислительное решение на основе событий, которое позволяет создавать небольшие универсальные функции, реагирующие на облачные события, без необходимости управлять сервером или средой выполнения.События из Google Cloud Storage и Google Cloud Pub / Sub могут запускать облачные функции асинхронно, или вы можете использовать HTTP-вызов для синхронного выполнения.

Функции Azure

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

Открыть

Бессерверный

Бессерверная платформа позволяет вам развертывать функции автоматического масштабирования, оплаты за выполнение, управляемые событиями, в любом облаке.В настоящее время мы поддерживаем Lambda от Amazon Web Service и расширяемся для поддержки других облачных провайдеров.

Функции железа

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


Остается посмотреть, насколько хорошо FaaS конкурирует с CaaS (контейнер как услуга).Первый вариант кажется более легким.И то, и другое, похоже, подходит для архитектур микросервисов.

Я ожидаю, что функции (как в FaaS) - это еще не конец цепочки, и что через много лет мы увидим новые абстракции сервисов, напримерразработка только для тестирования, за которой следуют сценарии на простом языке.

Хорошим вариантом является Amazon Elastic Compute Cloud или EC2.По сути, вы запускаете виртуальные машины Linux на их серверах, которыми вы можете управлять через веб-интерфейс (для включения и выключения питания) и, конечно, получать доступ через SSH или что-то еще, что вы обычно настраиваете...И поскольку вы управляете установкой Linux, вы, конечно, можете запустить python, если хотите.

Возможно, стоит рассмотреть Microsoft Windows Azure.Боюсь, я им не пользовался, поэтому не могу сказать, насколько он хорош, и вы должны иметь в виду, что на данный момент это ОСАГО.

Проверьте это здесь.

Если вы заинтересованы в облаке и, возможно, хотите создать свое собственное для производства и / или тестирования, вам следует взглянуть на Эвкалипт.Предположительно, это код, совместимый с EC2, но с открытым исходным кодом.

Возможно, вы также захотите взглянуть на Эластичный Бобовый стебель AWS - он имеет более близкую эквивалентность функциональности GAE в том смысле, что он разработан как PaaS, а не как IaaS (т. е.EC2)

Мне было бы больше интересно посмотреть, как App Engine можно легко связать с другим сервером, используемым для интенсивных запросов к процессору.

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

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

Одна из замечательных особенностей Jelastic заключается в том, что вам не нужно вносить никаких изменений в код вашего приложения, за исключением изменений функциональности вашего приложения, но не по той причине, по которой этого требует выбранная платформа.Ссылаясь на это, вы на самом деле не тратите свое время впустую.Процесс развертывания просто безупречен, и вы можете развернуть свой файл .war в любом другом месте.Использование GAE требует, чтобы вы модифицировали приложение в соответствии с их системными потребностями.На случай, если вам посчастливится начать работать с Java и начать искать более гибкую платформу, Jelastic является совместимой альтернативой.

Вы также можете использовать проект Red Hat Cape Dwarf project для запуска приложений GAE поверх сервера приложений Wildfly (ранее JBoss) без изменений.

Вы можете проверить это здесь:

http://capedwarf.org/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top