Codificación aprenderaprogramar.com: DV00501A
¿POR QUÉ PENSAR EN ALOJAR IMÁGENES FUERA DE NUESTRO SERVIDOR?
Cuando una persona empieza a trabajar en el desarrollo web, lo primero que suele encontrarse es que ha contratado un plan de hospedaje donde se le indican las siguientes limitaciones:
a) Espacio de disco duro disponible. Es un valor expresado en Mb o Gb y que nos indica qué cantidad de información podemos almacenar (como archivos) en el servidor.
b) Transferencia: nos indica la cantidad de información que puede enviar nuestro servidor cuando es solicitada por clientes. Cada vez que alguien hace click en nuestra página web nuestro servidor tiene que enviar los archivos necesarios y se produce transferencia. Por tanto, la transferencia será mayor cuanto mayor sea el número de visitantes a nuestra página web.
Uno de los factores que da lugar al “consumo” del espacio en disco y transferencia disponibles son las imágenes. El texto que forma parte de nuestras páginas web o que conforma el código de programación de las mismas y el texto en la base de datos es en general “ligero”, es decir, podemos tener miles de líneas de texto que solamente nos requerirán unos cuantos Kb de almacenamiento. En cambio, las imágenes son intensivas en consumo de recursos. Las imágenes de alta resolución o calidad pueden ocupar cientos de Kb o incluso algunos Mb. Sin embargo, para las páginas web en general se trata de evitar las imágenes de gran tamaño porque no son necesarias ya que para ser mostradas en una pantalla las imágenes de poco tamaño producen el mismo efecto y nos permiten un notable ahorro del espacio en disco, de la transferencia, y hacer más rápida la carga de nuestra página web. De este modo, las imágenes para páginas web suelen moverse en un rango de entre 10 Kb y 100 Kb orientativamente.
¿Cuándo se usan imágenes de mayor tamaño? En casos especiales como páginas dedicadas a la fotografía o el arte, en los que se quiere que el usuario disponga de una imagen de alta calidad por motivos singulares.
Quedándonos con lo más habitual, cuando una persona empieza a gestionar una página web se suele encontrar con que tiene mucho espacio en disco y transferencia disponible y poco contenido en la página. Al estar “sobrados” la tendencia es a despreocuparnos de cómo gestionar nuestro espacio en disco y transferencia. Sin embargo, a medida que pase el tiempo nos encontraremos con que llegamos a los límites de espacio en disco y transferencia disponibles y nos tenemos que plantear o bien cambiar a un plan de hospedaje de mayor capacidad, que habrá que pagar, o establecer “medidas de ahorro”.
Una forma de ahorro de espacio en disco y de transferencia básica es reducir el tamaño de las imágenes hasta el límite de lo admisible. Esto sería ideal aplicarlo desde el mismo momento en que comenzamos el desarrollo web, pero si no lo hemos hecho durante el desarrollo, podemos hacerlo a posteriori analizando las imágenes que más se cargan y que más pesadas resultan. Una vez detectadas, con programas de tratamiento de imágenes estableceremos el formato más adecuado (jpg, png o gif habitualmente) y los parámetros de compresión y color que nos permitan reducir al máximo el tamaño de la imagen. Para ello existen distintos programas de tratamiento gráfico (Photoshop, Gimp, etc.) y herramientas (pequeños programas) que optimizan la compresión y tratamiento de colores.
Pero aún optimizando el tamaño de nuestras imágenes la página (esperemos que sea así) seguirá creciendo. Por cada 500 imágenes de 50 Kb ocuparemos unos 25 Mb de espacio de alojamiento.
Otra forma de ahorro consiste en utilizar los servicios web de alojamiento gratuito de imágenes para “llevarnos fuera” de nuestro servidor las imágenes y que sea otro servidor quien se encargue tanto de almacenarlas (consumo de espacio en disco) como de servirlas (consumo de transferencia). Esto podemos hacerlo igualmente en el momento de comenzar nuestro desarrollo web como en cualquier momento a posteriori.
VENTAJAS E INCONVENIENTES DE LOS SERVICIOS WEB DE ALOJAMIENTO GRATUITO DE IMÁGENES
Si un servidor externo se encarga de alojar nuestras imágenes, y podemos disponer de espacio de alojamiento y transferencia gratuitas, todo parecen ventajas. Pero también habremos de tener en cuenta algunos inconvenientes:
a) Dependemos de una tercera parte. Si nosotros trabajamos todo en nuestro propio servidor, sólo hemos de preocuparnos de un posible fallo en nuestro servidor. Si trabajamos con uno o varios servidores externos, hemos de ocuparnos de la seguridad y posibles fallos además de en nuestro servidor de en estos otros.
b) ¿Son ilimitados el espacio en disco y la transferencia en servidores externos gratuitos? Pues podemos verlo de la siguiente manera: cuando nuestra página web tiene un tráfico escaso o moderado, el servidor externo que aloja nuestras imágenes tendrá poco trabajo. Es como un elefante llevando una hormiguita en el lomo: no le cuesta nada. En cambio, si el tráfico en nuestra página se convierte en importante (esto no es tan fácil que ocurra aunque a casi todos los webmasters les encantaría) el servidor externo tendrá que empezar a servir cientos o miles de veces nuestras imágenes al día y esto puede suponer muchos Mb por día. Pasamos a ser una carga pesada que tiene que arrastrar el elefante. Si esta situación se produce, descubriremos (si no lo sabíamos) que estos servicios gratuitos no son ilimitados en cuanto al espacio y disco y transferencia que nos ofrecen, de la misma manera que los animales de carga no pueden transportar cualquier carga.
c) La panacea del servicio con espacio y transferencia ilimitada. Hay servicios de alojamiento de imágenes que anuncian “todo ilimitado”. Recomendamos desconfiar de estos anuncios, ya que en el fondo es inviable ofrecer todo gratis e ilimitado… Lo que se suele esconder detrás de estas ofertas es que una vez superada cierta transferencia la velocidad del servicio baja. Y claro, supongamos que una página nuestra cargue en 1.5 segundos normalmente y nos bajan la velocidad de servicio de imágenes y esto suponga que pase a cargar en 20 segundos… A esa velocidad se puede decir que nuestra página no funciona y por lo tanto el servicio “gratuito” deja de sernos útil. También es posible que tras cierto tiempo el servicio que era gratuito nos envíe un aviso indicándonos de que deja de ser gratuito y que si queremos mantener las imágenes en ese servidor debemos pagar.
d) La rentabilidad, propiedad, seguridad de nuestras imágenes… ¿Qué ocurre con ello? Antes de subir algo a un servidor gratuito conviene pensar lo que hacemos. Hoy en día está muy en boga poner toda nuestra información personal alojada en redes sociales… ¿Tiene esto sentido? En primer lugar hemos de tener en cuenta que todo lo que pongamos en servidores externos en internet, sean de redes sociales o de servicios web de alojamiento de imágenes, deja de estar bajo nuestro control. Por tanto, son susceptibles de sufrir una fuga de datos y llegar tanto a empresas que los utilizarán para tratar de vendernos todo lo habido y por haber como a personas o sitios web a donde no nos gustaría que hubieran llegado. Sin ser alarmistas, sí conviene pensar lo que subimos. Si fuéramos artistas pensaríamos que subir nuestras obras originales en alta resolución a servidores gratuitos es un riesgo quizás demasiado grande.
e) Atados a las políticas. Una vez tenemos nuestras imágenes en un servicio gratuito de alojamiento es porque hemos aceptado las “condiciones y políticas del sitio”. Sí, esas condiciones que nunca nadie se lee pueden tener algunas cosas relevantes. Entre ellas estará casi con total seguridad que no se hacen responsables frente a pérdida de información y que las condiciones pueden cambiar cuando el proveedor del servicio quiera. Así, si teníamos 700 Mb de imágenes alojadas y el proveedor decide que su nueva política es máximo de 200 Mb, no nos queda otra que decir sí o irnos a otro lado, con las dificultades que esto conlleva.
f) Atados a los cambios técnicos. Cuando usamos un servicio gratuito de alojamiento de imágenes cada dispondremos de unas herramientas y posibilidades… que pueden cambiar cuando el proveedor quiera. Un caso que puede resultar de enjundia es que nos varíen la URL de las imágenes que tenemos enlazadas desde nuestra página. Para cargar las imágenes desde nuestra página llamamos a una URL, si el proveedor reorganiza sus servidores y esto supone un cambio de URLs esto puede significar que se dejen de mostrar todas las imágenes en nuestras páginas. Si tenemos 20 imágenes esto no supondrá ningún problema, pero si tenemos 2000 puede suponerlo y gordo. Esto no es habitual (no suele pasar, pero puede pasar).
Veamos las ventajas:
a) Ahorro de espacio de alojamiento en nuestro servidor.
b) Ahorro de transferencia en nuestro servidor.
c) El servicio es gratuito y para los principales proveedores con un grado de fiabilidad bueno.
Con todo esto, ¿Cuál es la conclusión? Diremos que el uso de servicios de alojamiento web de imágenes gratuitos es interesante para páginas web que tienen un volumen bajo o moderado de tráfico de usuarios. Para páginas web muy intensivas en consumo de recursos, existen otro tipo de soluciones.
CASO PRÁCTICO DE USO DE UN SERVICIO DE ALOJAMIENTO DE IMÁGENES
Vamos a ver cómo se usan los servicios de alojamiento con un caso práctico. Hay muchos servicios. Vamos a citar unos cuantos:
a) flickr.com
b) dropbox.com
c) imgur.com
d) photobucket.com
e) pix.ie
f) ipernity.com
La operativa para hacer uso de los mismos es similar (aunque cada sitio establece sus condiciones): nos registramos, subimos las imágenes y hacemos uso de una URL donde están alojadas para llamarlas desde nuestra página web. Estas páginas tienen multitudes de opciones para compartir con amigos, geolocalizar, etc. pero eso es harina de otro costal.
En nuestro caso vamos a ver cómo sería el procedimiento con photobucket:
a) Elegimos la imagen a subir. En nuestro caso es una captura de pantalla que tratamos con Gimp y obtenemos una imagen de partida de 142 Kb en formato png. Este tamaño nos parece demasiado grande por lo que vamos a tratar de reducirlo. Escalamos la imagen, inicialmente de 969x320 y la dejamos en 600x198. Hemos reducido a 94 Kb. Aplicamos una herramienta de manipulación de png (en nuestro caso pngquant) y transformando a 256 colores obtenemos un tamaño de 37 Kb.
b) Nos registramos en photobucket.com. Pulsamos sobre el enlace “Sign up!”. Introducimos nuestros datos y pulsamos el botón “Sign me up!”. Se nos informa de la posibilidad de contratar un servicio pro, pero nosotros elegimos “No thanks”. Establecemos nivel de privacidad público y accedemos.
c) Pulsamos en el botón “Upload images and videos” y elegimos la imagen a subir. Podemos añadir un título, descripción y palabras clave para la imagen. En nuestro caso vamos a poner como título “Inicio de photobucket.com”, como descripción “Página de inicio de photobucket.com” y como palabras clave “photobucket.com”. Pulsamos “Save” para guardar. También podemos poner la imagen dentro de un álbum si queremos, nosotros la pondremos dentro de un album al que llamaremos “Divulgacion”.
d) Como último paso, vamos a obtener la URL de la imagen, que es la dirección que nos hace falta para poder llamarla desde nuestra página. Para ello, podemos hacer dos cosas: nos situamos sobre la imagen y con botón derecho del ratón elegimos “Propiedades” ó “Ver información de la imagen” y copiamos la ruta, por ejemplo:
http://i877.photobucket.com/albums/ab336/cesarkrall/Divulgacion/DV00205_2_zpsda7ee175.jpg?%20%20t=1361278034
La otra opción es ponernos sobre la imagen y se nos despliega un cuadro que entre otras cosas nos indica “Direct link” y “HTML code”. Nosotros copiamos HTML code y obtenemos algo que será parecido a lo siguiente:
<a href="http://s1201.photobucket.com/albums/bb347/cesarkrall/Divulgacion/?action=view¤t=SW00101A_2.png" target="_blank"> <img src="http://i1201.photobucket.com/albums/bb347/cesarkrall/Divulgacion/SW00101A_2.png" border="0" alt="photobucket.com"></a>
Este código enlaza a photobucket, pero como no es ese nuestro objetivo, nos vamos a quedar simplemente con la segunda parte:
<img src="http://i877.photobucket.com/albums/ab336/cesarkrall/Divulgacion/DV00205_2_zpsda7ee175.jpg?%20%20t=1361278034" >
Finalmente usaremos esta ruta o incluiremos este código en la página donde queramos mostrar la imagen. De esta manera, tendremos nuestra imagen servida y alojada por photobucket, con las ventajas e inconvenientes que esto puede tener y que comentamos más arriba.
EL GRAN CRASH: IMAGESHACK
Muchas veces pensamos que los servicios gratuitos son para siempre. Muchas veces ocurre que un usuario crea su cuenta en un servicio gratuito y está durante varios años agregando contenidos, por ejemplo fotografías, hasta llegar a tener colecciones de cientos de fotografías. Pero ¿son los servicios gratuitos para siempre? En realidad no se sabe cuánto van a durar, ya que depende de que el prestador del servicio quiera seguir ofreciéndolo o no. Por ello “fiar” un contenido de gran importancia a que un proveedor gratuito mantenga el servicio puede ser un error.
Vamos a exponer un caso “paradigmático”. Es el caso del proveedor imageshack.us. Este proveedor empezó ofreciendo un servicio gratuito de alojamiento de imágenes que se hizo muy popular a comienzos de los años 2000. Era muy usado por usuarios para alojar fotografías, añadir imágenes a blogs, etc. Funcionó con su carácter de gratuito durante unos diez años… todo iba bien. Hasta que un día las imágenes que estaban alojadas en imageshack dejaron de verse. Los usuarios cuando accedían a su cuenta eran informados de que imageshack había establecido un cambio en sus políticas: ahora se convertía en un servicio de pago. Quien quisiera mantener sus imágenes alojadas tenía que pagar, o bien perder sus contenidos y links. Para muchas personas que habían alojado gran cantidad de imágenes en imageshack esto fue un gran crash. Muchos optaron por mover los contenidos a otros servicios suponiendo esto muchos problemas y esfuerzo, otros decidieron pagar el precio que ponía ahora imageshack, y otros simplemente dejaron que donde antes aparecían imágenes apareciera un mensaje de imageshack informando de que la imagen no era accesible por un motivo u otro.
Lo cierto es que imageshack introdujo un cambio que nadie esperaba y que afectó a miles de personas y a cientos de miles de páginas web donde las imágenes se veían gracias al servicio de imageshack.
La conclusión que podemos sacar de todo esto es que todo tiene sus ventajas e inconvenientes y que un servicio gratuito es gratuito… hasta que quien lo ofrece decida que deja de ser gratuito.
También que las políticas que mantiene un sitio que ofrece servicios gratuitos pueden cambiar y dejar de ser lo que esperábamos en cualquier momento.
Para hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.