Convierte backends en servicios

La API de Backend está obsoleta desde el 13 de marzo de 2014 y se dará de baja el 13 de marzo de 2019. Se solicita a los desarrolladores migrar todas las instancias de backend a Servicios; de lo contrario, las instancias no se podrán administrar y dejarán de entregar tráfico.

La arquitectura original de App Engine se basa sobre una sola instancia de frontend con instancias opcionales de backend. Si tienes una aplicación que usa backends, tal vez los quieras convertir en un formato de servicio y así sacar mayor ventaja de la funcionalidad adicional que ofrecen los servicios, como la habilidad de control de versiones de backends.

App Engine ejecuta de manera automática un backend existente como una versión nueva y no predeterminada del servicio predeterminado. A los backends residentes se les asigna escalamiento manual y, a los backends dinámicos, escalamiento básico.

Puedes convertir las instancias de backend en los servicios mencionados con versión y que tienen un tipo de escalamiento explícito y clases de instancias. Debes reemplazar el archivo backends.yaml original por múltiples archivos .yaml como se muestra a continuación.

Por ejemplo, el siguiente es un fragmento de un archivo .yaml que define los backends memdb, worker y cmdline:

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

Si deseas convertir estos backends en servicios, crea un archivo .yaml distinto para cada servicio:

En memdb.yaml:

service: memdb
instance_class: B8
manual_scaling:
  instances: 5

En worker.yaml:

service: worker
# 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: _go_app

Ten en cuenta que la definición original del backend del trabajador usó la etiqueta start: para vincular la secuencia de comandos worker.app a la ruta de acceso _ah/start. En los servicios, esta vinculación se define como un controlador con la ruta de acceso _ah/start explícita. Además, si hay más de un controlador, _ah/start se debería enumerar primero.

En cmdline.yaml:

service: cmdline
basic_scaling:
  max_instances: 1

El SDK de Go contiene una secuencia de comandos que puede realizar estas transformaciones por ti. Dados dos archivos .yaml, uno en la app y otro en sus backends, se crean archivos .yaml nuevos y se definen servicios para cada backend. A partir del ejemplo de migración anterior, supongamos que el archivo original que define los tres backends se llama backends.yaml y que el archivo que define la app principal es app.yaml. La secuencia de comandos generaría tres archivos .yaml nuevos: memdb.yaml, worker.yaml y cmdline.yaml. A continuación, te mostramos cómo deberías llamarla:

$ path-to-sdk/backends_conversion.py backends.yaml app.yaml
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Entorno estándar de App Engine para Go