<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://geeks.ms/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Yo sólo pasaba por aquí pero ya que estoy....</title><subtitle type="html">Blog de Ibon Landa - MVP Windows Azure</subtitle><id>http://geeks.ms/blogs/ilanda/atom.aspx</id><link rel="alternate" type="text/html" href="http://geeks.ms/blogs/ilanda/default.aspx" /><link rel="self" type="application/atom+xml" href="http://geeks.ms/blogs/ilanda/atom.aspx" /><generator uri="http://communityserver.org" version="4.1.31106.3070">Community Server</generator><updated>2012-03-26T15:26:00Z</updated><entry><title>BilboStack</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/05/08/bilbostack.aspx" /><id>/blogs/ilanda/archive/2012/05/08/bilbostack.aspx</id><published>2012-05-08T16:14:00Z</published><updated>2012-05-08T16:14:00Z</updated><content type="html">&lt;p&gt;Aprovecho esta entrada para daros a conocer este evento que estamos preparando entre algunas comunidades de Bilbao, &lt;a&gt;WebDevBilbao&lt;/a&gt; y &lt;a href="http://geeks.ms/blogs/artalde"&gt;Artalde.NET&lt;/a&gt; principalmente.&lt;/p&gt;  &lt;p&gt;El evento será el día 2 de junio, sábado, en la Universidad de Deusto.&lt;/p&gt;  &lt;p&gt;El evento contará con 10 sesiones divididas en dos tracks dónde podrán verse diferentes charlas de diferente naturaleza, pero con la “Web” como nexo común.&lt;/p&gt;  &lt;p&gt;Toda la información del evento la podéis encontrar en &lt;a title="http://bilbostack.com/" href="http://www.bilbostack.com/"&gt;http://www.bilbostack.com/&lt;/a&gt; y podéis seguirlo en twitter a través de &lt;strong&gt;@BilboStack&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Espero veros allí!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204759" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Evento" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Evento/default.aspx" /></entry><entry><title>Plain Concepts SQL Server Tour</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/05/08/plain-concepts-sql-server-tour.aspx" /><id>/blogs/ilanda/archive/2012/05/08/plain-concepts-sql-server-tour.aspx</id><published>2012-05-08T10:05:34Z</published><updated>2012-05-08T10:05:34Z</updated><content type="html">&lt;p&gt;Desde &lt;a href="http://www.plainconcepts.com"&gt;Plain Concepts&lt;/a&gt; vamos a realizar una serie de eventos gratuitos sobre &lt;strong&gt;SQL Server 2012&lt;/strong&gt;, principalmente centrado de temas de &lt;strong&gt;escalabilidad, bussiness intelligence y Big Data.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Los eventos serán en Bilbao (29 de mayo), Barcelona (11 de junio) y Madrid (13 de junio).&lt;/p&gt;  &lt;p&gt;Toda la información, agenda y registro la podéis encontrar aquí;&amp;#160; &lt;a href="http://www.plainconcepts.com/SQLServerTour/"&gt;http://www.plainconcepts.com/SQLServerTour/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Agenda:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;09:30 - 10:15 Novedades SQL Server 2012&lt;/p&gt;  &lt;p&gt;10:15 - 11:00 Escalabilidad y disponibilidad: Always On&lt;/p&gt;  &lt;p&gt;11:00 - 11:15 Café &lt;/p&gt;  &lt;p&gt;11:15 - 12:00 Gestión de la Calidad y Versionado de Datos: DQS y MDS&lt;/p&gt;  &lt;p&gt;12:00 - 13:00 Optimización de Cargas Masivas de Datos&lt;/p&gt;  &lt;p&gt;13:00 - 14:00 Comida&lt;/p&gt;  &lt;p&gt;14:00 - 15:30 BISM y PowerView&lt;/p&gt;  &lt;p&gt;15:30 - 17:00 Big Data: Apache Hadoop, Hadoop on Azure y SQL Server 2012&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Si os interesa, espero veros en los eventos! &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204923" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="SQL Server" scheme="http://geeks.ms/blogs/ilanda/archive/tags/SQL+Server/default.aspx" /><category term="Hadoop" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Hadoop/default.aspx" /><category term="SQL Server 2012" scheme="http://geeks.ms/blogs/ilanda/archive/tags/SQL+Server+2012/default.aspx" /></entry><entry><title>Azure y ALM en Sevilla, 7 de mayo</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/04/26/azure-y-alm-en-sevilla-7-de-mayo.aspx" /><id>/blogs/ilanda/archive/2012/04/26/azure-y-alm-en-sevilla-7-de-mayo.aspx</id><published>2012-04-26T13:00:00Z</published><updated>2012-04-26T13:00:00Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;Windows Azure&lt;/strong&gt; es la plataforma de Microsoft de desarrollo para la nube que permite crear y ejecutar aplicaciones en la nube, lanzarlas en cuestión de minutos en lugar de meses y codificar en varios lenguajes y tecnologías, como .NET, Java o PHP. Azure proporciona la plataforma ideal para innovar, dejando de lado problemas de redundancia, ancho de banda o limitaciones del servidor.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Por otro lado, la &lt;strong&gt;gestión del ciclo de vida de desarrollo de una aplicación (ALM)&lt;/strong&gt; es clave a la hora de identificar las variaciones que puedan hacer fracasar un desarrollo, donde la colaboración entre los distintos roles del ciclo de vida de desarrollo y el uso de las distintas metodologías: ágiles, scrum, CMMI,etc…son claves para el éxito de cada proyecto.&lt;/p&gt;  &lt;p&gt;El objetivo de esta sesión es poner conocer los aspectos más importantes de ambas áreas y ver cómo se relacionan.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Agenda:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;    &lt;br /&gt;&lt;strong&gt;09:30 - 10:30&lt;/strong&gt; Introducción a la plataforma&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;10:15 - 11:00&lt;/strong&gt; Monitorización y diagnóstico&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;11:00 - 11:30&lt;/strong&gt; Café&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;11:30 - 13:00&lt;/strong&gt; Pruebas de rendimiento y optimización de aplicaciones&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;13:00 - 14:00&lt;/strong&gt; Comida&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;14:00 - 15:00&lt;/strong&gt; Introducción a Scrum&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;15:00 - 16:00&lt;/strong&gt; Metodologías ágiles con TFS&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;16:00 - 17:00&lt;/strong&gt; Gestión de fuentes, testeo unitario e integración continua&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Dirección:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Escuela Técnica Superior de Ingeniería Informática &lt;/p&gt;  &lt;p&gt;Avd. Reina Mercedes sn. &lt;/p&gt;  &lt;p&gt;Sevilla 41012&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;strong&gt;&lt;u&gt;Ponentes:&lt;/u&gt;&lt;/strong&gt;     &lt;br /&gt;Rodrigo Corral     &lt;br /&gt;Ibon Landa     &lt;br /&gt;Plain Concepts (&lt;a href="http://www.plainconcepts.com"&gt;http://www.plainconcepts.com&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Registro:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032511975&amp;amp;Culture=es-ES" href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032511975&amp;amp;Culture=es-ES"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032511975&amp;amp;Culture=es-ES&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/PlainLogo_5F00_white_5F00_11946345.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="PlainLogo_white" border="0" alt="PlainLogo_white" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/PlainLogo_5F00_white_5F00_thumb_5F00_7AF214FD.jpg" width="318" height="104" /&gt;&lt;/a&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/161111_5F00_100001703300802_5F00_6447785_5F00_n_5F00_67D0E851.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="161111_100001703300802_6447785_n" border="0" alt="161111_100001703300802_6447785_n" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/161111_5F00_100001703300802_5F00_6447785_5F00_n_5F00_thumb_5F00_519ACCFF.jpg" width="160" height="124" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/fidetia_5F00_7E4386D8.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="fidetia" border="0" alt="fidetia" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/fidetia_5F00_thumb_5F00_0B3D66EA.jpg" width="200" height="62" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/logo_5F00_Grupo_5F00_0345C488.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="logo_Grupo" border="0" alt="logo_Grupo" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/logo_5F00_Grupo_5F00_thumb_5F00_2B28C3E7.png" width="240" height="96" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/LOGOS_5F00_HORIZONTAL_5F00_21822363.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="LOGOS_HORIZONTAL" border="0" alt="LOGOS_HORIZONTAL" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/LOGOS_5F00_HORIZONTAL_5F00_thumb_5F00_4DBEAA47.jpg" width="640" height="88" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204524" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Evento" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Evento/default.aspx" /><category term="Team Server" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Team+Server/default.aspx" /><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /></entry><entry><title>Power View Report to Hadoop on Azure</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/04/24/power-view-report-to-hadoop-on-azure.aspx" /><id>/blogs/ilanda/archive/2012/04/24/power-view-report-to-hadoop-on-azure.aspx</id><published>2012-04-24T07:55:00Z</published><updated>2012-04-24T07:55:00Z</updated><content type="html">&lt;iframe height="315" src="http://www.youtube.com/embed/DRbrUjOD72Y" frameborder="0" width="560"&gt;&lt;/iframe&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204361" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /><category term="Big Data" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Big+Data/default.aspx" /><category term="Hadoop" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Hadoop/default.aspx" /></entry><entry><title>Hadoop en Windows Azure (VII): Hive</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/04/23/hadoop-en-windows-azure-vii-hive.aspx" /><id>/blogs/ilanda/archive/2012/04/23/hadoop-en-windows-azure-vii-hive.aspx</id><published>2012-04-23T07:51:00Z</published><updated>2012-04-23T07:51:00Z</updated><content type="html">&lt;p&gt;Como ya hemos comentado en algún post anterior &lt;strong&gt;Hive&lt;/strong&gt; es una infraestructura de data warehouse sobre Hadoop diseñada inicialmente para ser capaces de entender toda la información de Facebook. Ofrece una interface SQL (&lt;strong&gt;HiveQL&lt;/strong&gt;) para ser capaz de manejar la información almacenada por Hadoop. &lt;/p&gt;  &lt;p&gt;También en un post anterior vimos el add-in de Hive que ha desarrollado Microsoft y que permite conectarse a las tablas de Hive desde &lt;strong&gt;Excel, PowerPivot o PowerView&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;En este post veremos un ejemplo muy sencillo de cómo crear una tabla de Hive y cómo usar HiveQL para consultar la información.&lt;/p&gt;  &lt;p&gt;En este caso cargaré un weblog, que no es más que un fichero de texto. Para cargarlo, como ya vimos anteriormente, podemos hacerlo desde la consola de JavaScript con fs.put o por FTP.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_HiveQL_5F00_2B3F38CE.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="01-HiveQL" border="0" alt="01-HiveQL" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_HiveQL_5F00_thumb_5F00_62A549FC.png" width="803" height="170" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una vez cargado podemos usar la consola interactiva de Hive para lanzar comandos de HiveQL, el primero para crear la tabla asociada al fichero recién cargado: (El comando &lt;strong&gt;show tables &lt;/strong&gt;nos permite ver las tablas existentes)&lt;/p&gt;  &lt;p&gt;CREATE EXTERNAL TABLE weblog_sample (   &lt;br /&gt;evtdate STRING,    &lt;br /&gt;evttime STRING,    &lt;br /&gt;svrsitename STRING,    &lt;br /&gt;svrip STRING,     &lt;br /&gt;csmethod STRING,     &lt;br /&gt;csuristem STRING,     &lt;br /&gt;csuriquery STRING,     &lt;br /&gt;svrport INT,    &lt;br /&gt;csusername STRING,     &lt;br /&gt;cip STRING,     &lt;br /&gt;UserAgent STRING,     &lt;br /&gt;Referer STRING,     &lt;br /&gt;scstatus STRING,     &lt;br /&gt;scsubstatus STRING,     &lt;br /&gt;scwin32status STRING,     &lt;br /&gt;scbytes STRING,     &lt;br /&gt;csbytes STRING,     &lt;br /&gt;timetaken STRING    &lt;br /&gt;)    &lt;br /&gt;COMMENT &amp;#39;This is a web log sample&amp;#39;    &lt;br /&gt;ROW FORMAT DELIMITED FIELDS TERMINATED by &amp;#39;32&amp;#39;    &lt;br /&gt;STORED AS TEXTFILE    &lt;br /&gt;LOCATION &amp;#39;/user/ibonilm/weblog/&amp;#39;; (ruta del fichero)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/03_2D00_HiveQL_5F00_47F8ADE3.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="03-HiveQL" border="0" alt="03-HiveQL" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/03_2D00_HiveQL_5F00_thumb_5F00_262CD552.png" width="594" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Una vez creada tabla podemos lanzar consultas usando HiveQL, por ejemplo: (&lt;a href="https://cwiki.apache.org/Hive/tutorial.html#Tutorial-HiveTutorial" target="_blank"&gt;Tutorial de Hive&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;&lt;strong&gt;select * from weblog_sample limit 10;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/04_2D00_HiveQL_5F00_2B2F1301.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="04-HiveQL" border="0" alt="04-HiveQL" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/04_2D00_HiveQL_5F00_thumb_5F00_7E39B025.png" width="640" height="271" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Y claro está, usando los add-ins que comentábamos en post anteriores, por ejemplo el de Excel.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/05_2D00_HiveQL_5F00_3BE697E2.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="05-HiveQL" border="0" alt="05-HiveQL" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/05_2D00_HiveQL_5F00_thumb_5F00_1EED4D40.png" width="724" height="855" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204360" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /><category term="Big Data" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Big+Data/default.aspx" /><category term="Hadoop" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Hadoop/default.aspx" /></entry><entry><title>Hadoop en Windows Azure (VI): Sqoop</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/04/19/hadoop-en-windows-azure-vi-sqoop.aspx" /><id>/blogs/ilanda/archive/2012/04/19/hadoop-en-windows-azure-vi-sqoop.aspx</id><published>2012-04-19T07:06:00Z</published><updated>2012-04-19T07:06:00Z</updated><content type="html">&lt;p&gt;Como ya hemos comentado en un post anterior, Sqoop es un framework open source que permite exportar e importar datos desde cualquier RDBMS y HDFS, y como no, el origen puede ser SQL Server o SQL Azure.&lt;/p&gt;  &lt;p&gt;Estas acciones se puede realizar desde línea de comandos, conectándose directamente a la máquina de Hadoop por RDP.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_Sqoop_5F00_486B6D36.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="01-Sqoop" border="0" alt="01-Sqoop" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_Sqoop_5F00_thumb_5F00_59036824.png" width="732" height="230" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una vez conectados podemos abrir la consola de Hadoop para lanzar los comandos necesarios para importar datos desde una base de datos de SQL Azure.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/02_2D00_Sqoop_5F00_5E71D8C8.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="02-Sqoop" border="0" alt="02-Sqoop" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/02_2D00_Sqoop_5F00_thumb_5F00_35F2F6B4.png" width="719" height="405" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Se establece la variable HIVE_HOME y se lanzan los comandos que queramos, ya está!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Importar desde SQL Azure a HDFS&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;bin\sqoop.cmd &lt;strong&gt;import&lt;/strong&gt; --connect &amp;quot;jdbc:sqlserver://&amp;lt;servername&amp;gt;.database.windows.net:1433;database=&amp;lt;dbname&amp;gt;;user=&amp;lt;username&amp;gt;@&amp;lt;servername&amp;gt;;password=&amp;lt;password&amp;gt;&amp;quot; --table &amp;lt;from_table&amp;gt; --target-dir &amp;lt;to_hdfs_folder&amp;gt; --split-by &amp;lt;from_table_column&amp;gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Exportar desde HDFS a SQL Azure&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;bin\sqoop.cmd &lt;strong&gt;export&lt;/strong&gt; --connect &amp;quot;jdbc:sqlserver://&amp;lt;servername&amp;gt;.database.windows.net:1433;database=&amp;lt;dbname&amp;gt;;user=&amp;lt;username&amp;gt;@&amp;lt;servername&amp;gt;;password=&amp;lt;password&amp;gt;&amp;quot; --table &amp;lt;to_table&amp;gt; --export-dir &amp;lt;from_hdfs_folder&amp;gt; --input-fields-terminated-by &amp;quot;&amp;lt;delimiter&amp;gt;&amp;quot;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204353" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /><category term="Big Data" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Big+Data/default.aspx" /><category term="Hadoop" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Hadoop/default.aspx" /></entry><entry><title>Azure y ALM en Santander, 26 de abril</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/04/17/azure-y-alm-en-santander-26-de-abril.aspx" /><id>/blogs/ilanda/archive/2012/04/17/azure-y-alm-en-santander-26-de-abril.aspx</id><published>2012-04-17T15:36:00Z</published><updated>2012-04-17T15:36:00Z</updated><content type="html">&lt;p&gt;Por un lado, &lt;strong&gt;​Windows Azure&lt;/strong&gt; es la plataforma de Microsoft de desarrollo para la nube que permite crear y ejecutar aplicaciones en la nube, lanzarlas en cuestión de minutos en lugar de meses y codificar en varios lenguajes y tecnologías, como .NET, Java o PHP. Azure proporciona la plataforma ideal para innovar, dejando de lado problemas de redundancia, ancho de banda o limitaciones del servidor. &lt;/p&gt;  &lt;p&gt;Por otro lado, la&lt;strong&gt; gestión del ciclo de vida de desarrollo de una aplicación&lt;/strong&gt; (ALM) es clave a la hora de identificar las variaciones que puedan hacer fracasar un desarrollo, donde la colaboración entre los distintos roles del ciclo de vida de desarrollo y el uso de las distintas metodologías: ágiles, scrum, CMMI,etc…son claves para el éxito de cada proyecto. &lt;/p&gt;  &lt;p&gt;Por eso, desde &lt;a href="http://www.plainconcepts.com/" target="_blank"&gt;Plain Concepts&lt;/a&gt; y el &lt;a href="http://www.ciin.es/" target="_blank"&gt;CIIN&lt;/a&gt;, os proponemos una jornada en la que hablaremos de Windows Azure y de ALM siendo la agenda de la misma la siguiente:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;p&gt;09:30 - 10:00 Introducción a la plataforma&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;10:00 - 11:00 Monitorización y diagnóstico &lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;11:00 - 11:30 Café &lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;11:30 - 13:00 Pruebas de rendimiento y optimización de aplicaciones&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;13:00 - 14:00 Comida&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;14:00 - 15:00 Scrum en la vida real&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;15:00 - 16:00 Gestión de fuentes, testeo unitario e integración continua &lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;16:00 - 17:00 Prácticas ALM para aplicaciones cloud&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Datos de interés:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;p&gt;Fecha: jueves &lt;strong&gt;26 de abril&lt;/strong&gt;.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Horario: De 09:30 a 17:00.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;strong&gt;Lugar: CIIN - Edificio Grupo Sodercan&lt;/strong&gt;         &lt;br /&gt;Parque científico y tecnológico de Cantabria         &lt;br /&gt;C/ Isabel Torres 1 39011 Santander&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;&lt;strong&gt;Ponentes: Rodrigo Corral e Ibon Landa (&lt;a href="http://www.plainconcepts.com/" target="_blank"&gt;Plain Concepts&lt;/a&gt;).&lt;/strong&gt;&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/PiePlainConceptsYCIIN_5F00_0720563D.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="PiePlainConceptsYCIIN" border="0" alt="PiePlainConceptsYCIIN" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/PiePlainConceptsYCIIN_5F00_thumb_5F00_2114165F.png" width="896" height="118" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204450" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Evento" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Evento/default.aspx" /><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /></entry><entry><title>Hadoop en Windows Azure (V)</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/04/16/hadoop-en-windows-azure-v.aspx" /><id>/blogs/ilanda/archive/2012/04/16/hadoop-en-windows-azure-v.aspx</id><published>2012-04-16T15:02:00Z</published><updated>2012-04-16T15:02:00Z</updated><content type="html">&lt;p&gt;Siguiendo con los post de Hadoop en Windows Azure, en este ejemplo veremos un ejemplo de cómo contar el número de ocurrencias de las palabras dentro de un fichero de texto. Éste es uno de los ejemplos que se pueden encontrar dentro del servicio y que nos ayudan a empezar a entender poco a poco cómo funciona el servicio y Hadoop.&lt;/p&gt;  &lt;p&gt;A través de la consola interactiva que ofrece el portal web y usando JavaScript, podemos realizar todas las labores que se realizan durante este ejemplo.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_WordCloud_5F00_04351F7A.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="01-WordCloud" border="0" alt="01-WordCloud" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_WordCloud_5F00_thumb_5F00_09A3901E.png" width="640" height="165" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;El primer paso a realizar será subir el fichero que queremos analizar, sobre el cuál contaremos el número de palabras que contiene. &lt;/p&gt;  &lt;p&gt;En este caso lo hacemos desde JavaScript (fs.put() ), pero podríamos haber utilizado otros medios, como FTP.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/04_2D00_WordCloudJarFile_5F00_1A3B8B0C.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="04-WordCloudJarFile" border="0" alt="04-WordCloudJarFile" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/04_2D00_WordCloudJarFile_5F00_thumb_5F00_71507602.png" width="640" height="415" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una vez tenemos el fichero cargado tenemos que crear un job de mapReduce para realizar la tarea que queremos. En este caso lo haremos todo desde la consola de JavaScript, pero recordad que hay otras opciones, por ejemplo desde Java o desde C#.&lt;/p&gt;  &lt;p&gt;El siguiente paso será subir el fichero javascript que contiene nuestra rutina de mapReduce. En el siguiente pantallazo podéis ver el contenido del fichero &lt;strong&gt;WordCount.js.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/05_2D00_WordCloudJarFile_5F00_7D05BD34.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="05-WordCloudJarFile" border="0" alt="05-WordCloudJarFile" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/05_2D00_WordCloudJarFile_5F00_thumb_5F00_346BCE63.png" width="782" height="472" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Y una vez tenemos disponible el fichero podemos usar una sentencia de &lt;strong&gt;Pig&lt;/strong&gt; para decirle que queremos lanzar el job de mapReduce contra el fichero que hemos subido anteriormente y que el resultado lo deje en el fichero DaVinciTop10Words. Como podéis ver, sólo se obtienen 10 resultados, lo que más ocurrencias tienen.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;&amp;gt; pig.from(&amp;quot;/example/data/davinci.txt&amp;quot;).mapReduce(&amp;quot;WordCount.js&amp;quot;, &amp;quot;word, count:long&amp;quot;).orderBy(&amp;quot;count DESC&amp;quot;).take(10).to(&amp;quot;DaVinciTop10Words&amp;quot;)&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Esta operación tardará unos minutos (podemos ver un log del proceso). Una vez haya terminado, podremos leer el fichero de resultados y mostrarlo, por ejemplo, en formato de gráfica.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/06_2D00_WordCloudJarFile_5F00_6BD1DF91.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="06-WordCloudJarFile" border="0" alt="06-WordCloudJarFile" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/06_2D00_WordCloudJarFile_5F00_thumb_5F00_4667EC23.png" width="444" height="381" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/07_2D00_WordCloudJarFile_5F00_1736008C.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="07-WordCloudJarFile" border="0" alt="07-WordCloudJarFile" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/07_2D00_WordCloudJarFile_5F00_thumb_5F00_7CF59767.png" width="378" height="428" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204352" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /><category term="Big Data" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Big+Data/default.aspx" /><category term="Hadoop" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Hadoop/default.aspx" /></entry><entry><title>Viernes en la nube: Windows Azure con tecnologías no Microsoft</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/04/16/viernes-en-la-nube-windows-azure-con-tecnolog-237-as-no-microsoft.aspx" /><id>/blogs/ilanda/archive/2012/04/16/viernes-en-la-nube-windows-azure-con-tecnolog-237-as-no-microsoft.aspx</id><published>2012-04-16T08:27:00Z</published><updated>2012-04-16T08:27:00Z</updated><content type="html">&lt;p&gt;Desde el &lt;a href="http://www.ciin.es/" target="_blank"&gt;CIIN&lt;/a&gt; y &lt;a href="http://www.plainconcepts.com/" target="_blank"&gt;Plain Concepts&lt;/a&gt; queremos iniciar una serie de webcasts que traten sobre diferentes aspectos de desarrollo en Windows Azure. Windows Azure es la plataforma de Microsoft de desarrollo para la nube, que permite crear y ejecutar aplicaciones en la nube, lanzarlas en cuestión de minutos en lugar de meses y codificar en varios lenguajes y tecnologías, como .NET, Java o PHP. &lt;/p&gt;  &lt;p&gt;Para dar a conocer mejor esta plataforma, hemos decidido iniciar esta serie tratando algunos temas no demasiado conocidos de desarrollo en Windows Azure.&lt;/p&gt;  &lt;p&gt;El segundo webcast de la serie, tratará sobre las posibilidades que ofrece la plataforma de Windows Azure, para desarrollar utilizando tecnologías NO Microsoft .&lt;/p&gt;    &lt;p&gt;Durante la sesión se hará una introducción lo más rápida posible a la plataforma Windows Azure, para pasar posteriormente a mostrar de forma práctica cómo es posible trabajar con los &lt;strong&gt;SDKs de PHP, Node.js o Java&lt;/strong&gt;. De forma práctica veremos cómo desplegar una aplicación PHP, un WordPress o una aplicación Node.js.&lt;/p&gt;  &lt;p&gt;Datos de interés:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;p&gt;Audiencia: Jefes de proyecto y profesionales de desarrollo en Windows Azure&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Requisitos previos: Conocimientos básicos sobre la plataforma Windows Azure&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Fecha: Viernes, &lt;strong&gt;20 de abril a las 10:00&lt;/strong&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Duración: 90 minutos&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Ponentes: &lt;strong&gt;Ibon Landa&lt;/strong&gt; - MVP de Windows Azure&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Enlace de inscripción al webcast: &lt;a title="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032510015&amp;amp;Culture=es-ES" href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032510015&amp;amp;Culture=es-ES"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032510015&amp;amp;Culture=es-ES&lt;/a&gt;&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/PiePlainConceptsYCIIN_5F00_5D93B6E8.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="PiePlainConceptsYCIIN" border="0" alt="PiePlainConceptsYCIIN" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/PiePlainConceptsYCIIN_5F00_thumb_5F00_573CBA8D.png" width="896" height="118" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204449" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Evento" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Evento/default.aspx" /><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /></entry><entry><title>Hadoop en Windows Azure (IV)</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/04/13/hadoop-en-windows-azure-iv.aspx" /><id>/blogs/ilanda/archive/2012/04/13/hadoop-en-windows-azure-iv.aspx</id><published>2012-04-13T10:12:00Z</published><updated>2012-04-13T10:12:00Z</updated><content type="html">&lt;p&gt;Siguiendo con la temática de los últimos post en este comentaré cómo es posible &lt;strong&gt;consumir la información de Hive desde Excel y PowerPivot &lt;/strong&gt;gracias a que Microsoft ha desarrollado un add-in para Hive.&lt;/p&gt;  &lt;p&gt;El primer paso es instalarse todo lo necesario para poder trabajar desde Excel y disponer del drive ODBC que nos de acceso a los datos. Para ello, dentro del portal de Hadoop tenemos una sección “Downloads” dónde podremos descargarnos el componente que necesitamos en nuestro equipo.&lt;/p&gt;  &lt;p&gt;El siguiente paso será habilitar los puertos de Hadoop para permitir conexiones ODBC.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_ConfigurePort_5F00_79140173.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="01-ConfigurePort" border="0" alt="01-ConfigurePort" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_ConfigurePort_5F00_thumb_5F00_2C6FC4D0.png" width="640" height="234" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una vez realizados estos dos pasos, si abrimos Excel, podemos ver el&lt;strong&gt; add-in de Hive&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/02_2D00_HivePanel_5F00_35E88346.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="02-HivePanel" border="0" alt="02-HivePanel" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/02_2D00_HivePanel_5F00_thumb_5F00_10125CE3.png" width="829" height="110" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Para poder realizar una conexión, primeramente es necesario crear un Data Source desde el panel de control, ODBC Data Source Administrator.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/03_2D00_ODBC_5F00_40593199.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="03-ODBC" border="0" alt="03-ODBC" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/03_2D00_ODBC_5F00_thumb_5F00_36B0C363.png" width="612" height="428" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hay que añadir un Data Source de tipo “HIVE” e incluir los datos del cluster al que queremos conectarnos.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/04_2D00_ODBC_5F00_28FE075B.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="04-ODBC" border="0" alt="04-ODBC" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/04_2D00_ODBC_5F00_thumb_5F00_60641889.png" width="446" height="502" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una vez hemos creado el Data Source, seleccionando el botón de “Hive”, podemos ver un panel en la parte derecha de nuestra hoja excel que permitirá selecciona el Data Source y realizar las consultas que queremos; seleccionar los objetos, la información que queremos ver etc…Ya está, ya estamos consumiendo información desde nuestro cluster de Hadoop.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/06_2D00_Excel_5F00_17CA29B8.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="06-Excel" border="0" alt="06-Excel" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/06_2D00_Excel_5F00_thumb_5F00_432E4AB2.png" width="891" height="561" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Y desde PowerPivot algo muy parecido.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/07_2D00_FromPowerPivot_5F00_44AF66C6.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="07-FromPowerPivot" border="0" alt="07-FromPowerPivot" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/07_2D00_FromPowerPivot_5F00_thumb_5F00_7EBE33A5.png" width="603" height="111" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Si accedemos a PowerPivot se puede añadir (seleccionar from other sources) un Data Source OLEDB/ODBC, dónde básicamente tendremos que indicar los datos de conexión al cluster de Hadoop.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/08_2D00_FromPowerPivot_5F00_55D31E9C.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="08-FromPowerPivot" border="0" alt="08-FromPowerPivot" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/08_2D00_FromPowerPivot_5F00_thumb_5F00_195AA9F2.png" width="662" height="726" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/09_2D00_FromPowerPivot_5F00_1D184EC2.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="09-FromPowerPivot" border="0" alt="09-FromPowerPivot" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/09_2D00_FromPowerPivot_5F00_thumb_5F00_5ECF8450.png" width="627" height="637" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/10_2D00_FromPowerPivot_5F00_7857117D.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="10-FromPowerPivot" border="0" alt="10-FromPowerPivot" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/10_2D00_FromPowerPivot_5F00_thumb_5F00_21EADCB1.png" width="529" height="543" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/11_2D00_FromPowerPivot_5F00_796BFA9C.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="11-FromPowerPivot" border="0" alt="11-FromPowerPivot" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/11_2D00_FromPowerPivot_5F00_thumb_5F00_56C7BC21.png" width="801" height="736" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204351" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /><category term="Big Data" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Big+Data/default.aspx" /><category term="Hadoop" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Hadoop/default.aspx" /></entry><entry><title>Hadoop en Windows Azure (III)</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/04/12/hadoop-en-windows-azure-iii.aspx" /><id>/blogs/ilanda/archive/2012/04/12/hadoop-en-windows-azure-iii.aspx</id><published>2012-04-12T09:57:00Z</published><updated>2012-04-12T09:57:00Z</updated><content type="html">&lt;p&gt;Como ya comentaba en los post anteriores, a través de &lt;a title="https://www.hadooponazure.com/" href="https://www.hadooponazure.com/"&gt;https://www.hadooponazure.com/&lt;/a&gt; y bajo invitación es posible acceder al servicio que Microsoft ofrece Hadoop sobre Windows Azure, lo que posibilita al usuario tener un cluster de Hadoop en cuestión de pocos minutos.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/06_2D00_HadoopOnAzure_5F00_4DF4F9F0.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="06-HadoopOnAzure" border="0" alt="06-HadoopOnAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/06_2D00_HadoopOnAzure_5F00_thumb_5F00_45ED31C1.png" width="640" height="390" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una dentro del servicio el primer paso es aprovisionar el cluster de Hadoop; hay que indicar un nombre único, las características y las credenciales de acceso al mismo. En pocos minutos tendrás tu cluster!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/07_2D00_HadoopOnAzure_5F00_28B763EA.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="07-HadoopOnAzure" border="0" alt="07-HadoopOnAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/07_2D00_HadoopOnAzure_5F00_thumb_5F00_601D7518.png" width="640" height="422" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/08_2D00_HadoopOnAzure_5F00_053ABF85.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="08-HadoopOnAzure" border="0" alt="08-HadoopOnAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/08_2D00_HadoopOnAzure_5F00_thumb_5F00_23A5006E.png" width="577" height="353" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una vez el cluster está creado tendremos acceso a toda la funcionalidad que el servicio ofrece:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Crear jobs (MapReduce) &lt;/li&gt;    &lt;li&gt;Consola intereactiva para trabajar con Javascript o Hive. &lt;/li&gt;    &lt;li&gt;Acceso por RDP al cluster. &lt;/li&gt;    &lt;li&gt;Configurar los puertos para permitir acceso por ODBC y FTP. &lt;/li&gt;    &lt;li&gt;Realizar labores de administración. &lt;/li&gt;    &lt;li&gt;etc…. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Uno de los puntos interesantes en este momento es la sección de ejemplos, la cuál nos va a permitir empezar poco a poco a conocer cómo funciona Hadoop. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/09_2D00_HadoopOnAzure_5F00_46198F29.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="09-HadoopOnAzure" border="0" alt="09-HadoopOnAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/09_2D00_HadoopOnAzure_5F00_thumb_5F00_00285C09.png" width="544" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/10_2D00_HadoopOnAzure_5F00_501E0A87.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="10-HadoopOnAzure" border="0" alt="10-HadoopOnAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/10_2D00_HadoopOnAzure_5F00_thumb_5F00_6E1C187B.png" width="583" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;En este post, a modo de ejemplo, estoy usando “10GB GraySort”, el cuál carga información en Hadoop y posteriormente lanza una serie de tareas para el procesamiento. A continuación os pongo paso a paso cómo es posible ejecutar el ejemplo y ver lo que hace, aunque claro está, lo suyo es ir entendiendo realmente lo que hace y por qué lo hace. Poco a poco :-)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/11_2D00_HadoopOnAzure_5F00_64DFDD3A.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="11-HadoopOnAzure" border="0" alt="11-HadoopOnAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/11_2D00_HadoopOnAzure_5F00_thumb_5F00_111C641F.png" width="579" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Crear el job.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/12_2D00_HadoopOnAzure_5F00_6EE45898.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="12-HadoopOnAzure" border="0" alt="12-HadoopOnAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/12_2D00_HadoopOnAzure_5F00_thumb_5F00_0CE2668D.png" width="640" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Estado del job.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/13_2D00_HadoopOnAzure_5F00_71C9977E.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="13-HadoopOnAzure" border="0" alt="13-HadoopOnAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/13_2D00_HadoopOnAzure_5F00_thumb_5F00_16E6E1EB.png" width="640" height="477" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Una vez ejecutado, podemos ver el histórico del mismo.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/14_2D00_HadoopOnAzure_5F00_5FBD53F1.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="14-HadoopOnAzure" border="0" alt="14-HadoopOnAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/14_2D00_HadoopOnAzure_5F00_thumb_5F00_3334240B.png" width="640" height="175" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Podemos acceder por RDP directamente al cluster de Hadoop.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/15_2D00_RemoteDesktop_5F00_23B1123C.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="15-RemoteDesktop" border="0" alt="15-RemoteDesktop" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/15_2D00_RemoteDesktop_5F00_thumb_5F00_711D8EFC.png" width="640" height="396" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204350" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /><category term="Big Data" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Big+Data/default.aspx" /><category term="Hadoop" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Hadoop/default.aspx" /></entry><entry><title>Big Data, Hadoop y Windows Azure (II)</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/04/11/big-data-hadoop-y-windows-azure-ii.aspx" /><id>/blogs/ilanda/archive/2012/04/11/big-data-hadoop-y-windows-azure-ii.aspx</id><published>2012-04-11T10:44:00Z</published><updated>2012-04-11T10:44:00Z</updated><content type="html">&lt;p&gt;Siguiendo con el post anterior dónde hacía una introducción a Big Data y Hadoop, en este post intentaré entrar ya un poco más en detalle en la oferta de Microsoft, en qué ofrece y cómo funciona.&lt;/p&gt;  &lt;p&gt;Como ya os comentaba Microsoft contribuye con este proyecto open source y entre otras cosas, ha incluido dos nuevas distribuciones, una para Windows Server 2008 y otra para Windows Azure. Yo principalmente hablaré de esta última, la cuál se encuentra en CTP, y que permite disponer un cluster de Hadoop en pocos minutos. Por si algunos os suena, el code-name de la distribución de Hadoop para Windows Server se llama Isotope.&lt;/p&gt;  &lt;p&gt;La idea es Microsoft es aprovechar todo lo&amp;#160; bueno que tiene Hadoop, pero siendo capaz de ofrecerle un enfoque empresarial y corporativo, tratando a Hadoop como a cualquiera de los productos que tiene en la actualidad, por ejemplo, ofreciendo el mismo soporte.&lt;/p&gt;  &lt;p&gt;Los mayores esfuerzos que está haciendo Microsoft es la integración de Hadoop con sus productos, para llegar a conseguir que se puede llegar a trabajar con Hadoop, pero desde las herramientas a las que están acostumbrados sus clientes…Herramientas de BI, Excel, PowerView, SharePoint…&lt;/p&gt;  &lt;p&gt;Por ejemplo, está desarrollando conectores para cargar datos desde el marketplace de Azure, adaptadores para SQL Server para traer información desde y hacia Haddop, add-in para Excel y PowerPivot, integración con Active Directory, System Center etc…&lt;/p&gt;  &lt;p&gt;Incluso también ofrece la posibilidad de trabajar con Visual Studio y C#, por ejemplo para hacer los scripts de MapReduce.&lt;/p&gt;  &lt;p&gt;Otra contribución interesante que también han ofrecido, los primeros, es el soporte a JavaScript.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/05_2D00_MicrosoftBigDataSolution_5F00_223A0FB8.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="05-MicrosoftBigDataSolution" border="0" alt="05-MicrosoftBigDataSolution" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/05_2D00_MicrosoftBigDataSolution_5F00_thumb_5F00_5F7AC47F.png" width="640" height="319" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;En los próximos post iré viendo cómo funciona Hadoop en Windows Azure, servicio que se encuentra disponible en &lt;a title="https://www.hadooponazure.com/" href="https://www.hadooponazure.com/"&gt;https://www.hadooponazure.com/&lt;/a&gt; y que a día de hoy sólo se puede entrar bajo invitación. &lt;/p&gt;  &lt;p&gt;Aprovecharé también para ir entrando en algo más de detalle sobre cómo funciona Hadooop.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/06_2D00_HadoopOnAzure_5F00_7D0C9F7E.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="06-HadoopOnAzure" border="0" alt="06-HadoopOnAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/06_2D00_HadoopOnAzure_5F00_thumb_5F00_10F60C48.png" width="913" height="556" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Y claro está, intentaré mostraros la integración con los productos de Microsoft, como el add-in de Hive para Excel.&lt;/p&gt;    &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/06_2D00_Excel_5F00_20D52B3F.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="06-Excel" border="0" alt="06-Excel" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/06_2D00_Excel_5F00_thumb_5F00_705EA6C8.png" width="640" height="403" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204349" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /><category term="Big Data" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Big+Data/default.aspx" /><category term="Hadoop" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Hadoop/default.aspx" /></entry><entry><title>Big Data, Hadoop y Windows Azure (I)</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/04/10/big-data-hadoop-y-windows-azure-i.aspx" /><id>/blogs/ilanda/archive/2012/04/10/big-data-hadoop-y-windows-azure-i.aspx</id><published>2012-04-10T07:03:00Z</published><updated>2012-04-10T07:03:00Z</updated><content type="html">&lt;p&gt;Si analizáramos el tipo y la cantidad de información que se puede llegar a generar a diario veríamos que cada día se generar muchísima información, mucha más de la que se generaba hace unos años, y que cada vez ésta es de diferente tipo. Por ejemplo, basta con hablar de toda la información que se genera a diario en las redes sociales como Twitter y Facebook para darse cuenta del volumen diario que puede generarse cada día. Pero no sólo pensad en redes sociales, pensad en cualquier otra empresa, como podría ser una empresa eléctrica o de energía, la cantidad de información diaria que podría coger de todos los dispositivos de medición y monitorización de los que disponen. A toda esta información es a lo que se conoce como Big Data.&lt;/p&gt;  &lt;p&gt;En los sistemas tradicionales sólo parte de esta información se trata y muchas veces hay muchísima de esta información que se deja de procesar,&amp;#160; ya que por ejemplo, su almacenamiento sería carísimo, difícil de procesar e incluso en muchos casos difícil de entender el cómo se debe analizar y tratar. En estos sistemas tradicionales raramente la información pasa de varios terabytes, cuando en Big Data estamos hablando de volúmenes de información de petabytes y hexabytes.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_TraditionalProcessing_5F00_289553DE.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="01-TraditionalProcessing" border="0" alt="01-TraditionalProcessing" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_TraditionalProcessing_5F00_thumb_5F00_71D7F8D9.png" width="640" height="395" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Básicamente la información tiene tres que factores que lo hacen complicado de manejar; &lt;strong&gt;El volumen&lt;/strong&gt; de información que se hoy en día en altísimo y cada día se genera mucha más. &lt;strong&gt;El tipo&lt;/strong&gt; de información es muy diverso, teniendo que manejar en muchos cosos información estructura y desestructurada. Por último, la &lt;strong&gt;velocidad&lt;/strong&gt;, cada vez esta información aparece más rápidamente.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/03_2D00_RDBMSMapReduce_5F00_36A41D0E.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="03-RDBMSMapReduce" border="0" alt="03-RDBMSMapReduce" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/03_2D00_RDBMSMapReduce_5F00_thumb_5F00_4D82EE8A.png" width="640" height="289" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Es para este tipo de escenarios, para el tratamiento de esta información que se conoce como Big Data, dónde encaja &lt;strong&gt;Apache Hadoop&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Hadoop es un framework open source para el procesado, almacenamiento y análisis de cantidades enormes de información, información de diversos orígenes (estructurados, desestructurados…). Inicialmente fue Yahoo! el creador de Hadoop basándose en MapReduce, un sistema desarrollado por Google sobre el año 2000 creado para indexación de la Web. Fue diseñado para ser capaz de analizar petabytes y hexabytes de información de forma distribuida con la capacidad de procesado paralelo de toda la información almacenada.&lt;/p&gt;  &lt;p&gt;¿Quién lo usa? Amazon, Facebook, Google, IBM, Intel Research, Yahoo!…&lt;/p&gt;  &lt;p&gt;Microsoft ha contribuido a este proyecto con dos distribuciones de Hadoop para Windows, claro está también open source, que pueden funcionar sobre un entorno &lt;strong&gt;Windows on-premise o sobre Windows Azure&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;El sistema que hay por debajo a grandes rasgos puede “resultar sencillo”, pero muy efectivo.&lt;/p&gt;  &lt;p&gt;Hadoop es capaz de recibir información de diversos orígenes, tanto estructurada como desestructurada, para almacenarla en sus propio sistema de almacenamiento, conocido como &lt;strong&gt;Hadoop Distributed File System&lt;/strong&gt; (HDFS). Cuando recibe la información la divide en múltiples partes (chunks) y lo almacena en los diferentes nodos que forman parte del cluster de Hadoop. La información se replica entre diferentes nodos para que si un nodo falla la información no se pierda.&lt;/p&gt;  &lt;p&gt;Una cosa muy interesante del sistema es que está diseñado para poder funcionar en cualquier tipo de hardware, lo que provoca que realmente cualquier tipo de máquina podría formar parte del cluster de Hadoop, lo que hace que la solución pueda ser más económica. &lt;/p&gt;  &lt;p&gt;El análisis de la información se realiza con una técnica conocida como &lt;strong&gt;MapReduce&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Una vez almacenada la información los usuarios puede crear un “Map” job para que Hadoop realice las acciones que quiere el usuario. Éstas acciones no son más que un programada desarrollado por el usuario en Java (veremos otras opciones). Hadoop es capaz de localizar la información en los diferentes nodos, procesarla de&lt;strong&gt; forma paralela en cada nodo&lt;/strong&gt; para realizar la acción solicitada por el usuario.&lt;/p&gt;  &lt;p&gt;Una vez el procesado se encuentra finalizado en cuando se inicia la tarea de “Reduce” que recoge los diversos resultados generados en cada nodo y los unifica para poder ofrecérselos al usuario.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/02_2D00_MapReduce_5F00_593835BC.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="02-MapReduce" border="0" alt="02-MapReduce" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/02_2D00_MapReduce_5F00_thumb_5F00_109E46EB.png" width="589" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una cosa interesante es que alrededor de Hadoop existen múltiples proyectos open source que aumentan enormemente las capacidades de este sistema y que lo hacen aún más interesante.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Hive&lt;/strong&gt;, es una infraestructura de data warehouse sobre Hadoop diseñada inicialmente para ser capaces de entender toda la información de Facebook. Ofrece una interface SQL (HiveQL) para ser capaz de manejar la información almacenada por Hadoop. Microsoft ha desarrollado un add-in de Hive para analizar y visualizar los datos de Hadoop desde Excel o PowerPivot. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Pig&lt;/strong&gt;, es otro lenguaje desarrollador por Yahoo! para la consulta y análisis de la información.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Sqoop&lt;/strong&gt; es un framework open source que permite conectar cualquier RDBMS con HDFS.&lt;/p&gt;  &lt;p&gt;Como he comentado anteriormente, Microsoft también está contribuyendo a este proyecto con sus propios aportes, en este caso con dos nuevas distribuciones, una para entornos Windows Server y otro para Windows Azure. Claro está, todas las contribuciones realizadas por Microsoft vuelven a la comunidad como proyectos open source.&lt;/p&gt;  &lt;p&gt;En los próximos post espero poder profundizar en la oferta de Microsoft para Hadoop, que aportes ha realizado, que nueva funcionalidad incluye y por supuesto, cómo funciona.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204348" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /><category term="Big Data" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Big+Data/default.aspx" /><category term="Hadoop" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Hadoop/default.aspx" /></entry><entry><title>Node.js, Cloud9 y Windows Azure</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/04/03/node-js-cloud9-y-windows-azure.aspx" /><id>/blogs/ilanda/archive/2012/04/03/node-js-cloud9-y-windows-azure.aspx</id><published>2012-04-03T13:31:00Z</published><updated>2012-04-03T13:31:00Z</updated><content type="html">&lt;p&gt;Siguiendo con la línea de los últimos post sobre cómo desplegar una &lt;a href="http://www.estoyenlanube.com/aplicaciones-php-en-windows-azure/" target="_blank"&gt;aplicación PHP&lt;/a&gt;, un &lt;a href="http://www.estoyenlanube.com/wordpress-y-windows-azure/" target="_blank"&gt;WordPress&lt;/a&gt;, o una &lt;a href="http://www.estoyenlanube.com/node-js-en-windows-azure/" target="_blank"&gt;aplicación Node.js&lt;/a&gt;, en esta ocasión hablaré sobre otra posibilidad de trabajar con Node.js y Windows Azure.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Cloud9 es una IDE accesible a través del navegador&lt;/strong&gt; que nos permite desarrollar aplicaciones Node.js y entre otras cosas interesantes, permite desplegar las aplicaciones directamente en Windows Azure. Este IDE es gratuito para proyectos open source.&lt;/p&gt;  &lt;p&gt;Podéis ver este IDE en &lt;a title="http://c9.io/" href="http://c9.io/"&gt;http://c9.io/&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_AzureCloud9_5F00_7F3D23F4.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="01-AzureCloud9" border="0" alt="01-AzureCloud9" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_AzureCloud9_5F00_thumb_5F00_79BE8D83.png" width="852" height="494" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Podemos crear un nuevo proyecto.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/02_2D00_AzureCloud9_5F00_6046647C.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="02-AzureCloud9" border="0" alt="02-AzureCloud9" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/02_2D00_AzureCloud9_5F00_thumb_5F00_13064524.png" width="1065" height="511" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Indicamos dónde queremos albergar nuestro código fuente:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/03_2D00_AzureCloud9_5F00_1D0AC082.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="03-AzureCloud9" border="0" alt="03-AzureCloud9" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/03_2D00_AzureCloud9_5F00_thumb_5F00_05FC3F46.png" width="663" height="473" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Y una vez creado, ya podemos crear nuestra aplicación. En este caso sólo he creado una única página server.js que mostrará un “Hola Mundo”.&lt;/p&gt;  &lt;p&gt;El IDE permite también depuración.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/04_2D00_AzureCloud9_5F00_121DB96D.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="04-AzureCloud9" border="0" alt="04-AzureCloud9" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/04_2D00_AzureCloud9_5F00_thumb_5F00_08E17E2C.png" width="757" height="385" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una vez hayamos creado la aplicación, desde el menu “Deploy” podemos indicar la opciones de configuración del despliegue. En este caso, yo he indicado que quiero desplegarlo en Windows Azure.&lt;/p&gt;  &lt;p&gt;El paso 1 me permite descargarme la configuración de mi subscripción Azure. Abrirá el navegador y me descargará un fichero de settings que posteriormente podré subir al IDE. Claro está, me pedirá las credenciales de acceso (LiveID) a la subscripción donde se quiere hacer el despliegue.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/05_2D00_AzureCloud9_5F00_42841816.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="05-AzureCloud9" border="0" alt="05-AzureCloud9" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/05_2D00_AzureCloud9_5F00_thumb_5F00_2124727A.png" width="377" height="431" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una vez tengo la configuración, puedo ver los servicios de la subscripción, crear nuevos etc…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/06_2D00_AzureCloud9_5F00_18C09D23.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="06-AzureCloud9" border="0" alt="06-AzureCloud9" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/06_2D00_AzureCloud9_5F00_thumb_5F00_626F7513.png" width="370" height="421" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Y tras elegir el servicio dónde quiero desplegar, ya tendré todo lo necesario para desplegar. Fácil, verdad?&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/07_2D00_AzureCloud9_5F00_560151EA.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="07-AzureCloud9" border="0" alt="07-AzureCloud9" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/07_2D00_AzureCloud9_5F00_thumb_5F00_5A975CA4.png" width="633" height="356" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/08_2D00_AzureCloud9_5F00_0352C1EE.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="08-AzureCloud9" border="0" alt="08-AzureCloud9" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/08_2D00_AzureCloud9_5F00_thumb_5F00_50168884.png" width="539" height="177" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/09_2D00_AzureCloud9_5F00_07E8CCA8.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="09-AzureCloud9" border="0" alt="09-AzureCloud9" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/09_2D00_AzureCloud9_5F00_thumb_5F00_2DDE7CFE.png" width="865" height="118" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204018" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /><category term="Node.js" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Node.js/default.aspx" /></entry><entry><title>Node.js en Windows Azure</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/04/01/node-js-en-windows-azure.aspx" /><id>/blogs/ilanda/archive/2012/04/01/node-js-en-windows-azure.aspx</id><published>2012-04-01T21:29:00Z</published><updated>2012-04-01T21:29:00Z</updated><content type="html">&lt;p&gt;Siguiendo con la línea de los últimos post sobre cómo desplegar una &lt;a href="http://www.estoyenlanube.com/aplicaciones-php-en-windows-azure/" target="_blank"&gt;aplicación PHP&lt;/a&gt; y un &lt;a href="http://www.estoyenlanube.com/wordpress-y-windows-azure/" target="_blank"&gt;WordPress&lt;/a&gt;, en esta ocasión hablaré sobre cómo dar los primeros pasos con Node.js.&lt;/p&gt;  &lt;p&gt;Después de instalar el SDK de Windows Azure, para poder trabajar con aplicaciones Node.js es necesario tener &lt;a href="https://www.windowsazure.com/en-us/develop/downloads/" target="_blank"&gt;instalado el SDK de Node.js&lt;/a&gt;, el cuál está disponible como proyecto open source en GitHub &lt;a title="https://github.com/WindowsAzure/azure-sdk-for-node" href="https://github.com/WindowsAzure/azure-sdk-for-node"&gt;https://github.com/WindowsAzure/azure-sdk-for-node&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Lo más cómodo sin duda es descargárselo a través de &lt;a href="http://www.microsoft.com/web/gallery/install.aspx?appid=azurenodepowershell&amp;amp;clcid=0x409" target="_blank"&gt;Microsoft Web Platform Installer&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Una vez que lo tenemos instalado, éste nos ofrece una serie de comandos PowerShell que simplifican el trabajo con Node.js y Windows Azure. &lt;/p&gt;  &lt;p&gt;Como veréis a continuación, el trabajo es muy similar al que ya veíamos en el post de PHP, ya que el SDK está orientado a ser capaces de generar la estructura de ficheros y directorios dónde incrustar nuestra aplicación, para posteriormente poder empaquetarla en el formato que necesita la plataforma Windows Azure.&lt;/p&gt;  &lt;p&gt;El primer paso es abrir la aplicación “&lt;strong&gt;Windows Azure PowerShell for Node.js&lt;/strong&gt;” desde el menú inicio, programas. Una vez abierto, tendremos que conocer una serie de comandos:&lt;/p&gt;  &lt;p&gt;Creamos un directorio sobre el cuál crear nuestra estructura de ficheros con &lt;strong&gt;mkdir c:\temp\Node&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Una vez que lo tenemos creamos la estructura de ficheros y directorios necesario para poder incluir dentro la aplicación Node.js. Esta estructura de directorios está ya preparada para que luego sea posible empaquetarla en el formato que necesita la aplicación. Así mismo incluye los ficheros de configuración que permite configurar cómo se despliega la aplicación; número de máquinas, endpoints, conexión RDP etc…&lt;/p&gt;  &lt;p&gt;Para crear esta estructura se usa el comando &lt;strong&gt;New-AzureService tasklist .&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Una vez creada la estructura, le podemos decir que queremos añadir un WebRole, una aplicación web que queremos desplegar;&amp;#160; &lt;strong&gt;Add-AzureNodeWebRole WebRole1&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Esta operación creará un directorio WebRole1 que contiene un “Hola Mundo” en Node.js. Es en este directorio dónde podríamos añadir nuestra aplicación, la que queremos desplegar en Windows Azure. &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;cd WebRole1&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;ls&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;notepad server.js&lt;/strong&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Una vez que tenemos nuestra aplicación preparada, podemos probarla en el entorno de simulación locla que nos proporciona el SDK de Windows Azure. &lt;/p&gt;  &lt;p&gt;Para lanzar el entorno de simulación tenemos el siguiente comando; &lt;strong&gt;Start-AzureEmulator –launch&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;En este caso, los comandos PowerShell para Node.js también nos ofrece la posibilidad de desplegar directamente la aplicación, siempre y cuándo tengamos configurados los certificados que permiten la administración remota a través del API REST, tal y como sucen cuando queremos desplegar desde Visual Studio.&lt;/p&gt;  &lt;p&gt;El primer paso es obtener la configuración de la cuenta sobre la que queremos desplegar la aplicación e importar esta configuración.&lt;/p&gt;  &lt;p&gt;El comando &lt;strong&gt;Get-AzurePublishSettings&lt;/strong&gt; abrirá el navegador, y tras autenticarnos con el LiveID de la subscripción Azure, nos permitirá descargar la configuración de la subscripción, la cuál podremos importarla con el comando &lt;strong&gt;Import-AzurePublishSettings.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Una vez importada la configuración podemos desplegar directamente la aplicación. Esta operación crea el servicio en el datacenter indicado y despliega la aplicación.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Publish-AzureService –name NombreServicio –location &amp;quot;North Central US” –launch&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_AzureNode_5F00_7B675B88.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="01-AzureNode" border="0" alt="01-AzureNode" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_AzureNode_5F00_thumb_5F00_28101562.png" width="963" height="297" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una vez se despliegue la aplicación ya podemos acceder a ella a través de la URL que nos proporciona el servicio que hemos creado.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/02_2D00_AzureNode_5F00_5FE25985.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="02-AzureNode" border="0" alt="02-AzureNode" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/02_2D00_AzureNode_5F00_thumb_5F00_5E9DC0A6.png" width="1205" height="149" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Desde powershell también podemos hacer otras operaciones, como parar, arrancar o eliminar el servicio desplegado;&amp;#160; &lt;strong&gt;Stop-AzureService y Remove-AzureService.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Os recomiendo por último este post de David Salgado dónde pone un &lt;a href="http://geeks.ms/blogs/dsalgado/archive/2012/03/23/taller-de-nodejs-express-y-azure-en-el-codemotion.aspx" target="_blank"&gt;ejemplo de Node.js, Express y Windows Azure&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204017" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /><category term="Node.js" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Node.js/default.aspx" /></entry><entry><title>Gestión de operaciones en Cloud</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/03/29/gesti-243-n-de-operaciones-en-cloud.aspx" /><id>/blogs/ilanda/archive/2012/03/29/gesti-243-n-de-operaciones-en-cloud.aspx</id><published>2012-03-29T15:29:00Z</published><updated>2012-03-29T15:29:00Z</updated><content type="html">&lt;p&gt;Os dejo la grabación de la sesión que hice en el Cloud Day sobre gestión de operaciones en Cloud. Le falta unos minutitos al principio, pero creo que puede estar bien.&lt;/p&gt; &lt;object id="flowplayer" width="720" height="404" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt; &lt;param name="allowfullscreen" value="true" /&gt; &lt;param name="allowscriptaccess" value="always" /&gt; &lt;param name="quality" value="high" /&gt; &lt;param name="cachebusting" value="true" /&gt; &lt;param name="flashvars" value="config={&amp;quot;key&amp;quot;:&amp;quot;#$cc8f7551c7e6a3f7d92&amp;quot;, &amp;quot;canvas&amp;quot;:{&amp;quot;backgroundColor&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;backgroundGradient&amp;quot;: &amp;quot;none&amp;quot;,&amp;quot;backgroundImage&amp;quot;:&amp;quot;url(http://www.globbtv.com/img/watermark.jpg)&amp;quot;}, &amp;quot;clip&amp;quot;:{&amp;quot;autoPlay&amp;quot;:false,&amp;quot;url&amp;quot;:&amp;quot;http://cdn.globbtv.com/003BDA/VODMS01/MS_DestinoNube_6_Sala3_Testing.mp4&amp;quot;}}" /&gt; &lt;param name="src" value="http://www.globbtv.com/flv/flowplayer.commercial-3.2.3.swf" /&gt; &lt;embed id="flowplayer" width="720" height="404" type="application/x-shockwave-flash" src="http://www.globbtv.com/flv/flowplayer.commercial-3.2.3.swf" allowscriptaccess="always" quality="high" flashvars="config={&amp;quot;key&amp;quot;:&amp;quot;#$cc8f7551c7e6a3f7d92&amp;quot;, &amp;quot;canvas&amp;quot;:{&amp;quot;backgroundColor&amp;quot;:&amp;quot;#000000&amp;quot;,&amp;quot;backgroundGradient&amp;quot;: &amp;quot;none&amp;quot;,&amp;quot;backgroundImage&amp;quot;:&amp;quot;url(http://www.globbtv.com/img/watermark.jpg)&amp;quot;}, &amp;quot;clip&amp;quot;:{&amp;quot;autoPlay&amp;quot;:false,&amp;quot;url&amp;quot;:&amp;quot;http://cdn.globbtv.com/003BDA/VODMS01/MS_DestinoNube_6_Sala3_Testing.mp4&amp;quot;}}" /&gt;&lt;/object&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204016" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /></entry><entry><title>Viernes en la nube: Monitorización y diagnostico en Windows Azure</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/03/28/viernes-en-la-nube-monitorizaci-243-n-y-diagnostico-en-windows-azure.aspx" /><id>/blogs/ilanda/archive/2012/03/28/viernes-en-la-nube-monitorizaci-243-n-y-diagnostico-en-windows-azure.aspx</id><published>2012-03-28T21:18:01Z</published><updated>2012-03-28T21:18:01Z</updated><content type="html">&lt;p&gt;Desde el &lt;a href="http://www.ciin.es/" target="_blank"&gt;CIIN&lt;/a&gt; y &lt;a href="http://www.plainconcepts.com" target="_blank"&gt;Plain Concepts&lt;/a&gt; queremos iniciar una serie de webcasts que traten sobre diferentes aspectos de desarrollo en Windows Azure; Los viernes en la nube.&lt;/p&gt;  &lt;p&gt;Para dar a conocer mejor esta plataforma, hemos decidido iniciar esta serie tratando algunos temas no demasiado conocidos de desarrollo en Windows Azure.&lt;/p&gt;  &lt;p&gt;El primer webcast de la serie tratará sobre las funcionalidades de monitorización y diagnóstico que nos proporciona la plataforma para saber lo que esta ocurriendo con las aplicaciones que hemos subido a la nube.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Monitorización y diagnostico en Windows Azure&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Datos de interés:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;p&gt;Audiencia: Jefes de proyecto y profesionales de desarrollo en Windows Azure&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Requisitos previos: Conocimientos básicos sobre la plataforma Windows Azure&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Fecha: Viernes, 13 de abril a las 10:00&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Duración: 90 minutos&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Ponentes: &lt;strong&gt;Ibon Landa&lt;/strong&gt; - MVP de Windows Azure, profesional que forma parte del equipo de Plain Concepts, y &lt;strong&gt;Angel Acha&lt;/strong&gt;, responsable de desarrollo en el Centro de Innovación en Integración (CIIN) de Cantabria, uno de los Microsoft Innovation Centers de España.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Enlace de inscripción al webcast: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032510012&amp;amp;Culture=es-ES"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032510012&amp;amp;Culture=es-ES&lt;/a&gt;&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/PiePlainConceptsYCIIN_5F00_58E84A3B.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="PiePlainConceptsYCIIN" border="0" alt="PiePlainConceptsYCIIN" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/PiePlainConceptsYCIIN_5F00_thumb_5F00_3DCF7B2D.png" width="640" height="84" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.estoyenlanube.com/"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="estoyenlanubeBannerLong" border="0" alt="estoyenlanubeBannerLong" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/estoyenlanubeBannerLong_5F00_7BE895DE.png" width="960" height="66" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204079" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Evento" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Evento/default.aspx" /><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /></entry><entry><title>Descubriendo el mundo de las cachés</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/03/28/descubriendo-el-mundo-de-las-cach-233-s.aspx" /><id>/blogs/ilanda/archive/2012/03/28/descubriendo-el-mundo-de-las-cach-233-s.aspx</id><published>2012-03-28T21:00:43Z</published><updated>2012-03-28T21:00:43Z</updated><content type="html">&lt;p&gt;El próximo &lt;strong&gt;martes 10 de Abril&lt;/strong&gt; tendré la suerte de participar con la gente de &lt;a href="http://www.secondnug.com/" target="_blank"&gt;Second Nug&lt;/a&gt; en un webcast dónde intentaremos adentrarnos en el mundo de las cachés.&lt;/p&gt;  &lt;p&gt;Las cachés son uno de los múltiples recursos con los que con cuentan los desarrolladores para poder mejorar el rendimiento de las aplicaciones. Conocerlas, saber cuándo utilizarlas y elegir la más adecuada para cada situación es un factor clave en todo desarrollo de software.&lt;/p&gt;  &lt;p&gt;El objetivo de este sesión será realizar una visión lo más práctica posible a las diferentes tipos de &lt;strong&gt;caché&lt;/strong&gt; con los que se pueden contar, entrando en detalles de diseño para indicar los casos en que su uso podría ser beneficioso.&lt;/p&gt;  &lt;p&gt;Registro; &lt;a title="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032507055&amp;amp;Culture=es-AR" href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032507055&amp;amp;Culture=es-AR"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032507055&amp;amp;Culture=es-AR&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/10042012banner_5F00_caches_5F00_18C49C7E.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="10042012banner_caches" border="0" alt="10042012banner_caches" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/10042012banner_5F00_caches_5F00_thumb_5F00_605675A5.jpg" width="450" height="333" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204078" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Evento" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Evento/default.aspx" /><category term="Caching" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Caching/default.aspx" /></entry><entry><title>WordPress y Windows Azure</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/03/28/wordpress-y-windows-azure.aspx" /><id>/blogs/ilanda/archive/2012/03/28/wordpress-y-windows-azure.aspx</id><published>2012-03-28T13:27:00Z</published><updated>2012-03-28T13:27:00Z</updated><content type="html">&lt;p&gt;En el &lt;a href="http://www.estoyenlanube.com/aplicaciones-php-en-windows-azure/"&gt;post anterior&lt;/a&gt; hablaba de cómo es posible desplegar una aplicación PHP en Windows Azure. En este caso os comentaré cómo es posible desplegar una aplicación WordPress en la plataforma, que como veréis, es prácticamente igual al ejemplo que veíamos anteriormente.&lt;/p&gt;  &lt;p&gt;El proceso es el mismo que en caso anterior, una línea de comandos para crear la estructura dónde incluir nuestro wordpress y otra línea de comandos para crear en el empaquetado en el formato que se necesita Windows Azure.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&amp;gt; scaffolder run &lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;-s=&amp;quot;Path\scaffolders\WordPress.phar&amp;quot; &lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;-out=&amp;quot;C:\temp\WordPress&amp;quot; &lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;-DB_HOST ‘db_host’ -DB_NAME ‘name’ &lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;-DB_USER &lt;a href="mailto:&amp;lsquo;user@db_host&amp;rsquo;"&gt;‘user@db_host’&lt;/a&gt; -DB_PASSWORD ‘password’&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;-sync_key ‘storage’ -sync_account ‘key’&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;-WP_ALLOW_MULTISITE&lt;/strong&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Este comando dispone de más parámetros que los que usábamos en el ejemplo anterior. &lt;/p&gt;  &lt;p&gt;El primer parámetro contiene la plantilla que tiene que utilizarse para generar la estructura de ficheros y directorios para WordPress. En GitHub podéis encontrar plantillas para WordPress y Drupal; &lt;a title="https://github.com/Interop-Bridges/Windows-Azure-PHP-Scaffolders/downloads" href="https://github.com/Interop-Bridges/Windows-Azure-PHP-Scaffolders/downloads"&gt;https://github.com/Interop-Bridges/Windows-Azure-PHP-Scaffolders/downloads&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Además de este parámetro, también se indica los datos de conexión a la base de datos que contendrá la estructura de tablas de WordPress; nombre del servidor, nombre de la base de datos, usuario y contraseña. La base de datos debe estar existir, aunque no tenga tablas.&lt;/p&gt;  &lt;p&gt;También se indica el nombre del storage y la key de acceso dónde WordPress guardará todo el contenido media que se suba al portal; imágenes, documentos etc…&lt;/p&gt;  &lt;p&gt;Y por último, un parámetro para indicar que se quiere un WordPress que permita MULTISITE.&lt;/p&gt;  &lt;p&gt;Este comando se descarga la última versión de WordPress y lo configura para que éste pueda trabajar con SQL Azure (&lt;strong&gt;Database Abstraction Layer&lt;/strong&gt;) y pueda guardar los contenido media en Windows Azure Storage &lt;strong&gt;(Azure Storage Plugin&lt;/strong&gt;).&lt;/p&gt;  &lt;p&gt;A parte de añadir estos dos plugins, otra peculiaridad que tiene el WordPress descargado es que está modificado el fichero &lt;strong&gt;wp-config.php&lt;/strong&gt; para que éste pueda leer la configuración desde el fichero de configuración de Windows Azure cuándo la aplicación está desplegada en la plataforma. Esto posibilita cambiar los parámetros de configuración de la aplicación cuando está ya desplegada.&lt;/p&gt;  &lt;p&gt;Una vez termine este comando ya tenemos todo lo necesario para poder desplegar un WordPress en Windows Azure. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&amp;gt; package create &lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;-in=&amp;quot;C:\temp\WordPress&amp;quot; &lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;-out=&amp;quot;C:\temp\WordPress\build&amp;quot; -dev=false&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Una vez generamos los empaquetados, podríamos conectarnos al portal, crear un servicio hosteado y desplegar la aplicación, tal y como veíamos en el post anterior. Una vez desplegado, tendremos que seguir configurando WordPress, tal y como haríamos en una instalación on-premise, esto ya no es algo propio de Windows Azure.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_WordPressAzure_5F00_043051DC.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="01-WordPressAzure" border="0" alt="01-WordPressAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_WordPressAzure_5F00_thumb_5F00_0C647773.png" width="714" height="768" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una vez que entramos en el portal, también podríamos configurar WordPress para que pueda ser multisite.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/02_2D00_WordPressAzure_5F00_298A1F7D.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="02-WordPressAzure" border="0" alt="02-WordPressAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/02_2D00_WordPressAzure_5F00_thumb_5F00_7C94BCA1.png" width="640" height="313" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;La peculiaridad que hay que tener en cuenta, es que cuando configuramos la red para multisite se nos piden que hagamos unos cambiaos en el fichero wp-config.php. Estos cambios no los tenemos que hacer en este fichero, sino a través de la opción “Configure” que tenemos en el portal de administración.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/03_2D00_WordPressAzure_5F00_2145D419.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="03-WordPressAzure" border="0" alt="03-WordPressAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/03_2D00_WordPressAzure_5F00_thumb_5F00_2182574E.png" width="640" height="328" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/03.1_2D00_WordPressAzure_5F00_5F2F3F0A.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="03.1-WordPressAzure" border="0" alt="03.1-WordPressAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/03.1_2D00_WordPressAzure_5F00_thumb_5F00_33124219.png" width="394" height="89" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/04_2D00_WordPressAzure_5F00_44166FFC.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="04-WordPressAzure" border="0" alt="04-WordPressAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/04_2D00_WordPressAzure_5F00_thumb_5F00_70BF29D5.png" width="549" height="429" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Y ya por último, tendremos que activar y configurar el plugin que permite trabajar a WordPress con el Windows Azure Storage. Este servicio proporciona almacenamiento persistente del contenido de WordPress.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/06_2D00_WordPressAzure_5F00_5A890E83.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="06-WordPressAzure" border="0" alt="06-WordPressAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/06_2D00_WordPressAzure_5F00_thumb_5F00_6716BB9F.png" width="508" height="500" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/07_2D00_WordPressAzure_5F00_77AEB68D.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="07-WordPressAzure" border="0" alt="07-WordPressAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/07_2D00_WordPressAzure_5F00_thumb_5F00_5AE51BAB.png" width="646" height="772" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Y ya está, ya tenemos WordPress en Azure!!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/05_2D00_WordPressAzure_5F00_4D9E9298.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="05-WordPressAzure" border="0" alt="05-WordPressAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/05_2D00_WordPressAzure_5F00_thumb_5F00_122AE140.png" width="632" height="480" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Y recordad por último, si queréis añadir un plugin, un tema o cualquier cosa que no se guarde en la base de datos o el Storage, implicará un redespliegue de la aplicación, ya que las máquinas de Windows Azure son máquinas sin estado.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204015" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /><category term="PHP" scheme="http://geeks.ms/blogs/ilanda/archive/tags/PHP/default.aspx" /><category term="WordPress" scheme="http://geeks.ms/blogs/ilanda/archive/tags/WordPress/default.aspx" /></entry><entry><title>Aplicaciones PHP en Windows Azure</title><link rel="alternate" type="text/html" href="/blogs/ilanda/archive/2012/03/26/aplicaciones-php-en-windows-azure.aspx" /><id>/blogs/ilanda/archive/2012/03/26/aplicaciones-php-en-windows-azure.aspx</id><published>2012-03-26T13:26:00Z</published><updated>2012-03-26T13:26:00Z</updated><content type="html">&lt;p&gt;A lo largo de este post intentaré paso a paso cómo es posible desplegar una &lt;strong&gt;aplicación PHP en Windows Azure&lt;/strong&gt;, una versión muy simple, pero que puede servir para que los programadores de PHP puedan conocer cómo podrían empezar a trabajar con la plataforma. &lt;/p&gt;  &lt;p&gt;Más adelante intentaré explicará cosas más avanzadas de cómo es posible usar los servicios de Azure desde PHP, pero ahora me centraré en los aspectos más básicos.&lt;/p&gt;  &lt;p&gt;Lo primero es preparar el entorno de trabajo local con todo lo necesario para poder trabajar, en mi caso sobre entorno Windows también.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Instalar IIS 7 y configurar FastCGI &lt;/li&gt;    &lt;li&gt;Instalar el SDK de Windows Azure. &lt;/li&gt;    &lt;li&gt;Instalar SQL Server Express ( o superior) &lt;/li&gt;    &lt;li&gt;Instalar PHP, en mi caso tengo la versión 5.3.1 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Una vez instalados estos componentes, el último paso es descargarse el &lt;strong&gt;SDK de PHP para Windows Azure&lt;/strong&gt;, el cuál se encuentra disponible en codeplex; &lt;a title="http://phpazure.codeplex.com/" href="http://phpazure.codeplex.com/"&gt;http://phpazure.codeplex.com/&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Una vez descargado el SDK, básicamente es descomprimir el fichero comprimido que te descargas, dejarlo en un directorio y modificar la variable de entorno %PATH% para que apunte al directorio bin del SDK de PHP.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_PHPAzure_5F00_3D83DC42.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="01-PHPAzure" border="0" alt="01-PHPAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01_2D00_PHPAzure_5F00_thumb_5F00_6E36E3ED.png" width="789" height="293" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Este SDK open source permite simplificar la creación y despliegue de aplicaciones PHP en Windows Azure, a&amp;#160; la vez que ofrece una serie de librerías que permiten simplicar el trabajo con los diferentes servicios que ofrece Windows Azure, como pueden ser las colas, tablas o blobs del Windows Azure Storage.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/00_2D00_PHPAzure_5F00_4CD73E51.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="00-PHPAzure" border="0" alt="00-PHPAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/00_2D00_PHPAzure_5F00_thumb_5F00_40691B28.png" width="591" height="257" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una vez tenemos el entorno preparado ya podemos crear y desplegar nuestra primera aplicación PHP.&lt;/p&gt;  &lt;p&gt;&lt;font color="#000000"&gt;Para poder desplegar una aplicación en Windows Azure, independientemente del lenguaje con el que se trabaje, la plataforma necesita que se le proporcionen siempre dos ficheros cuando se despliega un servicio: &lt;strong&gt;el archivo de definición del servicio y el archivo de configuración del servicio.&lt;/strong&gt; El primero de ellos básicamente contiene los ficheros que conforman parte de la aplicación que queremos desplegar, mientras el segundo contiene toda la información necesaria para indicarle a la plataforma cómo tiene que realizar dicho despligue; número de máquinas, tamaño etc..&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Los diferentes SDKs disponibles lo que hacen es ayudarte a empaquetar las aplicaciones (PHP, Java, C#…) en estos dos tipos de ficheros.&lt;/p&gt;  &lt;p&gt;Volviendo ya a nuestra primera aplicación SDK, el primer paso es lanzar esta línea de comandos desde un cmd, la cuál creará la estructura básica que necesita Windows Azure.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;&amp;gt; scaffolder run -out=&amp;quot;C:\temp\WindowsAzurePHPApp”&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Esta operación lo que hace es generar una estructura de ficheros y directorios a partir de la plantilla por defecto que tiene el SDK de PHP para poder incluir dentro nuestra aplicación PHP para posteriormente poder empaquetarla y desplegarla en la plataforma. Dentro del directorio del SDK podéis encontrar un directorio llamando scaffolders dónde se encuentran las plantillas a partir de cuál se ha generado esta estructura. Hay una que es la de por defecto, pero se pueden crear plantillas personalizadas o simplemente descargarse otras, por ejemplo para poder trabajar con &lt;strong&gt;WordPress o Drupal&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01.1_2D00_PHPAzure_5F00_060DA547.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="01.1-PHPAzure" border="0" alt="01.1-PHPAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01.1_2D00_PHPAzure_5F00_thumb_5F00_456B58D7.png" width="218" height="125" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Dentro del directorio PhpOnAzure.Web podemos crear una página llamada index.php y simplemente añadir un comando para mostrar la información de PHP.&lt;/p&gt;  &lt;p&gt;&amp;lt;?php    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; phpinfo();     &lt;br /&gt;?&amp;gt;&lt;/p&gt;  &lt;p&gt;Una vez hecho esto, ya podemos probar la aplicación en el entorno local de emulación que se instala junto con el SDK de Windows Azure.&amp;#160; Con este comando se arrancará el sistema de emulación local y podemos probar nuestra aplicación como si ésta estuviera desplegada en la plataforma.&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;&lt;strong&gt;&amp;gt; package create -in=&amp;quot;C:\temp\WindowsAzurePHPApp&amp;quot; -out=&amp;quot;C:\temp\WindowsAzurePHPApp\build&amp;quot; &lt;font color="#ff0000"&gt;-dev=true&lt;/font&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;y si queremos desplegarla en un entorno real, sería lanzar la misma línea de comandos pero con “-dev=false”.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;&amp;gt; package create -in=&amp;quot;C:\temp\WindowsAzurePHPApp&amp;quot; -out=&amp;quot;C:\temp\WindowsAzurePHPApp\build&amp;quot; &lt;font color="#ff0000"&gt;-dev=false&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Esta operación lo que hace es crear los dos ficheros que comentábamos anteriormente; &lt;strong&gt;el archivo de definición del servicio y el archivo de configuración del servicio.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01.2_2D00_PHPAzure_5F00_6FD789F4.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="01.2-PHPAzure" border="0" alt="01.2-PHPAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/01.2_2D00_PHPAzure_5F00_thumb_5F00_6773B49D.png" width="300" height="92" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Con esto ya tenemos todo lo necesario para poder hacer el despliegue real. l&lt;/p&gt;  &lt;p&gt;El primer paso será disponer de una subscripción Windows Azure (existen versiones trial de 90 días). Una vez disponemos de ella tenemos que entrar al portal de administración a través de &lt;a href="http://www.windowsazure.com"&gt;http://www.windowsazure.com&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/02_2D00_PHPAzure_5F00_4D9F7E6E.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="02-PHPAzure" border="0" alt="02-PHPAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/02_2D00_PHPAzure_5F00_thumb_5F00_453BA917.png" width="1033" height="183" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una vez nos hemos autenticado en el portal, el siguiente paso es crear un servicio hosteado sobre el cuál desplegaremos la aplicación.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/03_2D00_PHPAzure_5F00_79039F68.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="03-PHPAzure" border="0" alt="03-PHPAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/03_2D00_PHPAzure_5F00_thumb_5F00_710BFD06.png" width="273" height="122" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Le damos un nombre al servicio, indicamos la URL única y el datacenter sobre el que queremos desplegar la aplicación. Podemos desplegar en producción, en staging o simplemente crear el servicio para desplegar posteriormente.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="04-PHPAzure" border="0" alt="04-PHPAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/04_2D00_PHPAzure_5F00_thumb_5F00_1701AD5D.png" width="546" height="643" /&gt;&lt;/p&gt;  &lt;p&gt;Si sólo hemos creado el servicio, posteriormente se puede crear el despliegue. Como veis, un despliegue lo único que necesita son los dos ficheros de configuración que hemos generado con el SDK de PHP.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/05_2D00_PHPAzure_5F00_47B4B508.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="05-PHPAzure" border="0" alt="05-PHPAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/05_2D00_PHPAzure_5F00_thumb_5F00_7B7CAB59.png" width="544" height="391" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Y ya está, ya está desplegada la aplicación. Después de unos minutos la aplicación estará desplegada y disponible a través de la URL que hemos configurado en la configuración del servicio.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/07_2D00_PHPAzure_5F00_6C65CC7F.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="07-PHPAzure" border="0" alt="07-PHPAzure" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ilanda/07_2D00_PHPAzure_5F00_thumb_5F00_7ECE1D34.png" width="642" height="497" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204014" width="1" height="1"&gt;</content><author><name>ilanda</name><uri>http://geeks.ms/members/ilanda/default.aspx</uri></author><category term="Windows Azure" scheme="http://geeks.ms/blogs/ilanda/archive/tags/Windows+Azure/default.aspx" /><category term="PHP" scheme="http://geeks.ms/blogs/ilanda/archive/tags/PHP/default.aspx" /></entry></feed>
