MSDN Blogs
  • WarNov Developer Evangelist

    Gana una XBOX+KINECT programando en Azure con la ayuda de la comunidad Bogota.NET

    • 4 Comments
  • WarNov Developer Evangelist

    SetConfigurationSettingPublisher needs to be called before FromConfigurationSetting can be used

    • 2 Comments

    Este error de Windows Azure nos indica que el método FromConfigurationSetting no puede usarse para obtener el valor de una variable de configuración del servicio cloud, pues para poderse usar, es necesario haber establecido un publicador de ajustes de configuración.

    clip_image002

    Se soluciona sencillamente inicializando el publicador con éste código estándar:

    CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) =>
    {
        configSetter(RoleEnvironment.GetConfigurationSettingValue(configName));
    });

    Aquí vemos como Windows Azure es muy flexible pues no nos limita a extraer las variables de configuración de un único archivo (como en el Web.config en el caso de ASP.NET) sino de donde queramos a través de un delegado anónimo.

    Este código se puede poner por ejemplo en el inicializador del WebRole, para que quede disponible durante el resto del ciclo del vida del servicio.

    Pero en este momento algunos de ustedes deben estarle gritando a la pantalla: “Pero si yo ya hice eso!!!”

    No se preocupen… en este caso lo que sucede es que puede que ya estén usando el modo Full IIS propio de la versión 1.3 de las herramientas y SDK de Azure. Esto implica que a pesar de que ya escribieron el inicializador del Publisher, este no se ejecutó en el IIS (w3wp.exe). El inicializador del publicador de configuraciones (aquel que nos permite leer programáticamente las variables que ponemos en los archivos de configuración de los roles) no se inicializará en el sitio Web (que corre en el IIS) pues el código de inicialización que teníamos antes, solo funciona en el entorno de ejecución del WebRole (WaWebHost.exe) pero cuando usamos Full IIS lo que pasa es que el sitio web se ejecuta en el IIS (w3wp.exe) mientras el inicializador del WebRole lo hace en el WaIISHost.exe. Por ende cualquier llamado al archivo de configuraciones desde el sitio Web fallará pues el publicador no se inicializó allí.

    Entonces hay tres opciones de solución.

    1. Elimine la sección de Sites para indicar que todo correrá en HWC (Esto en el caso en que no requiera múltiples sitios en el mismo web role.

    2. Ejecute la inicialización del Publisher en el Application_Start del Global.asax

    3. No use el Publisher para obtener los valores de los setting, sino un código similar a:
    var storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("ConnectionString")); (Esta sería la opción menos clara y menos recomendada, a menos de que solo necesite llamar un par de variables).

  • WarNov Developer Evangelist

    Windows Azure Appliance

    • 1 Comments

    Si ha oído de Windows Azure y se ha preguntado si pudiera tener su propia réplica de Windows Azure en sus instalaciones, ésta es la respuesta a esa pregunta.
    Esa misma pregunta se la hizo ebay cuando pensaba desplegar una aplicación para vender Apple IPads. Así que se convirtió en el pionero en usar esta tecnología al incorporar el appliance en dos de sus datacenters para oprtimizar aún más su plataforma y obtener una agilidad y eficiencia mayor.


    Windows Azure Appliance le permitirá desplegar cientos o miles de servidores en su propio datacenter ofreciendo los servicios tradicionales de Windows Azure y SQL Azure.
    Esta plataforma está diseñada para proveedores de servicios, empresas grandes y el gobierno al proveer una plataforma de Cloud Computing que ofrece una eficiencia de datacenter sin precedentes a través de innovadoras técnicas de suministro de poder, refrigeración y automatización.


    De esta manera podrá desplegar aplicaciones de escalamiento horizontal, PaaS (ploataforma como servicio) o SaaS (software as a Service) en su propio datacenter aprovechando todos los beneficios de Windows Azure mientras mantiene el control físico  del hardwarfe y la soberanía de los datos necesaria bajo ciertas restricciones legales.

    image
     
    Beneficios:

    1. Eficiencia de centro de datos: Para ejecutar a bajo costo de operaciones a través de cientos de miles de servidores con una proporción pequeña de operadores de IT
    Escala masiva: Capacidad de escalar de cientos a decenas de miles de servidores.

    2. Elasticidad: Capacidad de escalar hacia arriba y abajo de uno a miles de instancias de la aplicación en función de la demanda.
    Integración: Con las herramientas existentes de centro de datos y operaciones

    3. Optimizado para tenencia múltiple (Multi-Tenant): diseñado para tenencia múltiple a través de unidades de negocios u organizaciones.

    4. Optimizado para la disponibilidad de servicio: diseñado para ofrecer alta disponibilidad de los servicios a través de las capacidades de la tolerancia y la recuperación automática de fallas.

    Disponibilidad
    La plataforma está actualmente en versión de producción limitada a un pequeño conjunto de clientes y socios (Dell, eBay, Fujitsu y HP). Vamos a desarrollar nuestro plan de trabajo en función de lo que aprendamos de ellos. No tenemos ningún detalle adicional para compartir en este momento.

  • WarNov Developer Evangelist

    Sql Server 2008 R2 Training Kit Versión de Enero Disponible

    • 0 Comments

     

    image

    Hoy me complace anunciar la disponibilidad de la actualización del kit de entrenamiento para desarrolladores en SQL Server 2008 R2 versión enero de 2011. Se trata de un gran recurso para los desarrolladores, instructores, y consultores que requieren comprender las mejoras clave introducidas en SQL Server 2008 y SQL Server 2008 R2 desde un punto de vista del desarrollador. Contiene un amplio conjunto de presentaciones, demostraciones, prácticas de laboratorio y videos que son perfectas para aprendizaje personalizado o para llevar a cabo su propia formación. La actualización de enero de 2011 incluye gran cantidad de gran contenido nuevo y varias mejoras de usabilidad.

    La manera más fácil para empezar a trabajar con el kit de capacitación es descargarlo, instalarlo, abrir el default.htm y examinar el kit para usar el contenido que más le interese. Muchas de las presentaciones y demostraciones en el kit de capacitación incluyen videos para familiarizarse con el contenido. Cuando esté listo para entrar manos a la obra, intente instalar una de las demostraciones o prácticas de laboratorio. Cada una de ellas incluye un asistente de configuración que simplifica la instalación.

    Novedades:

    image

    Esta actualización incluye un nuevo y completo conjunto de contenido diseñado para los desarrolladores que deseen aprender a crear su primera solución de Microsoft Business Intelligence con SQL Server 2008 R2. Estas soluciones de BI de Microsoft aprovechan sus inversiones en tecnología en .NET, SQL Server y Office para desarrollar experiencias enriquecidas e integradas de reportes y análisis que permiten a los usuarios tener acceso a información precisa y actualizada para una mejor y más relevante toma de decisiones. Este contenido es un curso de formación completa que contiene once unidades que cubren todos los aspectos claves del desarrollo de soluciones de BI de Microsoft.

    Este es un resumen de lo que incluye:

    • 31 presentaciones (diapositivas PowerPoint, videos y transcripciones incluidos)

    • 27 demos (secuencias de comandos de instalador, videos y transcripciones incluidos)

    • 12 laboratorios (instalador de scripts incluido)

    Si está buscando volverse un experto en las últimas adiciones tecnológicas de nuestra excelente plataforma de Bases de Datos, e seguro este Kit le será de gran ayuda y le permitirá despegar muy rápido con estas nuevas características!

  • WarNov Developer Evangelist

    De SQL Azure y sus logs de transacciones

    • 0 Comments

    En un MSDN Onsite que estuve atendiendo hoy surgieron varias preguntas acerca del log de transacciones que en general me hacen mucho:

    1. Los logs de transacciones afectan el costo de SQL Azure?
      R./ No. Lo único que afecta el costo de SQL Azure es el tamaño de la base de datos solicitado, así como el ancho de banda usado en su operación.
    2. Pueden los clientes acceder a los logs de SQL Azure?
      R./ No. No es posible para un ente externo a la nube acceder a estos logs.
    3. Hay alguna restricción con respecto al tamaño de los log y alguna operación automática para reducir sus tamaños?

      R./ La administración de logs es completamente automatizada. La base de datos corre siempre en modo de recuperación completa (“Full Recovery Mode”) y los logs son respaldados y truncados regularmente. La única restricción acerca de los logs, es que una transacción sencilla contra la base de datos no puede exceder 1GB de datos en el log.
  • WarNov Developer Evangelist

    MIX 11: El mejor evento para Diseñadores y Desarrolladores

    • 0 Comments

    image

    image

    imageimageimage

    image




    image

     

    Al que madruga, Microsoft le ahorra!

    Regístrate antes de Febrero 11 y ahorra USD$500 en el costo de la entrada a la conferencia y además obtén una noche de hotel gratis. Regístrate Ahora!

     

    Desconéctate de tu trabajo diario.

    Inspírate en el MIX.


    Únete al MIX – observa las últimas herramientas y tecnologías obteniendo inspiración de una comunidad profesional de colegas y expertos.
    Más acerca del MIX.

    ·         SE DE LOS PRIMEROS EN CONOCER EL FUTURO DE LA WEB!

    En el MIX aprendes del futuro de la web, desde la diversidad de dispositivos y modelos de interacción en el front-end pasando por las herramientas y tecnologías  que potencian la experiencia de usuario, hasta los servicios que hacen todo esto posible. No hay un mejor lugar para oír acerca del futuro de Silverlight, Internet Explorer, Windows Phone, ASP.NET, y tecnologías como HTML5 y CSS3.

    ·         RESPUESTAS REALES DE EXPERTOS!

            El MIX no es solo acerca de ser de los primeros en observar las últimas tecnologías y tendencias – es una oportunidad para que tengas respuestas a tus preguntas por expertos de la industria y de Microsoft.

    ·         ESTABLECE CONTACTOS CON LA INDUSTRIA MUNDIAL! 

           El MIX es una reunión de desarrolladores, diseñadores, expertos en UX y profesionales de negocios dedicados a cread los sitios más innovadores y lucrativos  en la web. Las oportunidades para establecer contactos son ilimitadas… como sea, será en Las Vegas!!!

    Boot Camps Previos al MIX11

    Arriva un día antes a Las Vegas, y sumérgete en un día lleno de contenido exclusivo presentado por los expertos más reconocidos de la industria. Sin importar que seas diseñador o desarrollador, hay un Boot Camp para ti. Aprende más de los Boot Camps.

     

    Lista completa de speakers en el Boot Camp.

         

    image

  • WarNov Developer Evangelist

    Windows Azure: Migrando desde V1.2 a la V1.3 de Noviembre

    • 0 Comments

    Fácilmente podría decir que esta actualización es la más drástica de todas las ocurridas a Windows Azure desde su lanzamiento. Si no la más drástica, es la que más novedades nos ha traído en una sola entrega.


    Coincidiendo con el PDC10 ocurrido en el campus de Microsoft Corporation en Octubre de este año, numerosos anuncios se hicieron públicos acerca de nuestra plataforma de cloud.


    La aparición de un nuevo rol: El VM Role que le da el sabor de IaaS a Windows Azure, los permisos elevados para los roles, el acceso full para IIS, el nuevo tamaño de máquina XSmall, la evoluación del AppFabric, la puesta en producción del Data Marketplace (antes Dallas) , el advenimiento de un Windows Azure Marketplace, mejoras para SQL Azure como Reporting Services, etc.


    Todo lo anterior sumado al proceso lógico de evolución del código, conllevó a algunos cambios también en las librerías del SDK. Y precisamente de esto estaremos hablando en este artículo.


    Si ud. había venido trabajando con la versión 1.2 de los tools de Windows Azure, lo único que tiene que hacer es desinstalarlos e instalar la versión 1.3. Tenga en cuenta que si instala la 1.3 sobre la 1.2 sin haberla desinstalado manualmente, la anterior no se desinstalará y el sistema no funcionará correctamente.

    Cuáles son las principales diferencias?

    En esencia las de más impacto son dos: 1. La inclusión de manejo de FULL IIS. 2. Cambios en el API de acceso al storage (StorageClient.dll).


    Así que ya instalamos y tenemos andando correctamente la versión 1.3 tanto del SDK como de los tools. En ese caso apenas tomamos una solución 1.2, aparece un asistente de migración de nuestro proyecto.


    Qué cosas hace? Básicamente cambia la versión de producto en el .csproj del proyecto cloud a 1.3.0.0 y agrega la sección de Sites al archivo de configuración de los web roles para indicar que se usará la característica de Full IIS. Esos son los cambios.
    Qué puede fallar?


    Primero puede que obtenga esta excepción: “Could not load file or assembly 'Microsoft.WindowsAzure.StorageClient, Version=1.0.0.0“ . Solución en este post.


    Lo otro que puede pasar, es que obtengamos la excepción: “SetConfigurationSettingPublisher needs to be called before FromConfigurationSetting can be used”; para ver detalles de este error y cómo solucionarlo vea este post.

  • WarNov Developer Evangelist

    Cómo tener varios sitios web en un único Web Role de Windows Azure? (Full IIS)

    • 0 Comments

    Los Web Role corren en una VM que tiene instalado un IIS. Sucede que hasta antes de noviembre para el público en general no era posible controlar todos los aspectos de ese IIS, dado que la arquitectura de Windows Azure usaba un componente llamado Hosted Web Core (HWC) que es apenas un subconjunto del todo el IIS. Quedando por fuera funcionalidades como el soporte a múltiples sitios o aplicaciones virtuales, y la activación de servicios WCF sobre transportes no HTTP a través de los WAS (Windows Activation Services).

    Con esta nueva versión tenemos entonces la novedad de Full IIS. Y para decirle a Windows Azure que queremos correr bajo Full IIS en vez de HWC, lo único que tenemos que hacer es agregar una sección de <Sites> en el archivo de definición ServiceDefinition.csdef. Hoy día (versión 1.3), la opción por defecto es correr en Full IIS, así que estos tags se agregan automáticamente con cada nuevo proyecto. Además, cuando migramos un proyecto de 1.2 a 1.3, los tags se agregan automáticamente, dejando la versión lista para correr en Full IIS, lo que puede significar que tengamos que hacer ciertos cambios en la inicialización de los configuradores como lo veremos más adelante. Un ejemplo de esta sección:

    Por defecto:

    <Sites>
          <Site name="Web">
            <Bindings>
              <Binding name="Endpoint1" endpointName="Endpoint1" />
            </Bindings>
          </Site>
        </Sites>

    Modificado para soportar múltiples sitios:

    <Sites>
      <Site name="Web">
        <VirtualApplication name="WebAppA" physicalDirectory="C:\Projects\WebAppA\" />
        <Bindings>
          <Binding name="HttpIn" endpointName="HttpIn" />
        </Bindings>
      </Site>
      <Site name="AnotherSite" physicalDirectory="C:\Projects\AnotherSite">
        <Bindings>
          <Binding hostHeader="anothersite.example.com" name="HttpIn" endpointName="HttpIn"/>
        </Bindings>
      </Site>
    </Sites>

    Como se aprecia, es supremamente sencillo trabajar con múltiples sitios en un solo web role. Sin embargo, implica un nuevo modelo de hosting combinado en el cual el código compilado en la dll del proyecto cloud no corre en un solo dominio de ejecución (algo extraño para el ojo común) sino que la parte cloud (específicamente el inicializador del WebRole donde está el RoleEntryPoint) se ejecuta en el WaIISHost.exe mientras que el sitio web corre en el tradicional w3wp.exe:

    clip_image002

    Esta implicación deriva en que los archivos de configuración del WebSite no se puedan leer desde el RoleEntryPoint y viceversa.

    Lo primero se soluciona creando un nuevo archivo de configuración llamado WaIISHost.exe.config que contenga las variables inaccesibles del Web.config.

    Y en este post, vemos la solución al segundo.

  • WarNov Developer Evangelist

    Could not load file or assembly 'Microsoft.WindowsAzure.StorageClient, Version=1.0.0.0

    • 0 Comments

    Si recientemente ha migrado a una nueva versión de Azure, este es un claro síntoma de error de migración desde la versión 1.2 de las herramientas y SDK de Windows Azure a la versión 1.3.

    Indica obviamente que la referencia a StorageClient.dll v1.0.0.0 no se encuentra y el proyecto no compile. Esto pasa porque la versión 1.3 viene con una versión más avanzada del API de acceso al storage. Así que solo basta con eliminarla y buscar la nueva que es la v1.1.0.0. Hágalo sin temor; no va a dejar de funcionar nada. Lo único que trae la nueva versión son mejoras y soluciones a bugs de antes. No se eliminaron funcionalidades ni cosas por el estilo.

    clip_image002

    Puede ver los cambios específicos entre ambas versiones en este post.

Page 1 of 1 (9 items)