¿Por qué no debería usar Amazon S3 para alojar una página web estática?

11

Recuerdo haber leído en alguna parte que existía una seria trampa al usar Amazon S3 para alojar un sitio web estático. Aunque olvidé lo que era. Para mí, S3 parece una opción perfecta. Súper rápido, súper escalable y paga sobre la marcha.

¿Cuáles son los aspectos negativos de usar S3 para alojar un sitio web estático?

Kyle
fuente
En resumen, las respuestas a continuación no indican buenas razones para no usar S3. La redirección de www ahora es fácil de resolver.
JohnAllen

Respuestas:

11

Todavía me sorprende leer que la gente asume que las redes de entrega de contenido son caras, la mayoría cobra tan solo 0.20c por GB.

Servir sitios web estáticos en CDN es increíble: obtienes el rendimiento de un servidor dedicado sin pagar realmente por él, además de que tienes un servidor en todas las principales regiones del mundo tan efectivo que en realidad es mejor que un servidor dedicado para velocidad y escalabilidad.

Hay algunos contratiempos importantes cuando se aloja en CDN, y estos son:

No hay archivos PHP

Soporte de PHP (Necesitaría usar formularios de contacto a través de Ajax para recuperar un contact.php de otra parte, los métodos HTML son una mierda; si no necesita un formulario de contacto, entonces (¡increíble!) Para cosas como comentarios, puede usar Disqus, que es JavaScript)

Problemas de CNAME

Lamentablemente, la mayoría de las CDN no son compatibles con CNAME que no son www, por lo que no puede resolver el dominio cuando alguien olvida el www, no es un problema importante, pero hay formas de evitarlo. Configura un alojamiento EC2 o compartido y lo deja manejar el no www con una redirección. Entonces, cuando alguien olvida el www, se comunica con el servidor y luego lo redirige a la CDN correctamente. Un método alternativo es que elija un CDN que lo admita; creo que Limelight sí, pero Amazon y Rackspace no. Escuché que Limelight aloja el DNS y realiza ediciones manualmente en su sistema, nunca lo hice yo mismo, así que no puedo confirmar si lo hacen o no.

Actualización de contenido

La otra desventaja es que necesita purgar el contenido o los archivos que está editando, por ejemplo, digamos que hace algunas adiciones al index.html que necesitaría configurar una breve caducidad en el contenedor o purgar manualmente ese archivo el caché para que se actualice en todo el mundo.

Resumen

Alojar un sitio estático en un CDN es fanático: ejecuto un puñado de sitios estáticos en CDN y son fanáticos, solo uso como 1-2GB en cada sitio y recibo facturas de £ 0.24p por cada sitio, que es más barato que alojamiento compartido, y le brinda el rendimiento de un servidor dedicado. Si va a configurar un VPS pequeño que no sea un EC2 para la redirección, cualquier VPS que sea 128mb lo hará. Puede obtener uno barato por $ 1 al mes. Solo Google 128mb VPS o VPS por menos de $ 5 al mes: hay cientos de empresas que hacen VPS de baja especificación para el maní, lo que hará el truco.

Simon Hayter
fuente
1
Cloudflare no tiene problemas con cname que no sea www. Además, el nivel gratuito tampoco es malo
elssar
Amazon tiene un servicio dns llamado Route 53 que podría usarse para enrutar el tld al subdominio www.
pandilla
Específicamente, AWS Route 53 tiene registros ALIAS en los que ingresa otro nombre de host (como lo hace con un CNAME), pero el servidor DNS realiza la búsqueda periódicamente (segundos) y sirve el registro con la dirección IP (registro A).
Stephen Ostermiller
2

El problema está en la parte de "pago por uso".

Si obtiene toneladas de tráfico (es decir, un ataque de DOS o una publicación o archivo de blog muy popular), PAGARÁ por ello.

AFAIK todavía no hay una característica para poner un límite a lo que paga. Puede configurar alertas de facturación, pero si su facturación alcanza su presupuesto máximo, la única opción que tiene es cerrar el sitio o pagará todo el tráfico que reciba.

peterlozano
fuente
Algo en lo que pensar: Heroku le permite pagar solo la cantidad que desee, pero puede terminar perdiendo algunos visitantes que no pueden acceder al sitio. AWS, por otro lado, le permite asegurarse de capturar a todos los visitantes, pero tendrá que pagar por ello. Dependiendo de si ha configurado anuncios / alguna otra forma de convertir clics en efectivo, sus requisitos de pago por uso pueden ser diferentes; una pequeña aplicación web genial, por ejemplo, puede beneficiarse de Heroku (o un servicio similar).
Abhishek Divekar
2

S3 no está destinado a ser la ÚNICA herramienta de AWS para el alojamiento de sitios web estáticos. El enfoque recomendado es colocar CloudFront delante de la instancia S3 para que CloudFront pueda manejar el almacenamiento en caché. Creo que esto también eliminará su problema de pagar un montón por un aumento del tráfico, ya que CloudFront usará su caché para servir los archivos y no llegará a S3. Por supuesto, tiene que pagar CloudFront, pero el costo será menor (creo).

Aquí hay un artículo sobre esta adición de CloudFront a su sitio S3:

http://docs.aws.amazon.com/gettingstarted/latest/swh/getting-started-create-cfdist.html

usuario1335432
fuente
1

En realidad, es un poco caro en términos de ancho de banda. También tenían, hasta hace muy poco, un problema en el que no podía asignar tanto su registro @ como su registro www A a su sitio (por lo que tenía mydomain.com accesible o www.mydomain.com accesible). Sin embargo, esto se solucionó en una actualización muy reciente.

Personalmente, creo que son un poco caros, y le faltan muchas características agradables (redirecciones, htaccess, etc.). Sin embargo, S3 funciona bien para alojar archivos e imágenes grandes.

Kyros
fuente