Stairway to Azure

 

El objetivo de esta serie de posts, es tender una escalera a la nube (Azure), de tal manera que nosotros, desarrolladores hispanoparlantes tengamos una manera rápida de comenzar con todo lo relacionado con esta tecnología.

Para introducirnos rápidamente en el mundo de Azure, primero que todo es necesario que entendamos los conceptos de SOA, SaaS y S+S. Para este fin, he preparado este video que nos dejará muchas cosas claras:

 

Luego del video, es mucho más fácil entrar en materia:

GENESIS

Al principio todo era código estructurado. Y miles de líneas de código se entrecruzaban como espagueti dentro de aterradores GoTo’s y Labels. Y la interoperabilidad de aplicaciones era así:

Arquitectura Spagueti

Todos los sistemas estaban altamente acoplados y hacer un arreglo o un cambio era toda una pesadilla. Era la época de oscuridad en el desarrollo de software. Se desarrollaba sin ciencia. Se administraba con sufrimiento.

Servicios y SOA

Después nació el servicio. Y los programadores se dieron cuenta de que era bueno. No tenían que pasar días tratando de hacer un cambio, porque las funcionalidades estaban bien distribuidas independientemente. Además tampoco se duplicaban. Entonces, nació SOA o Arquitectura Orientada a Servicios. Con la cual se hizo mucho más fácil la administración del software y los procesos más eficientes.

El milagro de SOA hizo que las empresas progresaran mucho y que cada vez requirieran más servicios; sus sistemas de software crecían y obviamente así el hardware que los soportaban. Y el crecimiento de hardware trajo consigo un purgatorio para el personal de IT. Administrar decenas de servidores y estar pendientes de los nuevos requerimientos de infraestructura para estos grandes sistemas de software se hizo cada vez más doloroso. Los costos también aumentaban exponencialmente cada vez que crecían los sistemas. Además el negocio en crecimiento obligaba a viajar a los empleados de las empresas, quienes en sus viajes de negocio requerían tener acceso al software. Pero el software estaba internado en el centro de datos empresarial. Los empleados estaban atados a la ubicación física de la empresa. Todo fue un caos!

SaaS

Entonces apareció el evangelista promulgando el uso de los servicios de Hosting. Empresas encargadas de mantener los centros de datos para otras empresas sumergidas en el caos del manejo de IT. Y aparecieron grandes centros de datos que a pesar de estar fuera de las instalaciones de los clientes, podían albergar todas sus soluciones de software. Las empresas se ahorraron costos y dolores de cabeza, porque ya no tenían que estar pendientes de la administración de IT. La comunicación entre el servicio de hosting y las empresas fue posible gracias a la explosión de internet y el ancho de banda; así que los empleados ya no estaban atados a la casa matriz; todo mundo se olvidó de los detalles no funcionales y se dedicó más enfocadamente a su negocio… Los gerentes vieron que todo esto era muy bueno! Así que se dedicaron solo a producir servicios para ser hosteados y ese fue el origen del SaaS (Software as a Service) o software como servicio.

Entonces todo mundo comenzó a adorar al nuevo modelo de conexión al software (la internet). Y nadie volvió a conectarse al interior de la empresa. Siempre era necesario tener internet para poder trabajar. Así que si había un problema de conectividad, se perdía la productividad. Además las aplicaciones tuvieron que estandarizarse para poder visualizarse desde todos los browsers y se perdieron las características especiales y únicas de las aplicaciones de escritorio. Entonces los negocios que un día crecieron vertiginosamente, comenzaron a decaer por la limitante de funcionalidad. Esto sumado a que los proveedores de servicios de hosting también estaban a tope y tardaban mucho en escalarse, empeoró aún más la situación. El oscurantismo cayó de nuevo por el uso excesivo de una novedad.

S+S

El desarrollador reflexionó; y se dio cuenta que el modelo de software tradicional instalado al interior de la empresa que había desechado, tenía grandes ventajas sobre el nuevo ídolo. Y que sin embargo SaaS también conservaba características brillantes. Entonces observó que la solución no era irse por un único camino. Sino tomar el mejor camino de acuerdo a cada tipo de aplicación. Así decidió que parte de su software iba a ser software como tal y otra parte iba a ser servicio. Esto dio origen a S+S: Software más Servicios. Desarrolladores y gerentes se dieron cuenta que esto era bueno y se mantiene hasta nuestros días.

AZURE (PaaS)

Microsoft también observó que todo esto era bueno. Y decidió hacerlo aún mejor! Así que está poniendo a disposición de sus clientes los servicios de hosting, almacenamiento y procesamiento de datos; tal cual como lo hacen los actuales proveedores; pero esta vez, ofreciendo estadios completos de servidores que hacen más fácil lograr la escalabilidad y disponibilidad que requieren algunas de las aplicaciones de misión crítica de los clientes. En síntesis, Azure cubre la parte de software como servicio; pero como se observa al mirar en detalle la tecnología, se ofrece todo un framework para poder conectarnos con las aplicaciones al interior de la empresa y otras hospedadas por los proveedores de servicios de hosting convencionales que seguirán trabajando con muchas de las aplicaciones que actualmente manejan sin problemas. Concluyendo, la nueva tecnología Azure basa su desarrollo en la interoperabilidad limpia y eficiente con las fuentes de software que han demostrado ser muy adecuadas hasta ahora: al interior de las empresas (Software – On Premises) y hosteadas por terceros (Servicios).

Una vez recorrido el camino necesario para entender la historia y el porqué de Azure, esperen en próximos blogs una inmersión especial a la plataforma y todas sus características!