Home Ciencia y Tecnología Una mejor manera de estimar los costos de DynamodB

Una mejor manera de estimar los costos de DynamodB

30
0

Construimos un nuevo analizador de costos de DynamodB que ayuda a los desarrolladores a comprender lo que sus cargas de trabajo realmente costarán

Los costos de Dynamodb pueden cegarlo. Los equipos regularmente enfrentan “choque de facturas”: esa sensación de hundimiento cuando miras una factura sorprendentemente alta y te das cuenta de que no has prestado suficiente atención a tu uso, especialmente con los precios a pedido. La capacidad aprovisionada trae un riesgo diferente: el rendimiento. Si no puede predecir con precisión la capacidad o sus matemáticas están apagadas, las solicitudes se estremecen. Es un acto de equilibrio delicado.

Aunque AWS ofrece una calculadora de precios de DynamodB, a menudo pierde los matices de las cargas de trabajo del mundo actual (por ejemplo, tráfico explosivo o patrones de acceso desiguales, o utilizando tablas o almacenamiento en caché world).

Queríamos algo mejor. En plena transparencia, queríamos algo mejor para ayudar a los equipos a considerar ScylladB como una alternativa de DynamodB. Por lo tanto, creamos una nueva calculadora de costos de DynamodB que ayuda a los desarrolladores a comprender lo que realmente costarán sus cargas de trabajo. Aunque lo diseñamos para equipos que comparan DynamodB con Scylladb, creemos que es útil para cualquiera que busque estimar con mayor precisión sus costos de DynamodB, por cualquier motivo. Puede ver la versión en vivo en: calculator.scylladb.com

Cómo lo construimos

Queríamos construir algo que trabajara al lado del cliente, sin la necesidad de componentes del servidor. Es una easy aplicación de página de JavaScript que actualmente alojamos en las páginas GitHub. Si desea consultar el código fuente, no dude en echar un vistazo a https://github.com/scylladb/calculator

Para ser honesto, trabajar con los ejemplos con una pesadilla, y cuando “muestra cálculos”, obtienes estas paredes de texto:

Tuve la tentación de adoptar un enfoque más corto, como:

Costo mensual de WCU = WCUS × Price_per_wcu_per_hour × 730 horas/mes

Pero cada vez que simplificaba esto, me resultaba más difícil obtener la paridad entre lo que calculé y el precio ultimate en el cálculo de AWS. A veces, la diferencia se debió al redondeo, otras veces se debió a la mezcla de capacidad de provisión reservada +, y así sucesivamente. Entonces, para que sea más fácil (para mí) depurar, seguí fielmente sus cálculos Line by Line e intenté replicar esto en mi propia función bastante fea: https://github.com/scylladb/calculator/blob/primary/src/calculator.js

Todavía puedo refactorizar esto en funciones más pequeñas. Pero por ahora, quería obtener paridad entre la suya y la nuestra. Verá que también hay algunas pruebas de extremo a extremo para estos cálculos: las uso para probar un montón de configuraciones diferentes. Probablemente también ampliaré estos a tiempo.

Entonces eso hace el trabajo para los modelos de capacidad a pedido, aprovisionados (y reservados).

Si ha usado la calculadora de AWS, sabe que no puede especificar cosas como un pico (o ancho máximo) en demanda. No estoy seguro de su razonamiento. Decidí que sería más fácil para los usuarios especificar tanto la línea de base como el pico para las lecturas y las escrituras (respectivamente) en la demanda, al igual que la capacidad aprovisionada.

Otra decisión de diseño fue representar el tráfico usando un gráfico. Lo hago mejor con las imágenes, por lo que ver los picos y los canales me facilitan entender, y espero que también lo haga para usted.

También notará que a medida que cambia las entradas, los parámetros de consulta de URL cambian para reflejar esas entradas. Eso está diseñado para facilitar la compartir y hacer referencia a variaciones específicas de costos.

Hay otras matemáticas allí, como descubrir el verdadero costo de las tablas globales y comprender los costos derivados de cosas como la transferencia de pink o el acelerador Dynamodb (DAX). Sin embargo, explicar todo eso es demasiado denso para este formato. Hablaremos más sobre eso en un próximo seminario internet (vea la siguiente sección).

La buena noticia es que puede estimar estos costos además de su carga de trabajo, ya que pueden ser multiplicadores de gran costo al planificar su uso de DynamodB.

Discover los escenarios de “qué pasaría si” para sus propias cargas de trabajo

Análisis de costos en escenarios del mundo actual

El objetivo ultimate de todo este retoque y ajuste es ayudarlo a explorar varios escenarios de “si” desde una perspectiva de costos de DynamodB. Para comenzar, estamos compartiendo los impactos de costos de algunos de los escenarios de usuario de Dynamodb más interesantes que hemos encontrado en Scylladb.

Mi colega GUI y yo acabamos de reunirnos para una inmersión profunda en cómo factores como aumentos de tráfico, expansión de múltiples datacentros y la introducción de los costos de DynamodB de impacto de almacenamiento en caché (p. Ej., DAX). Exploramos cómo algunos equipos (anonimizados) con los que trabajamos terminaron con ciego por sus facturas de Dynamodb y las diversas opciones que consideraron para controlar los costos.

Mira el chat de los costos de Dynamodb ahora

Sobre Tim Koopmans

Tim ha tenido sus manos en todas las formas de ingeniería durante las últimas dos décadas con una inclinación por la confiabilidad y la seguridad. En 2013 fundó Flood IO; Una plataforma de prueba de rendimiento distribuida. Después de que fue adquirido, disfrutó escalar el producto, el negocio y el equipo antes de pasar a otros esfuerzos relacionados con el rendimiento.

fuente

LEAVE A REPLY

Please enter your comment!
Please enter your name here