Syntax Highlighter

Azure Bootcamp 2015

Azure Bootcamp 2015

sábado, 18 de abril de 2015

Global Azure Bootcamp: el evento que no debes perderte

MinionRace2015

Falta ya menos de una semana para el Global Azure Bootcamp 2015, el mayor evento global organizado por miembros de la comunidad: MVPs, Insiders, geeks y demás adictos al autoescalado y al Big Data. Se trata de la tercera edición de un evento que no hace más que crecer en cifras edición tras edición, con algunas que son para dejar la boca abierta, como los 27.000 servidores que se crearon en un solo día para participar en una investigación colaborativa para la detección temprana de la diabetes Tipo 2.

¿Cómo es el formato de este evento?

El evento se desarrollará durante el sábado 25 de Abril de 2015, en 190 localizaciones alrededor del globo. Desde hace algunos meses, el que tuviera ganas de participar en este evento global simplemente tenía que proponer su localización para montar una “sede” del evento, cumpliendo con algunos requerimientos mínimos para asegurar el éxito del evento: una sala acondicionada para la ocasión, agua, etc.

Como se puede observar en el mapa inferior, el evento al final tendrá una duración real de más de 24h al cubrir casi todos los usos horarios del planeta.

WorldWideLocations

Luego el formato dentro de cada localización podría adaptarse según la capacidad o intereses de los asistentes, yendo desde charlas técnicas a hands-on labs, pero sobretodo sintiendo que se forma parte de un evento global a través de un “Global Lab” en el que todos los asistentes de todas las ubicaciones participan a la vez, sacando a relucir lo que es capaz de ofrecer una plataforma de nube pública como Azure y obtener todo su jugo.

El Global Lab como eje central del evento

En el año 2013, en la primera edición del evento, este lab global consistía en el procesamiento y renderizado de imágenes a través de una super-granja de servidores: cada participante podía desplegar un Azure Cloud Service que descargaba los datos a procesar y una vez generada la imagen resultante la almacenaba en una ubicación temporal; otro proceso finalmente se encargaba de unir cada una de las imágenes para componer la película final.

El resultado en números fue espectacular: sobre 9.000 servidores desplegados en diversos centros de datos de Azure durante el mismo día, procesando alrededor de 725K imágenes, lo que casi viene a ser como generar una película de animación en tiempo real. 

2013GlobalLab

Si bien el resultado dejó bien claro la capacidad de la plataforma de Azure con esta prueba de concepto, en la edición de 2014 se quiso llegar algo más lejos y no desaprovechar la capacidad de procesamiento desplegada durante ese día, así que se optó por buscar algún campo de investigación real y que beneficiara finalmente a toda la humanidad.

Después de un proceso de selección entre varias investigaciones en curso alrededor del planeta, se llegó a la conclusión que una de las más interesantes era la investigación que estaba haciendo un Instituto de Investigación de California para la detección temprana de la diabetes Tipo 2. Los resultados de este trabajo no sólo ayudarían a entender el estado de la diabetes en humanos a nivel molecular sino que también redundarían en su detección en estados iniciales. Para más información sobre este lab, visita este enlace.

HF-and-Diabetes-Glycosylation-150.small_

El resultado de ese día: más de 27.000 servidores desplegados alrededor de 136 localizaciones a nivel global, procesando datos en un sólo día que equivalían a 3 años. Todo un avance del que todos pudimos salir orgullosos de haber puesto nuestro granito de arena en este esfuerzo titánico.

El Lab Global de 2015: dos por uno

Si bien esta participación en el lab global de ediciones anteriores, daba esa sensación de la globalidad e importancia del evento, en esta edición de 2015, se ha querido incrementar esa sensación de pertenencia al planeta Tierra escalando el número de labs globales a dos!

De este modo los asistentes al evento podrán participar, además de las otras actividades llevadas a cabo en cada sede (ver más abajo), en dos labs:

