Что означает конфигурация приложения?

Я работаю над Google App Engine (GAE), в котором есть файл с именем (app.yaml). Поскольку я новичок в программировании, мне было интересно, что значит настроить приложение?


person Safi Marroun    schedule 03.08.2015    source источник


Ответы (2)


Если бы вы настраивали свое приложение с использованием другой платформы, например Amazon Web Services, вы бы несли ответственность за обслуживание инфраструктуры. Google App Engine упрощает этот процесс, заботясь об этом за вас, но требует, чтобы некоторые настройки были указаны в app.yaml.

Файл app.yaml относится к Google App Engine. Я приведу вам два примера:

1) Обработчики URL

Эта запись в вашем файле app.yaml:

- url: .*
  script: main.app

Указывает Google App Engine сопоставлять все входящие запросы с main.py.

2) Библиотеки

Эта запись в вашем файле app.yaml:

libraries:
- name: webapp2
  version: "2.5.2"

Сообщает Google App Engine, что вы хотите использовать библиотеку webapp2 версии 2.5.2.

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

https://cloud.google.com/appengine/docs/python/config/appconfig?hl=en

person Milo    schedule 03.08.2015

Вообще говоря, "настроить ваше приложение" означает указать с помощью некоторого механизма параметры, которые можно использовать для управления поведением вашего приложения во время выполнения. Кроме того, в случае Google App Engine эти параметры могут влиять на поведение платформы и служб, окружающих ваше приложение.

Когда вы указываете эти параметры и как вы их указываете, зависит от приложения и платформы, а иногда и от вашей собственной философии того, что нужно параметризовать. Читаемые файлы данных в таких форматах, как YAML, являются популярным выбором, особенно для веб-приложений и служб. В этом случае конфигурация будет прочитана и выполнена, когда ваше приложение будет развернуто в Google App Engine или запущено локально через GoogleAppEngineLauncher.

Теперь, это может показаться вам большим беспокойством. В конце концов, самый простой способ изменить поведение вашего приложения — просто написать код, реализующий желаемое поведение! Когда у вас есть конфигурация через файлы, как правило, больше работы по настройке: что-то должно прочитать файл конфигурации и настроить соответствующие переключатели/переменные в вашем приложении. (В конкретном случае с app.yaml вам не о чем беспокоиться, но инженеры Google, безусловно, беспокоятся.) Итак, каковы некоторые преимущества извлечения «конфигурации» в такие файлы?

  • Файлы конфигурации, такие как YAML, относительно легко редактировать. Если вы понимаете, что такое параметры, то изменить значение проще простого! Выполнение того же самого в коде может быть не столь очевидным.
  • В некоторых случаях параметры конфигурации будут влиять на то, что происходит до запуска вашего приложения, например извлечение статического контента и его развертывание на внешних серверах Google App Engine для повышения производительности и снижения затрат. Вы не можете управлять этим поведением из своего приложения, потому что ваше приложение еще не запущено — оно все еще находится в процессе развертывания, когда обрабатывается статическое содержимое.
  • Иногда вы хотите, чтобы ваше приложение вело себя одним образом в одной среде (тестирование) и другим образом в другой среде (рабочая среда). Или вы можете захотеть, чтобы ваше приложение по умолчанию вело себя разумным образом, но разрешить кому-то, кто развертывает ваше приложение, изменить его поведение, если поведение по умолчанию ему не нравится. Файлы конфигурации упрощают эту задачу: чтобы изменить поведение, вы можете просто изменить файл конфигурации перед развертыванием/запуском приложения.
person Owen S.    schedule 03.08.2015