Como converter back-ends em serviços

O uso da API Backend foi suspenso em 13 de março de 2014 e ela será encerrada em 13 de março de 2019. Os desenvolvedores precisam migrar todas as instâncias de back-end para serviços, caso contrário as instâncias não serão mais gerenciáveis e deixarão de disponibilizar o tráfego.

A arquitetura original do App Engine é baseada em uma única instância de front-end com instâncias de back-end opcionais. Se você tem um aplicativo que usa back-ends, talvez queira convertê-los para um formato de serviço e aproveitar ao máximo a funcionalidade adicional que os serviços oferecem, como a capacidade de gerar versões de back-ends.

No App Engine, um back-end existente é executado automaticamente como uma nova versão não padrão do serviço padrão. Os back-ends residentes recebem escalonamento manual e os back-ends dinâmicos, escalonamento básico.

É possível converter instâncias de back-end em serviços designados com controle de versão, com tipos de escalonamento e classes de instâncias explícitos. É necessário substituir o arquivo original backends.yaml por vários arquivos .yaml, conforme mostrado abaixo.

Por exemplo, aqui está um fragmento de um arquivo .yaml que define três back-ends memdb, worker e cmdline:

backends:
- name: memdb
  class: B8
  instances: 5
- name: worker
  start: worker.app
  options: failfast
- name: cmdline
  options: dynamic

Para converter esses back-ends em serviços, crie um arquivo .yaml separado para cada serviço:

Em memdb.yaml:

service: memdb
version: uno
instance_class: B8
manual_scaling:
  instances: 5

Em worker.yaml:

service: worker
version: uno
# For failfast functionality, please use the ‘X-AppEngine-FailFast’ header on requests made to this service.
manual_scaling:
  instances: 1
handlers:
# If a service has an _ah/start handler, it should be listed first.
- url: /_ah/start
  script: worker.app

Observe que a definição original do back-end do worker usou a tag start: para vincular o script worker.app ao caminho _ah/start. Para os serviços, essa vinculação é definida como um gerenciador com o caminho explícito _ah/start. Além disso, se houver mais de um gerenciador, o _ah/start precisa ser listado primeiro.

Em cmdline.yaml:

service: cmdline
version: uno
basic_scaling:
  max_instances: 1

O SDK do Python tem um script que pode executar essas transformações para você. Dados dois arquivos .yaml, um para o aplicativo e outro para os back-ends dele, o SDK cria novos arquivos .yaml que definem serviços para cada back-end. Usando o exemplo de migração acima, suponha que o arquivo original que define os três back-ends seja chamado backends.yaml e o arquivo que define o aplicativo principal seja app.yaml. Três novos arquivos .yaml podem ser gerados pelo script: memdb.yaml, worker.yaml e cmdline.yaml. Veja como chamar:

[PATH_TO_SDK]/google-cloud-sdk/platform/google_appengine/backends_conversion.py backends.yaml app.yaml
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Ambiente padrão do App Engine para Python 2