2012-01-10 4 views
10

Estoy construyendo un sistema que planeo implementar en Google App Engine. El precio actual se describe aquí:¿Cómo estimar el costo de los servicios de hosting en GAE?

Google App Engine - Pricing and Features

Necesito una estimación del coste por cliente administrado por la aplicación web. El costo no será muy exacto hasta que haya completado el desarrollo. GAE utiliza un cálculo de precios tan detallado como LECTOS y ESCRITOS, por lo que resulta una tarea desalentadora estimar el costo de operación por usuario.

Tengo un desarrollador ágil. proceso que me deja aún más despistado para determinar mi costo. Exploté las historias de mis usuarios para crear una línea base de costos por historia de usuario. Luego, calculo aproximadamente cómo el usuario ejecutará cada flujo de trabajo de la historia para finalmente calcular una estimación simplista.

Según lo veo, las estimaciones de cálculo para Datastore API son demasiado complejas para un proyecto de inicio. Los otros costos son un poco más fáciles de comprender. Desafortunadamente, ¡tengo que dar un costo aproximado a mi gerente!

¿Alguien se ha sometido a tal tarea? Cualquier puntero sería genial, con respecto a herramientas, ejemplos o cualquier otra información relacionada.

Gracias.

+1

Generalmente hago algo como lo que estás explicando. Calculo cuáles serán mis principales impulsores de costos (¡no olvide el procesamiento de back-end que pueda tener!), Luego haga una estimación de las operaciones/acciones y use una hoja de cálculo para estimar. No será exacto, pero podría ser lo suficientemente bueno como para adivinarlo. –

Respuesta

9

Sí, es posible realizar un análisis de estimación de costos para aplicaciones de motores de aplicaciones. Según mi experiencia, las tres áreas principales de costo que encontré al hacer mi análisis son el costo de la hora de la instancia, el costo de lectura/escritura del almacén de datos y el costo de los datos almacenados en el almacén de datos.

YMMV según el tipo de aplicación que está desarrollando, por supuesto. Si se trata de una aplicación OLTP intensa que maneja CRUD simple pero frecuente en sus registros de datos, la mayor parte del costo recaerá en las operaciones de lectura/escritura del almacén de datos, por lo que le sugiero que inicie su estimación sobre este recurso.

Para la lectura/escritura del almacén de datos, el costo de la escritura suele ser mucho más caro que el costo de lectura de los datos. Esto se debe a que el costo de escritura tiene en cuenta no solo el costo de escribir la entidad, sino también escribir todos los índices asociados con la entidad. Le sugiero que lea un artículo de Google sobre el life of a datastore write, especialmente la parte sobre Aplicar fase, para comprender cómo calcular el número de escritura por entidad en función de su modelo de datos.

Para hacer una estimación de las horas de instancia que necesitaría, el enfoque más simple (pero no siempre factible) sería implementar una aplicación simple para probar cuánto tiempo tomaría una solicitud en particular. Si este enfoque es indeseable, también puede basar su estimación en la página Google App Engine System Status (por ejemplo, cuál sería la latencia para la escritura de un almacén de datos para una entidad de tamaño particular) para obtener una imagen (muy) aproximada de cuánto tiempo llevaría procesar su solicitud.

La tercera área principal de costo, en mi opinión, es el costo de datos almacenados del almacén de datos. Esto variaría en función de su modelo de datos, por supuesto, pero cualquier cálculo que realice también debe tener en cuenta el almacenamiento que tomarían los índices de la entidad. Echando un vistazo rápido a la página de estadísticas del almacén de datos, creo que los índices podrían aumentar el tamaño de almacenamiento entre 40% y 400%, dependiendo de cuántos índices tenga para la entidad en particular.

+1

Gran respuesta. Gracias –

+1

Si quiere medir el costo * real * de una ejecución representativa de su aplicación, puede capturar y examinar esa información en tiempo real con [Potamus] (http://github.com/Cloudlock/potamus). – technomage

2

Recuerde que la mayoría de los costos son una estimación de los costos reales. La fuente de verdad definida está aquí: https://cloud.google.com/pricing/.

Una buena herramienta para estimar el costo de Appengine es esta increíble extensión de Chrome: "App Engine Offline Statistics Estimator".

También puede consultar el paquete AppStats (para inferir los costos desde la aplicación mediante API).

Resumen:

Cuestiones relacionadas