servidores servidor prices precios precio ec3 cuesta cuanto aws amazon-s3 amazon-ec2 amazon-web-services cloud amazon-ebs

amazon-s3 - servidor - precio de amazon s3



¿Debo persistir imágenes en EBS o S3? (5)

Estoy migrando mi servidor Java, Tomcat, Mysql a AWS EC2.

Ya he adjuntado el volumen de EBS para almacenar datos de MySql. En mi aplicación web, las personas pueden subir imágenes. Entonces debería persistirlos. Hay 2 alternativas en mi mente:

  1. Guarde las imágenes cargadas en el volumen de EBS.
  2. Usa el servicio S3.

Los siguientes son mis notas, por favor sean escépticos sobre ellas, ya que mi experiencia no está en los servidores, sino en el desarrollo de software.

  • EBS plus: el almacenamiento S3 es más caro. (0,15 $ / Gb> 0,1 $ / Gb)

  • S3 plus: Servir estática de EBS puede influir negativamente en el rendimiento de mi servidor web. ¿Es esto cierto? ¿Las imágenes de servicio afectan notablemente al rendimiento del servidor? Para S3, mi servidor no será responsable de servir la estática.

  • S3 plus: Servir estática de EBS puede resultar en costos de E / S, probablemente será menor.

  • EBS plus: La gente dice que EBS es más rápido.

  • S3 plus: La gente dice que S3 es más seguro para la persistencia.

  • EBS plus: no es necesario aprender la API, es sencillo guardar las imágenes en el volumen de EBS.

Es decir, no puedo decidir, seré feliz si me guías.

Gracias


¿Esperas que las imágenes duren indefinidamente?

Las preguntas frecuentes de Amazon EBS son bastante claras; la tasa de fracaso anual no es "esencialmente cero"; Citan 0.1% a 0.5%. Es mejor que el disco debajo de su escritorio, pero necesitaría algún tipo de respaldo.


Actualmente estoy usando S3 para un proyecto y está funcionando extremadamente bien.

EBS significa que necesita administrar un volumen + máquinas para conectarlo. Necesita agregar espacio a medida que se llena y realizar copias de seguridad (sin decir que no debe hacer una copia de seguridad de sus datos S3, solo que no es tan crítico).

También hace que sea más difícil de escalar: cuando desea agregar máquinas adicionales, o bien necesita sacar las imágenes a una máquina separada o clonar las imágenes en todas. Esto también significa que está agregando un cuello de botella: tendrá que administrar su propio proceso de carga que se cargará en todas las máquinas o tendrá una sola máquina que lo administre.

Recomiendo S3: está configurado y olvidarse. Cualquier número de máquinas puede realizar cargas en paralelo y no es necesario que notifique a otras máquinas sobre la carga.

Además, puede usar Amazon Cloudfront como un CDN barato frente a las imágenes en lugar de descargar directamente desde S3.


He diseñado soluciones en AWS para sitios de fotografías en stock que almacenan millones de imágenes que abarcan TB de datos. Me gustaría compartir algunas de las mejores prácticas en AWS para su requerimiento:

P1) Almacenar el archivo de imagen original en la opción estándar S3

P2) Almacene las imágenes reproducibles, como los pulgares, etc., en la opción Redundancia reducida de S3 (RRS) para ahorrar costos

P3) Los metadatos sobre las imágenes, incluida la URL S3, pueden almacenarse en Amazon RDS o Amazon DynamoDB dependiendo de la complejidad de la consulta. Consulta las entradas de Amazon RDS. Si su consulta es compleja, también es una práctica común almacenar los metadatos en Amazon CloudSearch o Apache Solr.

P4) Envíe sus pulgares a los usuarios con baja latencia usando Amazon CloudFront.

P5) Ponga en cola su conversión de imagen a través de SQS o RabbitMQ en Amazon EC2

P6) Si planea usar EBS, entonces no son escalables con su EC2. De modo que idealmente puede usar GlusterFS como su grupo de almacenamiento común para todas sus imágenes. Múltiples Amazon EC2 en modo Auto Scaled todavía se puede conectar y acceder / escribir imágenes.


La comparación de precios no es correcta: los cargos de S3 cuestan $ 0.14 por GB, mientras que los cargos de EBS son de $ 0.10 por GB PROVISIONADOS (el tamaño de su volumen de EBS), ya sea que lo use o no. Como resultado, S3 puede o no ser más barato que EBS.


Ya describió las ventajas y desventajas de ambos.

Si planea almacenar terabytes de imágenes, con requisitos de almacenamiento que aumentan día tras día, S3 probablemente sea su mejor opción, ya que está diseñado especialmente para este tipo de situaciones. Obtendrá un espacio de almacenamiento ilimitado, sin tener que preocuparse por fragmentar sus datos en muchos volúmenes de EBS .

El costo recurrente de S3 es que resulta un 50% más caro que EBS. También tendrá que aprender la API e implementarla en su aplicación, pero eso es un gasto único que creo que debería poder absorber muy rápidamente.