Windows Azure Big

Azure va a dar mucho que hablar así, que espero estar por aquí algo más de lo habitual.

Ya en un post anterior comenté algún tema curioso sobre Azure, en este caso en concreto me gustaría dejar un resumen a grandes rasgos de manera que sirva de orientación para el comienzo con esta nueva gran “area de desarrollo”, principalmente para aquellos que aún no conocen poco o nada sobre Azure.

¿Qué es Azure? y, concretamente, ¿Qué es Windows Azure Platform?

Antes de dar ninguna explicación, me gustaría hacer mención sobre como equiparar a Azure con otros temas históricos de nuestra vida y de los que actualmente nos estamos beneficiando. Este simile aunque ya utilizado en más de una presentación creo que aclara bastante:   “La electricidad, el gas, etc, los tenemos al alcance de nuestra mano con un servicio. ¿Por qué no hacer lo mismo con la infraestructura de ordenadores y pagar por un servicio prestado? De esta manera cada “uno” se dedica única y exclusivamente a su negocio”.   Con el tiempo, hay una menor inversión y se produce un alto ROI.

Windows Azure es un entorno de “Cloud Computing” basado en Internet, es decir, un Sistema Operativo basado en Internet.  Una plataforma para el desarrollo de aplicaciones .net en la “nube”, todo ello apoyado en data centers repartidos por todo el mundo.

Una imagen muy buena que define o da respuesta a esta pregunta es la siguiente. ¡ Creo que hay poco más que contar para una breve respuesta!

Microsoft Platform

Esta plataforma esta formada por:

  • Windows Azure: Computación y capacidad de almacenamiento en la nube. Basicamente un OS.
  • App Fabric: Bus de datos y Control de acceso. Básicamente un ESB (Enterprise Service Bus).
  • SQL Azure: SQL Server para la nube.

Todo ello con algunas restricciones y algunas diferencias que ya intentaré ir contando poco a poco.

Adicionalmente, cuando comencemos a estudiar y a intentar aprender Azure, encontraremos muchos acronimos que es conveniente tener presente desde el principio y que yo creo que pueden acortar dicho tiempo:

  • IaaS: Infraestructure as a Service. Elasticidad y facilidad  para subir máquinas a la nube; maquinas virtuales (WM Ware), Amazon, …
  • PaaS: Platform as a Services. Plataforma para la ejecución de software/servicios a medida; Windows Azure, Google App Engine, …
  • SaaS: Software as a Services. Productos acabados. Windows Live, Bing, Sharepoint, Twitter, faceboos, Gmail, …
  • Windows Azure Appliance: Contenedores de máquinas de Azure administrados por la nube, y que van a encontrarse físicamente en casa del cliente, (éste, los quiere cerca, poque “no se fía”).
  • On-premise: Sistema Software “No-Cloud”.

Azure se identifica claramentecon algunos adjetivos; Elasticidad, flexibilidad y “On-Demand” (En el Cloud, se paga por lo que se usa).  Pincipalmente lo definiría como “Self-Service”.

Una vez  entendido que es Windows Azure Platform, he aquí un gráfico identificatio (sacado de uno de los correspondientes White Papers), aunque por el momento no entraremos en detalle:

image

Conviene conocer también que existe una API “REST” (tecnología basada en HTTP y URI), que es utilizada por Azure y que, aunque aparentemente es trasparente, su uso es posible de forma explicita incluso para otros lenguajes para el uso con componentes de la plataforma azure:

WindowsAzureStorageServices

Adicionalmente y de cara a la seguirdad tendremos que entender algunos terminos que aunque ya exsten hace tiempo, se le comenzará a dar más uso en y con la nube;

  • WIF (Windows Identity Foundation); WS_Trust y WS-Federation.
  • Claims: Es “Algo” que identifica a un usuario; el UserId, el Pwd, la edad, un conjunto de estas, etc.
  • STS (Security Token Service); Issue, Renew, Validate, Cancel
  • ADSF 2.0 (Active Directory Federation Services)
  • Y mucho más…

A partir de ahora no tiene por que ir todo a la nube, cada cosa irá en su sitio, exisiten aplicaciones idóneas para la nube mientras que otras no:

Idóneas:

  • Requieren escalabilidad; interet
  • Estacionales; Loterías, rebajas, etc
  • Con picos; Ofertas, vuelos, etc
  • De crecimiento exponencial generado por los usuarios; facebook, flickr, etc
  • etc…

No idóneas:

  • Lineales, sin perspectiva de crecer.
  • Cotrol absoluto del entorno.
  • Alta sensibilidad en los datos; datos financieros.

Adicionalmente agradecer anuestro compañero de Geeks Ibon Landa, su recapitulación sobre el inicio con Windows Azure Platform.

Hasta aquí y en pocas palabras, un resumén o recapitulación y punto de partida hacia este gran y maravilloso mundo. En los siguientes post directo al grano con VS 2010 y Windows Azure Cloud Services.

Saludos desde nube
Juanlu