Документация по умолчанию, как вы упомянули, по умолчанию: github wiki.
Есть старые документы по архитектуре и AppScale в целом, что вы можете найти здесь:
Есть несколько статей, подробно особенности в AppScale
Поскольку проект вышел из университета и вращали в компании, основное внимание уделялось удобству использования и надежности. С тех пор, как вы упомянули выше, многое изменилось.
Какова основная архитектура AppScale? Как это работает? (Кроме того, что она напоминает GAE)
AppScale ваша основная три уровня веба-архитектура (балансировки нагрузки, сервера приложений, хранилище данных), а также дополнительные услуги для поддержки наиболее популярного GAE API (Memcache, TaskQueue, Blobstore, и т.д).
Как обновить AppScale после его установки в производственной среде? Могу ли я сделать это итеративно, одна машина в то время? Я думаю, что наличие кластера с несколькими версиями AppScale (и сопутствующих сервисов) может привести к проблемам.
У нас нет прокатных модернизаций (пока), хотя у нас была живая миграция, работающая в лаборатории (см. Статью hotcloud выше). В настоящее время вы должны удалить AppScale, обновить каждую машину и перезапустить ее.
Является AppScale «просто» (ничего негативного о «просто») сборник программ/услуг (БД, веб-сервер, кэш и т.д.), в комплекте с хорошим веб-интерфейс передней части для легкого управления?Или там больше?
AppScale склеивает множество популярных и надежных распределенных технологий для обеспечения масштабируемого клона GAE. Эти технологии включают в себя: Cassandra, memcached, ZooKeeper, RabbitMQ, сельдерей, ejabberd и другие. Он автоматически настраивает и развертывает каждую из необходимых служб, чтобы сделать так, чтобы приложения GAE работали без изменений.
Как его настроить, чтобы конфигурации были согласованы во всех виртуальных машинах?
После инициализации у нас есть флаг можно установить «УПП: ~/AppScale», где вы можете сказать AppScale инструменты, где скопировать модифицированную версию кода (отличного от того, что работает на виртуальных машинах) для все машины. Если вы хотите сделать изменения во время выполнения, я рекомендую использовать такие инструменты, как распределенный ssh, для этого. См: http://www.netfort.gr.jp/~dancer/software/dsh.html.en
Где я могу найти больше информации о том, как балансировки нагрузки работает? Точно, какая загрузка сервиса балансирует? И как?
Балансировка нагрузки происходит с использованием nginx и HAProxy. Nginx запускается на головном узле и используется для статической файловой службы, конфигурации маршрута приложения и SSL. HAProxy используется для проверок работоспособности, и его статистика используется для автомасштабирования. Путь, который принимает веб-запрос, - Nginx -> HAProxy -> Web Server.
Как настроить, например, базу данных Cassandra? Просто настроить Кассандру, как я обычно делаю, не связан с AppScale?
AppScale автоматически настраивает и развертывает Cassandra. Если вы хотите изменить значения по умолчанию, которые мы используем для Cassandra, перейдите и измените код в appscale/AppDB/cassandra.
IP-адреса, которые я указываю в конфигурации AppScale, в точности, каким образом они относятся к сервисам? Являются ли они «точными» точками доступа AppScale к соответствующим службам или они действительно каким-то образом направляются на эти службы, чтобы стать частью их конфигурации?
Роли продиктованы этой предварительной конфигурацией. Точка доступа к любому приложению всегда находится через главный узел. Однако приложение имеет доступ к различным службам, которые были размещены на основе того, как вы настроили AppScale при инициализации.
И этот список можно продолжить ...
You can email the mailing list for these questions
Или посетите наш IRC канал на #appscale в freenode.net
Исходный код открыт, так что вы можете чтобы увидеть точную внутреннюю работу.
Спасибо за подробный ответ. К сожалению, это подтвердило мои опасения по поводу разбросанной и разреженной документации: при существующем уровне документации каждый должен иметь некоторые внутренние знания или делать много экспериментов. Я пропускаю уровень документации, например, Heroku (см. Https://devcenter.heroku.com/articles/quickstart и особенно https: //devcenter.heroku.com/categories/reference), и поэтому думаю, что в AppScale слишком много неизвестных, чтобы выбрать его как платформу. – someName
Я полностью согласен с someName. Я бы с удовольствием переключился на AppScale - он действительно выглядит фантастически - но после большой боли, связанной с отсутствием документации Elastic Beanstalk (которая может быть лучше, чем AppScale) или сообществом в StackOverflow, я крайне не решаюсь перейти на платформу с аналогичными недостатками. Список рассылки, по-видимому, является возможной экономией. – rattray
Большая часть документации, которая имеет значение, должна поступать от Google, то есть как написать приложение. Документация для AppScale находится в Github, и она равна hwo, чтобы установить ее (она есть, этого было недостаточно), и как использовать предварительно упакованные изображения (это рекомендуемый способ ее запуска, поэтому вы можете сосредоточиться на приложении). Для внутренних дел это может быть приятно, я согласен, но в таком быстро меняющемся проекте кажется немного дорогим, чтобы поддерживать его в актуальном состоянии, и это не будет сосредоточено на разработчике приложения. – graziano