Spanish, Mexican feliratok

← 05-26 Configuración del escalado

05-26 Configuración del escalado

Beágyazókód kérése
6 Languages

Showing Revision 9 created 09/29/2014 by Fran Ontanaya.

  1. Ahora que hemos escrito todo este código,
  2. veamos cómo escalar la aplicación
    usando módulos.
  3. Los módulos son una función complicada
    en App Engine
  4. y permiten hacer particiones del código,
  5. controlar mejor el escalado,
    y tener control sobre las versiones
  6. y las actualizaciones en línea.
  7. Para simplificar, no usamos módulos
    para construir Conference Central,
  8. pero es algo que les recomendamos
  9. que descubran por su cuenta.
  10. No hay más que ver
    los documentos en línea.
  11. Vale, empecemos.
  12. Cuando se crea una aplicación
    App Engine usando módulos,
  13. estará estructurada conceptualmente
    como un árbol.
  14. Arriba, las raíces, que son la aplicación,
  15. y se compone de una serie de módulos,
    que en este ejemplo son dos.
  16. Un módulo agrupa tres conceptos.
  17. Código relacionado con el módulo.
  18. La clase de instancia que tendría
    que usar para ejecutar el código,
  19. o sea, la velocidad de la CPU,
    y la cantidad de memoria que emplea.
  20. Los parámetros de escalabilidad incluyen
    el número de instancias
  21. que se inician y su ciclo de vida.
  22. Así, un módulo agrupa código
    que ha de ejecutarse,
  23. los recursos de rendimiento,
    la escalabilidad
  24. y ciclo de vida
    de la instancia que interesa.
  25. Cada módulo puede tener una serie
    de versiones diferentes asociadas a él.
  26. Una versión es, fundamentalmente,
    el código conservado en el módulo.
  27. Una vez se ha puesto en marcha
    la aplicación, se pueden implementar
  28. nuevas versiones del código
    y ejecutar varias en paralelo
  29. migrando el tráfico
    de la versión antigua a la nueva.
  30. Esta función permite actualizar versiones
    sin desactivar la aplicación,
  31. algo muy complicado de hacer
    sin tener App Engine.
  32. Por último, las instancias.
  33. Una instancia
    ejecuta el código de la aplicación.
  34. Para escalar la aplicación,
    App Engine puede lanzar más instancias
  35. para administrar la carga adicional.
  36. Y dado que la clase de instancia
    y el número de instancias
  37. definen el rendimiento
    y la escalabilidad del módulo,
  38. la capacidad de la aplicación
    depende de la clase de instancias
  39. y el número de ellas que se ejecutan.
  40. Esto se configura a nivel de módulo,
    y es precisamente lo que veremos ahora.
  41. Cómo configurar un módulo.
  42. Veamos dos opciones de escalado
    para módulos; manual y automático.
  43. Especifican las distintas características
    scale up y scale down de instancias.
  44. El escalado manual permite
    crear instancias
  45. que siempre están en funcionamiento
    y nunca concluyen.
  46. Por eso, no tienen los diez minutos
    de tiempo de ejecución límite
  47. cuando procesan tareas o cron jobs.
  48. Dado que están
    en funcionamiento permanente,
  49. pueden operar sin límite de tiempo.
  50. Son ideales para desempeñar tareas
    en segundo plano o cron jobs
  51. Lo único que hay que configurar
    en el escalado manual
  52. es el número de instancias que
    se inician con el módulo.
  53. Eso es el escalado manual, hablemos ahora
    del escalado automático.
  54. El escalado automático es la opción
    que permite a App Engine
  55. escalar la aplicación en función
    de la cantidad de carga.
  56. Las primeras dos opciones que
    se pueden especificar
  57. para el escalado automático son el número
    mínimo y máximo
  58. de instancias inactivas deseadas.
  59. ¿Qué quiere decir?
    ¿Por qué instancias inactivas?
  60. Bueno, las instancias tienen
    un tiempo de arranque
  61. y si no quieren que los usuarios
    esperen respuesta
  62. mientras la aplicación aumenta
    la escala al activar instancias,
  63. estaría bien disponer
    de instancias inactivas
  64. por si necesitas
    aumentar de escala la aplicación.
  65. De modo que los usuarios no esperan
    a que arranquen las instancias.
  66. Veamos ahora la latencia,
    donde se puede especificar
  67. el mínimo y máximo de latencia
    pendiente autorizada para solicitudes.
  68. Estos parámetros funcionan de este modo.
  69. Digamos que una solicitud entra
    en la aplicación
  70. y no hay ninguna instancia disponible
    para procesarla.
  71. Entonces se pone en una cola.
  72. App Engine tiene que tomar una decisión;
  73. cuándo aumentar de escala
    la aplicación empleando más instancias.
  74. Para empezar, esperará un tiempo
    para ver si alguna instancia
  75. queda libre para procesar la solicitud.
  76. Esto se denomina mínimo
    de latencia pendiente.
  77. Si discurre este tiempo, App Engine
    se plantea iniciar una nueva instancia
  78. para administrar la solicitud.
  79. Y si expira otro período de latencia,
    entonces iniciaría una nueva instancia
  80. para garantizar la administración
    de la carga.
  81. Así es como App Engine realiza
    un aumento de escala de la aplicación.
  82. Más que especificar un número para
    estos cuatro parámetros,
  83. pueden configurarse en automático.
  84. En ese caso, App Engine los configura
    de acuerdo con su análisis dinámico.
  85. Tanto el escalado manual como automático
    tienen un elemento común de configuración.
  86. La clase de instancia, que especifica
    la velocidad de la CPU
  87. y la cantidad de memoria
    que se emplea
  88. para cada instancia iniciada.
  89. Vean los documentos del desarrollador
    para más detalles
  90. acerca de las opciones disponibles.
  91. Como seguramente han visto,
    los módulos son un asunto complicado.
  92. Y además de las opciones de escalado
    analizadas aquí,
  93. también están las versiones,
    que hemos tocado muy por encima.
  94. Las versiones permiten realizar
    actualizaciones en línea
  95. de parte del sistema sin
    interrumpir el servicio.
  96. Sin App Engine, realizar actualizaciones
    de escalado automático y dinámico
  97. es tremendamente complicado.
  98. Así que asegúrense de emplear
    esta funcionalidad tan útil.