GlobalLab2015

  • Science Lab: de una forma muy similar al que se llevó a cabo en la edición anterior, se desarrollará una investigación global alrededor del cáncer de mama. Los asistentes al evento podrán desplegar máquinas virtuales en Azure para ayudar a analizar los datos necesarios para esta investigación, ayudando a conocer cómo la respuesta de la enfermedad es alterada basándose en las moléculas presentes en las células afectadas por el cáncer. Los resultados de este trabajo podrían llevar a nuevas terapias para atacar directamente diversas formas de cáncer con el mínimo de efectos colaterales. Puedes encontrar más detalles científicos sobre esta investigación en la web global del evento.
    HanselmanNote
  • Racing Game Lab: el segundo de estos labs, y para añadir algo de diversión una vez que hemos echado a andar nuestros “minions” en el Science Lab, es sobre la participación activa en un juego de carreras en el que podrás poner a prueba tanto tus habilidades al volante como las de programación, ya que no sólo podrás divertirte consiguiendo logros como la vuelta rápida para tu país o picándote a entrar en el podio global, sino que también aprenderás cómo está implementado este juego en Azure explotando en tiempo real los datos de tiempos y telemetría de cada uno de los participantes. De hecho, se anima a que a cada 4 horas, todos participemos a la vez en el denominado “Hammer Time!”, para estresar y poner a prueba la capacidad de Azure con 10.000 jugadores a la vez alrededor del globo.
    Game3D

IMPORTANTE: Recuerda que si quieres participar en estos labs tienes que tener habilitada tu propia suscripción de Azure. Tienes disponible una prueba gratuita de 30 días que tiene 150€ de crédito que es ideal para el día del evento. Aunque no es obligatorio, llevar pre-instalado Visual Studio facilitará las tareas la parte de desarrollo del hands-on lab del Racing Game. Siempre quedará el Notepad.exe para los más valientes.

Crear prueba gratuita de Azure  de 30 días

Lo que te vas a encontrar en Madrid

Debido al rotundo éxito de la edición anterior, este año hemos tenido la cosa complicada para componer la agenda de entre más de 50 sesiones propuestas.

Finalmente, contaremos con 2 tracks (uno orientado a Dev y otro a IT) con 7 sesiones cada uno, más el tercer track sobre los Global Lab. En la preparación del desarrollo han participado de un modo u otro más de 30 profesionales del sector. Creo que en ninguna otra parte del globo se juntarán más de 20 MVPs con los que podrás aprender los últimos detalles de la plataforma Azure: Machine Learning, App Service, y mucho más!

Global Azure Bootcamp Madrid 2014

Ah! Y regalos para todos los asistentes!!!

Por supuesto, todo esto no sería posible sin la inestimable ayuda de nuestros patrocinadores, a los que agradecemos todo su esfuerzo e implicación en que este tipo de eventos, que recordemos que está siendo organizado por la comunidad, salga adelante.

LocalSponsors

Así que ya sabes, si aún no te has registrado al evento, no puedes dejar pasar esta oportunidad. Va a ser algo grande, muy grande, y queremos que formes parte.

Registro Global Azure Bootcamp 2015 – Madrid

P.D. ¿No he hablado de minions aún? ¡Pues te vas a hartar! Sonrisa

domingo, 8 de marzo de 2015

El Web & Cloud Tour pasa por Tenerife

WebCloudTour1

¡Muy buenas! ¿Sabías que Microsoft está preparando para finales de este mes de marzo una gira por toda España visitando varias comunidades técnicas en un evento de día completo? Un evento donde tendrás la posibilidad de conocer de primera mano las últimas novedades en desarrollo Web y Cloud de Microsoft. Aprenderás a desarrollar sitios web modernos, interactivos y rápidos con ASP.NET y Webtools de Visual Studio 2013 para después desplegarlos e implementarlos con Microsoft Azure. Descubrirás las nuevas características y los servicios que incluye como Microsoft Azure Virtual Machines, Websites y Visual Studio 2013 para construir y mover una gran variedad de aplicaciones al Cloud.

¡Esta jornada es un buen lugar para empezar a construir tu proyecto!

¿Cuándo?

En Tenerife, el evento será el miércoles 25 de marzo, tanto por la mañana como por la tarde. ¡Ojo, si quieres asistir a mañana y tarde debes registrarte a ambos eventos!

¿Dónde?

En el caso de Tenerife, el evento se desarrollará en el Aula Magna de la Facultad de Física de la Universidad de La Laguna

WebCloudTour2

¿Qué es lo que voy a aprender?

