Какие есть альтернативы Google App Engine?

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

Старый вопрос. Но служба приложений Azure предоставляет аналогичный стек PaaS для разработки: azure.microsoft.com/en-us/services/app-service

Saqib Ali 20.02.2018 23:16
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
48
1
24 536
13
Перейти к ответу Данный вопрос помечен как решенный

Ответы 13

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

Значит, в этом случае я буду нести ответственность за запуск собственного http-хоста, базы данных и т. д.? Гибкость, конечно, кажется желательной, но я не системный администратор Linux, и было бы лучше, если бы кто-то более умный, чем я, мог позаботиться об этих вещах ...

Chris Marasti-Georg 30.09.2008 20:06

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

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

Chris Marasti-Georg 01.10.2008 02:39
Ответ принят как подходящий

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

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

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

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

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

Посмотрите здесь.

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

нужна ссылка на code.google.com/p/appscale

Chii 07.01.2010 12:57

AppScale

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

http://github.com/AppScale/appscale

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

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

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

В Docker есть несколько предстоящий PaaS, например

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

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

Вы также можете взглянуть на AWS Elastic Beanstalk - он более близок к функциональности GAE, поскольку разработан как PaaS, а не IaaS (т.е. EC2).

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

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

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

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

http://capedwarf.org/

Альтернативы: 1. AppScale 2. Heroku.

Ссылка: Альтернатива для Google AppEngine?

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

Heroku is a polyglot cloud application platform. With Heroku, you don’t need to think about servers at all. You can write apps using modern development practices in the programming language of your choice, back it with add-on resources such as SQL and NoSQL databases, Memcached, and many others. You manage your app using the Heroku command-line tool and you deploy code using the Git revision control system, all running on the Heroku infrastructure.

https://www.heroku.com/about

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

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

AWS Lambda

AWS Lambda lets you run code without provisioning or managing servers. You pay only for the compute time you consume - there is no charge when your code is not running. With Lambda, you can run code for virtually any type of application or backend service - all with zero administration. Just upload your code and Lambda takes care of everything required to run and scale your code with high availability. You can set up your code to automatically trigger from other AWS services or call it directly from any web or mobile app.

AWS Step Functions дополняет AWS Lambda.

AWS Step Functions makes it easy to coordinate the components of distributed applications and microservices using visual workflows. Building applications from individual components that each perform a discrete function lets you scale and change applications quickly. Step Functions is a reliable way to coordinate components and step through the functions of your application. Step Functions provides a graphical console to arrange and visualize the components of your application as a series of steps. This makes it simple to build and run multi-step applications. Step Functions automatically triggers and tracks each step, and retries when there are errors, so your application executes in order and as expected. Step Functions logs the state of each step, so when things do go wrong, you can diagnose and debug problems quickly. You can change and add steps without even writing code

Облачные функции Google

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

Google Cloud Functions is a lightweight, event-based, asynchronous compute solution that allows you to create small, single-purpose functions that respond to cloud events without the need to manage a server or a runtime environment. Events from Google Cloud Storage and Google Cloud Pub/Sub can trigger Cloud Functions asynchronously, or you can use HTTP invocation for synchronous execution.

Функции Azure

An event-based serverless compute experience to accelerate your development. It can scale based on demand and you pay only for the resources you consume.

Открытым

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

The Serverless Framework allows you to deploy auto-scaling, pay-per-execution, event-driven functions to any cloud. We currently support Amazon Web Service's Lambda, and are expanding to support other cloud providers.

ЖелезоФункции

IronFunctions is an open source serverless computing platform for any cloud - private, public, or hybrid.


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

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

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