¿Qué es Cloud Computing? (Re-Editado)

Cloud Computing - que a duras penas se
traduce como: "nube de computo" - es una termino muy reciente (2007) que ha ganado gran popularidad en la industria tecnológica para referirse a la solución del problema de "Escalabilidad Horizontal".

image
"¿Qué es la nube de
computo?"

La escalabilidad horizontal conociste en añadir mas nodos a un sistema (una aplicación distribuida por ejemplo) para mejorar su rendimiento, podemos suponer que: una aplicación de bases de datos distribuida aumentará el número de transacciones que maneja añadiendo más servidores redundantes (procesadores, memoria y disco duro). Esta idea es la linea de pensamiento mas lógica, en pocas palabras:

"Añadimos mas hardware, para incrementar el rendimiento del
servicio (software)".
Sin embargo, existe un pequeño problema (que es el que viene a solucionar tan heroicamente el concepto de Cloud Computing), este es el problema de la escalabilidad horizontal; que radica en el aumento de la complejidad de la administración del hardware y también del uso de modelos de programación muchos mas complejos que aprovechen al máximo el hardware, y añadimos a esto los problemas normales de una red como: rendimiento(throughput) y la latencia entre los nodos.

image
"La
nube"

Así que, para resolver todos estos inconvenientes surge el Cloud Computing. Lo increíble, es como un concepto tan "simple", cause tanta confusión, quizás la mejor definición de cloud computing que he encontrado es la de Sam Johnston:

"Cloud Computing es la realización del desarrollo
basado en Internet (Cloud) y el uso de la tecnología de computación (Computing) que ofrece un
ecosistema de proveedores"
Las facilidades que el Cloud Computing ofrece se resumen en un común denominador:
bold;">accesar a recursos de hardware (o servicios) que son de otra
entidad.
Así, un consumidor (cliente) puede comprar capacidad de computo (procesamiento, espacio) basado en la demanda de su servicio. Cloud computing es accesar los recursos y servicios que se necesitan para realizar funciones con necesidades dinámicas. Un desarrollador de aplicaciones o servicios, pedirá acceso a la nube, en vez de especificar un punto final o recurso especifico.

image
"La nube no esta tan
distante como parece..."

Adentremonos en la nube, y usemos un ejemplo practico para explicarlo: Digamos que algún salvadoreño (Ing. Fulano) con un par de tiempo extra (escaso en estos días) desea saber que tan buenos somos los Salvadoreños para predecir (adivinar) como estará el clima. Ing. Fulano usara Google Apps (servicio de Cloud Computing de Google), y compra una cuenta, y diseña, codifica y "sube" una aplicación que permite que los usuarios que se registren voten por si lloverá ahora o no, si estará nublado o no, etc. Esta aplicación también mostraría el usuario con mas aciertos, y los margenes de error que tienen los Salvadoreños para predecir el tiempo del día siguiente.

¿Que beneficios le da usar este servicio de Google Apps, que es un servicio de nube?

  • La inversión es de $10 por la cuenta estándar.
  • 500 MB de espacio para almacenar su sistema.
  • El poder de procesamiento de los DataCenters de Google.
  • Cero mantenimiento al servidor web.
  • Cero preocupación por la seguridad.
  • Cero preocupaciones por el trafico.
    Utilizar el concepto de Cloud Computing es desarrollar con Internet en mente. Es el próximo "paso" en el desarrollo de software (para las masas), quizás no se convierta en un estándar de la noche a la mañana, pero no es difícil pensar que las aplicación de ofimática poderosas funcionen en este contexto, y ya vemos que vamos por ese camino: Google Documents, Zoho, Google Calendar, etc.

image

El Cloud Computing: incluye, implementa e integra la nube (Internet) a la aplicación, porque la aplicación descansa sobre la base de la conectividad que brinda Internet y convierte los servicios crudos y básicos, como el mero almacenamiento de datos, en utilidades concretas y útiles.

Espero que este pequeño articulo, les sirva para comprender el concepto de "Cloud Computing", más adelante añadiremos otros ejemplos de Cloud Computing. Ah!, y casi se me olvida: ¿Que servicios usas que utilizan el concepto de Cloud Computing?