Este evento se compone de uno de mañana, relacionado a todo sobre la nube, y otro de tarde donde nos centraremos en el desarrollo web.

Horario - Sesión Cloud

09:00 - 09:30 - Registro

09:30 - 10:30 - Introducción a Microsoft Azure

10:30 - 11:30 - Soluciones PaaS con servicios en el Cloud y Azure WebSites

11:30 - 12:00 - Descanso

12:00 - 13:00 - Datos, SQL Azure y Azure Storage

13:00 - 14:00 - Gestión masiva de datos en la era IoT

Horario - Sesión Web

15:00 - 16:00 - Introducción a ASP.NET y Visual Studio Web Tooling

16:00 - 17:00 - Construyendo aplicaciones web con ASP.NET MVC

17:00 - 17:30 - Descanso

17:30 - 18:30 - Creación de API REST con WebAPI

18:30 - 19:30 - Aplicaciones en tiempo real con SignalR

 

¡Qué levante la mano quien quiera ir!

DSC_0107

jueves, 15 de enero de 2015

Using the Azure Websites Migration Assistant to migrate a DNN website

Last October the Azure Websites team released a new tool to run the migration of local websites to Azure in a super-super-easy way: just following an assistant that analyzes and migrates your website to the cloud, including local database dependencies, all in a few clicks.

Using Apurva’s words:

Now you can easily migrate to Azure Websites from your existing websites that run on Internet Information Service (IIS) 6 or later. Azure Websites Migration Assistant can analyze your IIS server installation, identify which sites can be migrated to Azure Websites, highlight any elements that cannot be migrated or are unsupported on the platform, and then migrate your websites and associated databases to Azure with just a few clicks.

So what came immediately to my mind was if the assistant would work correctly when trying to migrate a DNN website to Azure and how would be the experience. Two months later, finally I got time to run a test, and has been amazing!!

Let’s summarize the steps to follow in the case you want to move your website as well. Check the Tips and Tricks section before running the assistant for lessons learned, so perhaps you can avoid to fall into some known errors. Note that this tool is also open source and the code is available at CodePlex, so fixes and improvements are welcome!

 

Moving your DNN site to the cloud in 3 steps

To start the process, you will need to browse https://www.movemetothecloud.net and follow the instructions. The migration process has 3 steps:

