Intenté aprovisionar instancias spot a través de Ansible ayer, y casi todas mis solicitudes fallaron, incluso cuando puse mi precio spot == el precio a pedido de esa instancia.
Entonces, cuando eché un vistazo al gráfico de precios spot, encontré algo muy interesante:
El precio spot de la instancia en us-east-1a es más que el precio a pedido, lo que me confundió. [de hecho, ~ 5 veces más alto]
¿No se prefieren las instancias puntuales por el bajo costo? En caso afirmativo, ¿por qué el precio es más alto que el precio a pedido?
Según los documentos de AWS :
Las instancias puntuales le brindan acceso a la capacidad de Amazon EC2 no utilizada con grandes descuentos en relación con los precios bajo demanda.
Además, ¿esto significa que las personas están pujando por el precio a pedido? En caso afirmativo, ¿por qué? ¿No están mejor con una instancia a pedido?
¿O entendí mal el concepto de instancias puntuales?
fuente
Respuestas:
Este es en realidad un gran ejemplo de personas que abusan un poco del lugar. La gente dice: "Nuestra carga de trabajo es realmente importante, pero no queremos pagar el precio total de la demanda", por lo que establecen un precio de oferta más alto que el de la demanda, suponiendo que es muy poco probable que se termine, pero aún así quieren obtenga el precio spot "más barato posible" en oferta
Ha habido casos en los que las personas ingresan, por ejemplo, $ 1000 (me han informado al menos una vez que esto sucedió) porque quieren el beneficio del mercado spot. Por supuesto, en algún momento, naturalmente, la demanda entra y el precio spot se dispara para hacer que las personas paguen más que a pedido.
La forma en que funciona el mercado spot es que Amazon tiene capacidad disponible para instancias X, y cuentan de arriba hacia abajo hasta que satisfacen la necesidad de todas las instancias X. El 'precio', entonces, es el precio más bajo al que pueden cumplir esas instancias X.
Entonces, imagine que Amazon tiene 10,000 instancias, bueno, contarán hasta (digamos) $ 0.43 hasta que se cumplan esas 10,000 instancias. Pero si ese suministro cae repentinamente a 100 instancias, entonces tal vez algunas personas pongan precios de oferta de $ 10,000 por sus 100 instancias, de repente pagarán esos $ 10k por hora.
Tl; dr Entienda cómo funciona spot y establezca un límite que esté dispuesto a pagar.
fuente
Hay 2 razones para esto:
Muchos usuarios utilizan la instancia de spot en algunos momentos (piense en el procesamiento por lotes, arranque 100 máquinas como instancia de spot y elimine).
Para una instancia spot no paga el precio de oferta, paga el precio spot actual. El precio de licitación es el punto de corte. Si el precio spot actual excede el precio de licitación, AWS terminará esa instancia.
Esto último también es la razón por la que algún usuario hará una oferta excesiva en los precios spot. No quieren que su instancia se cierre de vez en cuando, por lo que ofertan un precio tan alto que el precio spot nunca alcanzará. Como solo pagarán el precio spot actual, la instancia será mucho más barata el 99% del tiempo.
fuente
Puede encontrar un poco de información útil para comprender por qué alguien ofertó por encima del precio a pedido en la Introducción a las instancias puntuales :
Si tiene un gran aumento en la demanda de su servicio (quizás esté vinculado desde otro sitio popular, vea el efecto Slashdot ), ofertar por encima del precio a pedido para una instancia puntual lo ayudaría a obtener acceso a muchas más instancias, como señalado por el documento.
Por supuesto, esto no es sostenible a largo plazo, y obtendría un trato mucho mejor para un cómputo a largo plazo simplemente comprando instancias bajo demanda (¡además, hay menos riesgo de ser superado!).
Si se encuentra en una situación en la que necesita mucha potencia informática, rápido , más de lo que podría obtener simplemente comprando instancias bajo demanda, la sobreoferta podría tener sentido.
fuente
Si observa los gráficos detenidamente, verá que un pico siempre es de muy corta duración, el tiempo justo para que los sistemas de monitoreo automatizados escritos por el propietario terminen esos sistemas con gracia. Además, ocasionalmente encontrará que el precio baja a 0 inmediatamente después de un pico. Esto se debe a que todos los sistemas en ese centro de datos están en uso como sistemas bajo demanda, sin sistemas disponibles para precios spot, el precio es efectivamente cero.
Cuando su instancia puntual se marcó para su finalización, aparecerá un mensaje que indica que estará disponible en el sistema en la uri de metadatos local de http://169.254.169.254/latest/meta-data/spot/termination-time . Habrá 3 minutos hasta que termine. Más de tiempo suficiente en la mayoría de los casos para manejar la terminación automáticamente Hacer una oferta por encima del precio de demanda solo es necesario para implementaciones que requieren más de unos minutos para finalizar con gracia.
Si no es posible diseñar su sistema para terminar con gracia, archivar datos, etc. en 3 minutos, puede hacer una oferta más alta que el precio de demanda para ganar tiempo. El sistema puede incluso diseñarse para monitorear proactivamente el precio spot actual y cambiar antes de que el precio suba. Pero para esos momentos, tendrá que tomar una decisión comercial sobre cuánto vale el tiempo para terminar con gracia.
Es una tontería pagar $ 100 / hora por 4-5 horas para mantener su sistema. Sin embargo, si su sistema tardará 30 minutos en finalizar todos los procesos con gracia, puede tomar una decisión comercial sobre cuánto vale perder potencialmente cualquier información o degradar su servicio a escala horizontal. Un sitio de comercio electrónico con una ganancia neta de $ 10,000 por hora sin duda puede pagar $ 1000 para mantener 2 instancias puntuales en funcionamiento durante 15 a 30 minutos, al tiempo que muestra los sistemas de demanda y el archivo de datos.
La aplicación basada en web puede usar Elastic Load Balancer para ayudar a abordar la terminación automáticamente. Un implementador inteligente implementaría un conjunto de scripts para manejar la alerta. Podrían mantener 2 instancias de bajo costo bajo demanda que tienen equilibrio de carga, y luego usar hasta media docena de sistemas de costo medio a través de instancias puntuales para mantener un alto rendimiento y gastar menos de un solo sistema bajo demanda de la misma capacidad.
Deje 3 de ellos pagando hasta $ 100 / hora y 3 de ellos pagando solo hasta la mitad del precio bajo demanda. A medida que AWS termina las instancias, ELB se ajustará automáticamente. Dando al sistema automatizado hasta una hora para ajustar por solo $ 200.
fuente