Software as Utility (aka Software as Service)


Un Poco de Historia

Como casi todos a esta altura ya saben, las primeras computadoras era extremadamente caras, lentas y ocupaban mucho pero mucho espacio. Los operadores (o programadores) las utilizaban moviendo llaves de forma manual.

Primer Hito: El Procesamiento Batch

A medida que, de a poco (y gracias al transistor), las computadoras iban ganando velocidad el tiempo que se insumía entre “ejecuciones” de programas comenzó a tener importancia. Para solucionar este problema, aparece el procesamiento batch: Gran Idea!

Ahora los operadores pueden perforar tarjetas (“offline”; sin acceder a la computadora) y luego dejarlas en espera para que la computadora ejecute el programa inmediatamente después de terminar la ejecución actual. Es decir, desaparece el tiempo muerto entre programas.

Ningún operador interactuaba directamente con LA computadora, sino que programaba las tarjetas y luego se le entregaba la salida. Desde ya que LA computadora era mono-programa y suficientemente costosa como para no poder dejar que una persona se pase un largo rato cerca de ella.

La Revolución: Time-sharing

A principios de 1957, Bob Bemer se da cuenta que había tiempos muertos mientras un usuario utilizaba la computadora y propone la idea de time-sharing: muchos usuarios accediendo de forma concurrente a un mismo procesador y la computadora encargada de darle “un poco de bola” a cada uno.

Si bien esta idea no fue fácil de implementar, ya que significaba un cambio radical de arquitectura y a su vez requería de suficiente espacio de memoria para guardar el estado de cada usuario conectado; a fines del mismo año John McCarthy consigue hacerlo dentro de IBM. Así fue como IBM adquiere el liderazgo y monopolio, mediante sus sistemas operativos multi-usuarios.

Desde ya todos empezamos a odiar a IBM…

Cual fue la visión detrás de este concepto?

Tener una computadora central (mainframe) con cientos/miles de terminales compartiendo su velocidad de proceso (que ademas se incrementaba). Esta idea esta fundada ni mas ni menos que como funciona cualquier otro utility o servicio. Por ejemplo: la electricidad, uno paga una mensualidad y accede a la electricidad; no es necesario instalar un generador eléctrico en cada casa.

Lo mismo se imaginaban para el software.

Mientras tanto…

Los lenguajes de programación (muuuy resumido)

Durante este periodo empiezan a surgir los lenguajes de programación con orientaciones especificas:

  • FORTRAN (formula translator): Lenguaje destinado a cálculos matemáticos
  • COBOL (Common Business Oriented Lenguage): Lenguaje orientado a negocios financieros, bancos, etc. Todavía muy vigente en la industria!

La Competencia

Como proyecto de investigación del MIT y de la mano de Bell Labs y General Electric, se gesta el proyecto MULTICS: Sistema operativo multiusuario. Si bien el proyecto fracasó, dejo la base para lo que luego fue UNIX: Un sistema operativo independiente del hardware.

El desarrollo de UNIX a su vez, incentiva el desarrollo de un lenguaje de programación modular, extensible pero pequeño: el lenguaje de programación C.

La Caída del Gigante I

Con la llegada de los circuitos integrados, que abaratan el costo de tener un procesador en cada casa, con la existencia de sistemas operativos que no dependan de un hardware especifico y con velocidades de proceso que se duplican cada 18 meses; la hegemonía de IBM desaparece paulatinamente. Al día de hoy aún existen equipos IBM funcionando; como escuche por ahí: “No se cuál será el lenguaje líder dentro de 10 años, pero si se que COBOL seguirá allí”.

De todas formas, a pesar de que IBM no desaparece; pierde protagonismo y toma la posta Microsoft con su sistema operativo de escritorio (luego de ganarle a IBM y APPLE).

A partir de ahora, todos odiamos a Microsoft…

Evolucionando

Los siguientes años aparecen muchas alternativas y posibles competidores; aparecen infinidad de lenguajes de programación y herramientas de uso común para el usuario hogareño.

En cada casa, hay una computadora; se esfuma la idea de “Software as Utility” y el software se comercializa como un producto cualquiera.

De la mano de linux aparece el software open-source y el concepto del derecho del usuario a utilizar el software y cambiarlo cuando quiera.

La Segunda Revolución: Internet

A principios de los 90 (tal vez un poco antes) aparece Internet; como toda tecnología nueva tarda en asentarse y sobre todo, al principio no se sabe bien para que sirve.

Dos amigos y universitarios implementan el algoritmo PageRank como una forma inteligente de clasificar y asignar importancia a la información. A partir de este hecho, nace google y comienzan a mover nuevamente el tablero. Internet empieza a tener sentido.

Sustentado por mejores conexiones; la velocidad de proceso ya no es tan importante como poder chatear con un amigo. Nacen las redes sociales y la web 2.0. Las computadoras se transforman en una gran caja para ejecutar navegadores. Los sistemas operativos van perdiendo protagonismo; lo que uno necesita esta en Internet

La Caída del Gigante II (Futurismo cercano)

Al igual que le ocurrió a IBM, ahora le toca a Microsoft; su núcleo de negocio se esfuma y no puede adaptar su maquinaria lo suficientemente rápido. Google crece y toma protagonismo; Microsoft no desaparece (ni siquiera desapareció COBOL todavía!) pero ya no es lo que solía ser.

Todos, de a poco, empezamos a odiar a Google (y google lo sabe y hace todo lo posible para portarse bien).

Software as Utility (Futurismo no tan cercano)

Y así como si nada hubiera pasado, volvemos al inicio: Sofware as Utility, Software as Service.

No existen los productos comerciales de software, el software es open-source pero hay que pagar por mes para acceder al mismo. El software como la electricidad o el teléfono

La música, el cine, la televisión; esta todo ahí disponible por una cuota mensual. Disponible para bajar; pero quien lo quiere bajar? Solo queremos usarlo.

Esta vez será posible? Qué opinan?

Anuncios

Un comentario en “Software as Utility (aka Software as Service)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s