1. Install the Migration Assistant tool (available at https://www.movemetothecloud.net/)

2. Run the readiness assessment

3. Migrate your site(s) (hey! You can move more than one site at time!)

The website I used for this test was a DNN Platform 7.3.4 default installation. Before starting the assistant I double checked that the site was working fine (see tips and tricks section to save time on known issues).

clip_image002

So after downloading the assistant the first screen appears to ask for the onpremise IIS server hosting the website to migrate. Since mine was my own laptop, I used the default option:

clip_image004

So after clicking next, the assistant contacts the IIS server and looks for possible candidates to migrate. I selected only the website I wanted to migrate unchecking all the others. You need to do it one by one, no unselect all option, but remember that you can contribute to the project!

clip_image006

The next step shows a readiness report where the verification results are shown. My report was not showing anything scary so I simply continued with the following step by clicking on the Upload button.

clip_image008

And now started the cool part, because all the website provisioning, SQL Database server, database, etc. it’s automatically created during by the assistant just by clicking some buttons. This remembered me the DNN Azure Accelerator project that does the same but deploying on Azure by using the Cloud Services flavor.

clip_image010

So when clicking on the “Begin Migration” button, the Azure AAD/Micosoft Account login page was shown to introduce my Azure subscription credentials:

clip_image012

After signing in, I selected the subscription I wanted to use and the datacenter location. I’m not sure if there is a bug on the tool or the datacenter location is not fully populated with all the options, but I could only deploy on Central US, no other option appeared. As this was a migration test was OK for me, but I would need to revisit this in the future when migrating other websites so I can choose the desired datacenter location.

clip_image014

In the next step you can select the SQL Server settings, so can choose between an existent one or just create a new one what is the default option. I also left the database name setting as default as well, but I manually set the website name to avoid portal alias issues after deploying on Azure (check Tip #2 under the Tips and Tricks section at the end of the post).

clip_image016

By clicking on the Customize settings link, you can also choose the website mode, the worker size, the web hosting plan (server farm) as well as the database edition. You can just use the defaults, but by my experience I would recommend at least a S1 database edition for performance reasons.

clip_image018

After clicking on the Create Website button, the migration process started by provisioning the needed resources, all smooth:

clip_image020

So once created, we start with the publish process by clicking on the Begin Publish button in order to start the website content upload as well as the database migration. By the logs being shown in this process and without confirming seeing the code at CodePlex, I suspect that this process is executed on two parallel threads, one uploading the content via webdeploy and the second by exporting/importing a .bacpac. It’s interesting because I’m very familiar running this type of migrations using just the same technique (note for myself: satisfy my curiosity spending a while reviewing the code at CodePlex).

Depending on the size of your site and the available bandwidth, this can take a long time. It is just a good moment for taking that cup of coffee.

clip_image022

And just after the long wait, the site apparently finished without issues!

clip_image024

Browsing the Azure Website for the first time brought the website fully migrated to Azure. The assistant did the corresponding modifications in the web.config to target the new database (curiously, the change was done directly on the web.config file and not using the website connection string settings).

clip_image026

Who wants more?

 

Tips and tricks

Tip #1: check your local database for SQL Database incompatibilities

The wizard runs really smooth and it’s awesome to see it working just by specifying some settings, but be aware that the assistant has its limitations and probably does not analyze all what your website needs. The list of elements verified during the analysis are listed at http://azure.microsoft.com/en-us/documentation/articles/web-sites-migration-from-iis-server and while the checks done are awesome, seems that is not running any check on the database, so when I tried to migrate a website that I knew that had SQL Database incompatibility issues, the problem arose very late, just when all the website was migrated and the data was being inserted (this was after an hour of data transfer).

NOTE: SQL Database Update V12 (Preview) has been announced which provides nearly complete compatibility with the Microsoft SQL Server engine, so the mentioned below does not apply by the time you are reading this post.

clip_image028

After a few minutes more the process stopped and gave a full error report, but no helpful info on the error or how to solve it.

clip_image030

So before running the Azure Websites Migration assistant, if you are going to move a website that has a database dependency like DNN, I strongly recommend to you to verify that the database is SQL Database compatible. There are several ways to accomplish that objective, here some suggestions:

1) Use the SSMS database migration wizard targeting a SQL Database as destination. I believe a similar process is used under the covers (export/import a .bacpac), so the same errors appears without having to wait for the last step

2) Use the always free SQL Azure Migration wizard available at CodePlex (https://sqlazuremw.codeplex.com/)

3) Use RedGate’s SQL Compare, my favorite! Check here for a free trial (http://www.red-gate.com/products/sql-development/sql-compare/)

Tip #2: Adding a cloud portal alias before the migration

After migrating your DNN website to Azure you can get a 404 error if you have more than one portal in your local install or you have set the “Add Automatic Portal Alias” to false. I have wrote more info about the issue at https://serverfault.com/questions/655441/iis-website-works-on-only-one-port-in-localhost-settings/657915#657915

To avoid the issue, just add a portal alias BEFORE running the migration wizard, so it’s already configured when migrated to the cloud. If you are going to use a website name “MyDNNWebsite” on the wizard, just add the portal alias “MyDNNWebsite.azurewebsites.net”

 

Conclusions

Other problems can arise, but I have to say that for DNN projects the assistant works like a charm. Congratulations to the Azure Websites team for this jewel, I’m excited with the promised improvements coming in the future.

Hope this helps!

sábado, 27 de diciembre de 2014

Redis Caching Provider for DNN Platform

redis-300dpiTwo months ago I promised a gift for the friends at the DNNCon, a new open sourced DNN caching provider based on Redis. Today, I’m pleased to announce that I have implemented a first version of the provider and tested it on both on-premise and Azure environments.

This caching provider allows you to use a Redis cache server/cluster within DNN Platform, using a hybrid in-memory approach to increase cache performance (items are cached in the local memory and on Redis cache), and the publisher/subscriber feature to keep in sync all the in-memory caches from the webfarm. You must use Redis 2.8.17 or higher for an on-premises deployment. The caching provider is also Azure Redis cache compatible.

If you want to contribute to the caching provider, just go to https://github.com/davidjrh/dnn.rediscachingprovider and clone the repository.

 

Quick Start

  1. Provision a Redis cache to be used by your DNN instance. Perhaps one of the fastest ways to do it is to provision an Azure Redis cache by following the steps described at http://msdn.microsoft.com/en-us/library/dn690516.aspx, remember to provision the DNN instance on the same datacenter location to improve performance. You can also provision your Redis cache on your premises by following instructions provided at http://redis.io/download. The caching provider has been tested with the Win64 Redis port. Note that the DNN Redis Caching provider supports working with a shared Redis cache deployment, so you can reuse the same Redis cache deployment on several DNN websites.
  2. Download from the https://github.com/davidjrh/dnn.rediscachingprovider/tree/master/Release folder the latest version of the DNN Redis Caching provider
  3. Using the Extensions page of your DNN instance, upload and install the Redis caching provider. Once installed, will be the default caching provider.
  4. Open your web.config file and specify the RedisCachingProvider connection string in the ConnectionStrings section. If you are using Azure Redis cache, your connection string should look like this:

<connectionStrings>

<add name="RedisCachingProvider" connectionString="mycache.redis.cache.windows.net,password={base64password},ssl=True" providerName="DotNetNuke.Providers.RedisCachingProvider" />

</connectionStrings>

 

Advanced configuration

There are some attributes you can use to tweak or debug the caching provider. The initial set of configurable attributes are:

  • keyPrefix (default string.Empty): this attribute is used to add a prefix to each key stored on the Redis cache. This can be used to share the Redis cache between different DNN deployments. When no prefix is specified (default empty string), the current DNN Host Guid will be used so by default, the cached keys are partitioned by the Host identifier.
  • useCompression (boolean, default false): before inserting on the Redis cache, the value is compressed in order to save memory. The values are deflated when retrieved from the Redis cache. While using this parameter can save resources on the Redis server has a performance penalty because of the compression operations
  • silentMode (boolean, default true): when the silent mode is set to true and an exception occurs, is logged on the DNN instance log files under "/Portals/_default/Logs" and not raising an exception. Note that the in-memory cache is used before the Redis cache, so the site normally will continue working, but can end in out of sync caches. Keep an eye on the log files to verify that everything is working fine.

Hope this helps. Happy coding, and happy new year!!

martes, 9 de diciembre de 2014

La hora del código: ASP.net vNext

imageLlegó la hora de cerrar los eventos que tenemos programados desde TenerifeDev para este año, y hemos hecho unos cambios de última hora para el evento de este jueves aprovechando  el evento global “La Hora del Código”. Para los que no sepáis de que va, es “un movimiento mundial, llegando a decenas de millones de estudiantes en más de 180 países. Cualquier persona, en cualquier lugar puede organizar un evento Hora de Código. No se necesita experiencia y está destinado para edades entre 4 y 104 años”.

Por este motivo, hemos cambiado la sesión sobre SharePoint por una más general de mayor audiencia de Introducción a ASP.net vNext, en el mismo sitio y misma hora. Esta sesión iba a ser impartida por Tiberiu Covaci (MVP de ASP.net), pero por razones de última hora hemos cambiado su sesión para principios del año que viene. En esta ocasión, Santiago Porras (MVP Windows Platform) y David Rodriguez (MVP Azure) serán los encargados de conducir la sesión.

Ir a la página de registro gratuito

  • Evento: Introducción a ASP.net vNext
  • Descripción: Ven y conoce de primera mano cómo será la próxima versión de ASP.net, qué cosas cambian, dónde quedan los WebForms, cómo funcionan los controladores y qué le ha pasado al web.config. Santiago Porras, MVP de Windows Platform (@saintwukong) y David Rodriguez, MVP de Azure (@davidjrh) nos harán un recorrido por cada una de las novedades de la nueva plataforma para aplicaciones web y cloud. ASP.net vNext (aka ASP.NET 5), es completamente Open Source y está disponible en GitHub. ASP.NET 5 está actualmente en Preview.
  • Dónde: Salón de Grados de la ETSII
  • Cuándo: Jueves 11 de diciembre a las 18:00 GMT+0
  • Registro: registro gratuito en Eventbrite

Nos vemos el jueves!!

Related Posts Plugin for WordPress, Blogger...