Renombrado de Team Projects en Visual Studio Online

Al parecer si había una característica muy solicitada en Visual Studio Online era la de poder renombrar un Team Project una vez creado, me imagino que por ejemplo, tu cliente ha decidido cambiarle el nombre a todo el proyecto, o peor aun… que este decida cambiar su razon social y tu equipo tiene que alinearse acorde a ello, pues bien eso hasta ahora no era posible pues al momento de crear un Team Project se te indicaba que tu elección de nombre no se podia cambiar.

Lo bueno es que como ya se venia anunciando hace tiempo, desde este 24 de Abril ya es posible hacer dicho renombramiento, para lo cual podemos hacerlo desde la zona de administración de la Collection, como se nos indica en la pagina mencionada:

IC795516

O bien, desde la zona de administración del proyecto, para lo cual simplemente tenemos que editar el Nombre debajo de Project Profile y darle a grabar, en este caso he probado con un Team Project de una demo que realice hace dos años y que se llamaba Summit2013Beta al cual lo renombrare como Summit2013.

RenameTeamProjectNótese de la alerta que nos aparece, se nos indica que esta operación es disruptiva por lo que debería efectuarse fuera de horas de trabajo, lo cual tiene toda la lógica del mundo si es un TP que tiene un equipo que esta trabajando en él, adicionalmente se nos recuerda que:

  1. Las buils corriendo durante el renombrado pueden fallar
  2. Todos los usuarios deben reiniciar Visual Studio
  3. Los repositorios Git remotos deben ser actualizados con el nuevo nombre de Team Project
  4. Los Workspaces (si usamos TFVC) deben ser corregidos mediante un «Get latest versión»
  5. Si estamos usando workspaces locales (introducidos en VS 2012 ¡como pasa el tiempo!) se requiere usar VS 2013 Update 5 o VS 2015 (RC o mas reciente) a fin de que los workspace se actualicen en el siguiente «get», si no se puede hacer la actualización o aun se sigue usando VS 2012 no quedara mas remedio que archivar (shelve) los cambios, crear un nuevo workspace y luego desarchivar (unshelve) los cambios (una razon mas para actualizar ¿no?).

Pues nada una petición de los desarrolladores ya esta disponible, a obrar con cuidado si necesitamos hacer uso de ella, mas detalles aquí.

Gestión automática de entornos de despliegue con Azure (tercera parte ¡desplegando!)

Luego de que el camino de usar las Azure API Apps no fuera el mas adecuado para la prueba de concepto (lo cual no quita que sea una tecnología muy prometedora para desarrollar con REST) de nuestro entorno de despliegue, toca proceder a usar los ya conocidos Azure Websites para el ejemplo, en ese sentido repasemos lo que tenemos hasta el momento:

  • Un Team Project en Visual Studio Online, bajo modelo Git (por cierto ¿sabían que está en camino la posibilidad de renombrar los proyectos?)
  • Ya sabemos cómo subir nuestros cambios de nuestro repositorio local de Git a VSO
  • Ya sabemos cómo crear un entorno de despligue en Azure desde Visual Studio, lo hemos visto con API Apps, pero el proceso es básicamente similar para Azure Websites, y claro también hemos aprendido a desplegar desde Visual Studio.
  • Hemos entrado al Portal de Azure y revisado lo que hemos instalado desde Visual Studio.

Con estas bases regresemos a nuestro problema inicial, gestionar los despliegues en entornos separados de QA, Staging, Preproducción, Integración, etc.., en ese sentido debo mencionar que las practicas usuales y conocidas respecto a Integración Continua se basan en el versionamiento de : Código fuente, scripts, datos de prueba, archivos de configuración, siendo lo de Infraestructura como Código un paso más allá en ello (algo en lo que tengo que ponerme cuanto antes); dicho esto el enfoque asumido por Microsoft en los web slots consiste en dejar que el entorno (Azure en este caso) se haga cargo de la gestión de ciertos atributos críticos (definidos por los usuarios, claro está) como las cadenas de conexión a BD de producción, lo cual permite copiar todo el contenido versionado con la seguridad de que no habrá forma de que se hagan públicos esos datos sensitivos, probablemente este enfoque (que personalmente me reduce la cantidad de Perfiles de Publicación que debo de crear en mi proyecto) sea chocante para algunos, pero yo lo veo como una apuesta muy seria y con bastante lógica especialmente cuando ya se trabaja con entornos muy sensitivos, recordemos que los archivos de transformación, que vimos en la primera parte de esta serie, obligan a tener una copia de los atributos variables de cada entorno a fin de luego poder regenerar un .config mezclado.

(Muchas gracias a Scott Hunter quien en el último DevDays me conto estos detalles y permitió que le diera un nuevo vistazo a los slots que es el que comparto con ustedes)

Ya sabemos a que vamos a enfrentarnos, así que manos a la obra.

Como primer paso agregamos a nuestra solución un nuevo proyecto ASP.NET Web que llamaremos WebSlots02SimpleWeb, en este caso lo estamos agregando dentro de la estructura de solución WebSlots01 que ya teníamos.

slots25 Finish Reading: Gestión automática de entornos de despliegue con Azure (tercera parte ¡desplegando!)

Gestión automática de entornos de despliegue con Azure (Primeros pasos y un pequeño tropiezo)

Visto el contexto del problema y la solución potencial, decidí verificar si era posible aplicar esta solución dentro de los nuevos Azure API Apps, nueva tecnología agregada a la oferta de Azure que permite generar APIs REST a nuestra aplicación de manera sencilla, evolucionando lo que ya conocíamos de las Web API.

De primera entrada fijemos los objetivos y características de lo que trataremos de demostrar:

  1. Gestionar nuestro respositorio en Visual Studio Online, usando Git como modelo de repositorio.
  2. Efectuar despliegues automatizados a cada vez que hagamos un commit y sincronización hacia VSO.
  3. Que cada entorno desplegado utilice distintos valores de configuración, que la aplicación sea capaz de “leer” dichos valores y actuar acorde a ello.
  4. Efectuar Intercambios (swaps) entre nuestro entorno de QA, hacia Producción, verificando que si bien la aplicación se actualiza, los valores de configuración se mantienen.

Nuestro primer paso es crear un proyecto en Visual Studio Online, asi que vamos a ello:

Slots01Creado nuestro proyecto vamos a Visual Studio 2013 y nos conectamos a nuestro servidor eligiendo al Team Project que acabamos de crear:

Slots02Hecho esto, nos corresponde “clonar” (esto es terminología Git) el repositorio para empezar a trabajar

Slots03

Finish Reading: Gestión automática de entornos de despliegue con Azure (Primeros pasos y un pequeño tropiezo)

Gestión automática de entornos de despliegue con Azure (Introducción)

510af5389e0b9b98decb66e3b5fd6577e3f73032a4e336aeb523b1c836901341   A estas alturas ya debería estar claro para que sirve la integración continua y sus ventajas: el tener un sitio donde se corran todas las compilaciones y tests, el evitar “en mi maquina funciona”, reducir el tiempo de despliegue, el tener una buena gestión de los diversos entornos ¿no?

Bueno, en esta ocasión quiero referirme a la gestión de los diversos entornos en que va a correr nuestra aplicación durante su ciclo de vida: Desarrollo, QA, Staging, PreProducción, Certificación, Producción, etc, como quieran llamarle, pero el caso es que mal que bien (aun cuando no se usen practicas Agiles, DevOps o Integración Continua) al menos hay un reconocimiento en las organizaciones de que no se puede pasar las aplicaciones directamente de la máquina del desarrollador a Producción, bueno, salvo el caso de un sitio donde trabaje en el que los entornos de PreProducción estaban tan desactualizados que no quedaba otra que hacer los pases “en caliente”.

Pero como ya sabemos, cuando trabajamos en múltiples entornos, debemos asegurarnos que cada entorno tenga un conjunto de parámetros separado, de tal manera que no vaya a ser que al entorno de Producción se le dé por escribir en el entorno de QA, o a QA buscar la máquina del ultimo desarrollador que hizo el pase de entorno, de ahí que en buena parte de los despliegues (manuales) se dedique buen tiempo a verificar que estamos copiando los archivos de configuración en el entorno adecuado, y claro esta tarea es pequeña pero estresante.

Entornos

Soluciones hay muchas y una de las que nos brinda desde hace buen tiempo Visual Studio son las “transformaciones” que básicamente consiste que en adición a nuestro Web.config y app.config incluyamos en nuestro proyClipboard01ecto archivos de nombre web.EntornoObjetivo.config como se ve en el gráfico, siendo que cada uno de estos archivos contiene fragmentos XML donde se indican que atributos de configuración serán alterados en el entorno destino y que valores se colocaran en reemplazo de los que habían en Web.config. Finish Reading: Gestión automática de entornos de despliegue con Azure (Introducción)

Los «equipos» QA en la ecuación DevOps

Puede que en el nombre del movimiento este el problema: Dev y Ops, desarrollo y operaciones, lo cual tiene a poner a nuestras amigas QA(*) fuera del radar de esta tendencia, pero a poco de pensarlo bien debemos darnos cuenta de que ya están ahí… si es que hacemos las cosas adecuadamente, me explico.

Se espera que el software que desarrollamos y que se entregue tenga calidad (y ojo, no nos olvidemos que la calidad no es negociable) así que entra en acción el proceso de QA, tests, ratificación o ya en plan sofisticado «certificación», pero lamentablemente en la gran mayoría de los casos estas pruebas se efectúan al final de cada etapa de desarrollo, a veces en un entorno dedicado, a veces en preproducción y otras (felizmente muy pocas) en el propio entorno de desarrollo, volviéndose un ejercicio incremental, pues como en cada ciclo o iteración de desarrollo se añaden nuevas funcionalidades (con suerte Historias de usuario) el equipo QA tiene que probar todo, incluyendo lo que se probo hace unas semanas, no vaya a ser que se caiga en una de las temidas «regresiones» y algo ya validado deje de funcionar.

Ah, ¿y se han percatado que dije «equipo QA»?, ¿no les causa ruido? pues esto es indicativo de que ese proceso esta vinculado a personas diferentes a la labor de desarrollo, asi que de generar sinergias ni hablar.

Pues si, lo usual, incluso en equipos que se denominan «agiles», pero como bien nos recuerda Javier Garzas no se puede ser agil si se prueba en cascada, pues lo que hemos descrito anteriormente es efectivamente un proceso en cascada lo cual nos lleva a algo que tenemos asumido desde hace tiempo (y es parte de la raíz de este modo de trabajar en QA): el «ritual» del pase a entornos: descarga de ultima versión (si es que todo esta bien sincronizado), separar los archivos modificados, asegurarse de que los archivos de configuración este Ok, copia de archivos, reiniciar entornos… etc, y si el pase es a producción ya mejor ni hablar: gran amanecida bailable con desayuno incluido.

¿ Y del lado de QA esta forma de trabajar como les afecta? Simple: el entorno donde probar no esta actualizado de manera frecuente, asi que hay un gran delay entre el tiempo en que Desarrollo entrega nueva funcionalidad o corrige bugs y el que QA puede «verlos», eso de manera evidente. Pero aun hay mas, como mencionaba al principio la validación es manual e incremental dándose el caso que vi de una QA que en cada iteración debía validar la aplicación contra una tabla de valores para verificar que los resultados siguieran siendo los esperados ¿no habría una forma de reducir el trabajo repetitivo de tal manera que el esfuerzo de las pruebas inevitablemente manuales se centre en las nuevas funcionalidades y lo que respecta a la validación de usuario?

Si que la hay, y ya hemos hablado frecuentemente de ello, tender a la Integración y Entrega Continua, buenas practicas (vitales del movimiento DevOps a fin de entregar valor constantemente) que facilitan y a la vez requieren el tener pruebas automatizadas que se ejecuten frecuentemente, acotando lo manual a lo necesario, pero mas aun: facilitando el que se caigan las barreras entre QA y Dev al generar (¡al fin!!!) equipos multidisciplinarios (y no bandos en pugna **) que se den feedaback periódicamente.

Pero aun hay mas, y esto nos lleva al titulo de este post, el escenario DevOps abre una gran oportunidad para QA de asumir liderazgo en este proceso, pero para lo cual algunas cosas deben de cambiar (como nos indica el enlace anterior):

Empoderar a QA para que recomiende o determine las herramientas (de automatización y pruebas)
Que QA migre a una mayor estrategia de tests
Dar a QA una mayor visibilidad dentro de la hoja de ruta
Cambiar QA a un enfoque mas productivo que reactivo
Permitir a QA evangelizar y educar en DevOps

devops_01Pero si, este cambio no es fácil, estamos hablando de una «cultura» ya establecida, que si ya nos esta costando evolucionar en tanto a la adopción del agilismo, por el lado de la forma de trabajar con QA existen retos diferentes:uno el trabajar como departamento separado, lo cual como recordamos anteriormente nos aleja del desarrollo de sinergias, pilar de lo que es DevOps;  por otro lado el hecho de que buena parte de quienes trabajan en QA se acercaron a dicha área porque de esa manera no tendrían que programar, si, esa es la verdad y es una pena, pero buena parte de la automatización de pruebas requiere habilidades de programación y esto es algo que ha venido para quedarse; y finalmente el factor económico, se asume erróneamente que introducir a QA desde la concepción del proyecto es un error por el costo que esto implica (asumiendo de partida que las pruebas se harán «al final»), siendo que el costo de tratar de corregir la falta de calidad en estadíos tardíos es mucho mayor que el que involucra trabajar con pruebas y alcances claros desde el principio.

El reto esta puesto, QA es totalmente necesario para lograr sinergias y entregar valor desde el principio, tal vez el propio nombre «DevOps» no ayuda a recordar que QA es parte del proceso, pero si que lo es, sin esa vital pieza no tenemos la figura completa. Espero sus opiniones para ver como podemos mejorar este proceso.

Referencias adicionales:
Los equipos modernos de desarrollo son multifuncionales, así disparan la velocidad y la productividad
Cuándo deberías hacer los pasos a producción dentro de un Sprint o iteración

(*)Si, en esta profesión tan bonita que es la informática se da el fenómeno que el sector de QA es terreno femenino en su gran mayoría, pero eso da para otra historia.

(**) Un QA tenia en su estatus la siguiente frase «Todo QA debe tener un corazón de desarrollador, guardado en un frasco»

¿Qué se requiere para ser un DevOps?

Hace unos días tuve la suerte de participar en uno de los #DevHangout que organiza Lennon, y en esta ocasión el tema trato sobre DevOps por lo que base la presentación en la que había hecho para el Agiles 2014 y que pueden ver aquí.

El modelo de los #DevHangout permite bastante la interacción mediante Twitter, por lo que conforme avanzaba la sesión afloraron recurrentemente preguntas del tipo “¿Qué se necesita saber para ser un DevOps?” “¿Cuál es el perfil de un DevOps?” “¿No es lo que hacen los sysadmin (IT Pro)?”, así que pensando en resolver estas dudas va esto…

mindsetComo indico en la sesión, lo de DevOps va más allá de la definición de un nuevo rol, sino que es, como dijo , “la búsqueda de la sinergia…” lo cual nos indica que nos encontramos ante una nueva forma de trabajar, donde evitamos los comportamientos estancos, la tradicional separación entre IT y Desarrollo y por el contrario buscamos una mayor colaboración de cara a lograr mejores resultados como organización.

Dicho esto, es perfectamente comprensible que haya necesidad de introducir el rol en la organización a fin de evolucionar a una cultura de ese estilo, así que trataremos de plantearnos consideraciones generales para dicho “rol”, tratando de explotar los tres retos que planteamos en El reto del DevOps ágil.

Primera condición para ello es ser curioso, tratar de salir del molde, si se es desarrollador estar interesado sobre el entorno (el fierro, el SO) sobre el que van a correr las aplicaciones que se están desarrollando (la de desarrolladores .Net que nunca habían configurado el IIS) y saber como este condiciona la performance; y si se es IT Pro, ser consciente del rol que juegan las diversas aplicaciones corriendo en la infraestructura, el stack usado para desarrollarlas; ahhh y en ambos casos (si se trata de empresas “cliente”) ser consciente del diverso grado de importancia de las aplicaciones en la cuenta de resultados de la organización.

Antes de proseguir, ya que hablamos de Desarrolladores y IT Pro, he notado recientemente que la mayoría de las ofertas (¡y documentación!) de tipo DevOps (y también las de cloud, todo hay que decirlo) se orientan hacia un perfil de IT Pro, lo cual indica que no se ha entendido claramente el cambio que implica el movimiento DevOps y de la sinergia que se espera conseguir siendo que esta puede partir tanto de un perfil desarrollador como de operaciones, habiendo elementos que se pueden ganar de ambas miradas.

La segunda condición ya sea para el rol como para la cultura DevOps, es la famosa empatia, ponerse en el lugar del otro, si uno es desarrollador hablar con los de infraestructura para saber lo que están haciendo, tener referencias de cómo está su granja de servidores (con las palabras adecuadas los administradores de red te cuentan emocionados sobre el fierro que acaban de comprar), convocarlos periódicamente a las reuniones de desarrollo y hacerlos parte activa; y por el otro lado dejar de mirar los proyectos de desarrollo como algo que va a afectar la estabilidad y predictibilidad de la infraestructura sino como algo que se ha pedido como necesario para que la organización logre sus objetivos, por lo cual es necesario colaborar activamente; y en ambos casos… tratar de hablar el lenguaje del interlocutor.

Algo común para cualquier caso es estar pendiente del estado del arte, saber que es lo que puede hacer una nueva tecnología y como podría potencialmente ayudar a lo que se esta haciendo a fin de poder proponerlo cuando corresponda a las necesidades de la organización (aquí le corresponde a la administración tener mas apertura a la innovación, so pena de desalentar a sus equipos), esto claro viene de mano con una vocación de no dejar de estudiar bajo ningún concepto, así que esto de DevOps no es para quien se sienta cómodo con ofertas de tipo «resuelve problemas que son de menor complejidad y que pueden ser de carácter rutinario».

Como pueden ver, esto de DevOps si bien en la hora de la cancha puede ser algo muy técnico, pero para empezar se requiere un cambio de mentalidad, tanto en las personas involucradas como en la organización.

***

Mil gracias a Lennon y al equipo de DevAcademy.la por invitarme por segunda vez a sus #DevHangout y porque luego pasan cosas como esta que alegran el día 🙂

Los retos para hacer cloud en el Perú

Cloud es una interesante y validad promesa para las empresas peruanas, la promesa de reducir sus costos fijos, haciendo que buena parte de la infraestructura pase a ser costo variable pagando solo lo que se consume, es algo muy atractivo, y mas cuando un caso de éxito como el de Cineplanet llama la atención por la escalabilidad que esta logrando.

Para lograr esto hay que mirar con otros ojos a nuestras conexiones de internet, si antes se orientaba a facilitar acceso a la web y al correo, ahora… las cosas cambian, si antes el servidor de correo estaba en la red local ahora lo esta fuera, así que cada request sale fuera de la red de la organización por mencionar el detalle que podría ser mas común.

Otro escenario en que nuestra velocidad de conexión puede asomar un lado poco amable es el de la carga de datos desde nuestra organización hacia la nube, y claro como usualmente la infraestructura de la nube esta fuera de nuestro país la latencia si que es un factor a considerar, para lo cual habrá que recurrir a herramientas como Azure Speed y así determinar en que zona geográfica nos conviene mas provisionar nuestros servicios en la nube; pues como vengo insistiendo, el hecho de que haya datacenters cloud en Brasil no implica que vayamos a conseguir mejores velocidades de conexión que las que tenemos con USA.

Pero por mas de que elijamos bien la zona geográfica y aumentemos razonablemente el ancho de banda, hay otro factor que toca considerar y es que la mayoría de conexiones a Internet que se contratan son de tipo ADSL (Asymmetric Digital Subscriber Line) siendo que la A, que antes usualmente no nos importaba pues solo consumíamos contenido, nos puede jugar una mala pasada pues la Asimetría nos recuerda que la velocidad con la que nos podemos bajar contenido siempre sera mucho mayor que la velocidad de subida… upss y eso se refleja en los problemas mencionados anteriormente, de ahí que dentro del planeamiento de uso de soluciones cloud debe hacerse la evaluación de pasar de conexiones ADSL a conexiones DSL que no restrinjan la capacidad de subir contenido.

Ya en el lado que no esta mucho en nuestras manos esta el reclamar por los precios y las velocidades que se ofertan en el Perú (penosas realmente) y esperar que a se haga una NAP a nivel de la Comunidad Andina, lo cual justificaria a los proveedores de cloud el montar un datacenter en la región, o que se mejore la conexión vía fibra óptica con Brasil y así reducir la latencia con los datacenter de dicho país.

Por otro lado, corresponde hacer una mayor difusión respecto a lo que implica cloud en cuanto a generar nuevas aplicaciones (PaaS) o gestión de Infraestructura (IaaS), pues percibo que aun en los departamentos de IT se habla de cloud solo en términos de compartir información en repositorios de facil acceso o usar herramientas de ofimática basadas en Web, y como bien sabemos es mucho mas que eso, todo un reto para los informáticos en estos tiempos ¿no?

 

 

Acercandonos a #NoEstimates

Hace un tiempo tropecé en Twitter con este hashtag: https://twitter.com/hashtag/NoEstimates?src=hash y me llamo mucho la atención pues a lo largo de mi carrera me ha tocado ser victima de las estimaciones que alguien mas hizo, o en algunos casos entregar mis propias estimaciones, circunstancias en las que por mas buena intención que haya (y que ventas no haya presionado para meter mano) siempre hay algo que no se ha contemplado que hace fallar cualquier supuesto.

En este tiempo he estado revisando interesantes materiales (como este) y la idea básica detrás de esta tendencia es reconocer que las estimaciones, como las hemos conocido hasta ahora, no son útiles para la toma de decisiones, pues están basadas en una gran incertidumbre y no dejan de ser una opinión, por lo que se debe de tender a trabajar con hechos y en base a ellos hacer las proyecciones y sobre todo, enfocarnos en dar prioridad a lo que efectivamente da valor antes que tener el detalle ultracompleto sobre las tareas que se van a programar.

Con ese contexto y curiosidad previa me vengo a encontrar que Vasco Duarte, una de las voces mas lucidas en este movimiento esta preparando un libro enfocado en el tema, el cual (como es usual en editoriales como Manning) ofrece la opción de que los lectores interesados seamos Beta Readers para lo cual solo debemos registrarnos en el formulario de la pagina.BetaReader

Luego de inscribirnos se nos enviara el primer capitulo, para poder leer el 2do capitulo uno debe enviar el feedback sobre el capitulo, y así sucesivamente… paso a paso, lo cual me parece una gran manera para garantizar el flujo de lectura de los interesados.

De momento llevo leídos tres capítulos y el enfoque es muy interesante, nos pone en el escenario de una PM a la cual se le ha pedido hacer una estimación «precisa» de un mega proyecto, y poco a poco vamos entendiendo como las estimaciones son esencialmente una opinión y no un hecho, ademas de cosas muy interesante como que el famoso «cono de incertidumbre», muy usado por nosotros los agilistas, ya había sido desacreditado hace un tiempo por Laurent Bossavit upss.

Así que si quieres ir aprendiendo poco a poco de que trata todo esto de #NoEstimates y no caer en la trampa de «Tenemos que ser mas precisos en nuestras estimaciones» (que en el libro se dice que es mas o menos como comprar números de lotería ganadores) apuntarse como Beta Reader es una gran oportunidad.

Lectura sugerida:

How to not shoot yourself in the foot with estimates

Cloud, de manera sencilla

A veces tiendo a emocionarme con la tecnología, y hablar «en binario», pero el hecho es que es necesario tener conceptos claros, e ideas fuerza para poder hacer aterrizar una idea en publico no tecnológico, y en el caso de cloud, mas aun.

En este caso, la razón por la cual uno debería estar interesado en cloud desde el punto de vista de negocios es simple: tradicionalmente las empresas han tenido la necesidad de hacer inversiones de infraestructura en previsión de «lo que pueda pasar», con cloud el esquema cambia, la provisión se hace conforme vayan creciendo tus requerimientos, pagando solo por lo que de veras se necesita.

Consideraciones adicionales vienen después, pero la idea fuerza es esa, atacando por la cuenta de resultados, que al final es lo que define la decisión.

¡Mudanza!

Si has sido un visitante que ha pasado por aquí en semanas anteriores te habrás dado cuenta del cambio de estilo en el blog, lo cual ya es mas obvio, pero lo que no lo es tanto es que desde hace una semana este blog ha dejado de estar alojado en Blogger para estar alojado en Azure usando WordPress.

Las razones para ello son varias, con WordPress hay una mayor escena de temas y plugins para usar, en ese sentido Blogger se había quedado muy atrás, pero una razón muy importante es que siendo que ahora me he enfocado en Cloud Computing en general y en Azure en particular, decidí que una buena opción seria hacer uso de esas opciones y así profundizar en el uso continuo de un recurso en Azure.

La primera decisión que tome fue el tipo de servicio de Azure a usar, descartadas las maquinas virtuales (el uso continuo de procesador garantiza una factura alta) la opción obvia era elegir un Azure WebSite, y dentro de esta opción opte por un servicio de hospedaje «Compartido» (Shared).

wordpress03

La razón por la que elegí este nivel fue porque es el mas «barato» que permite asignar un dominio personalizado (en este caso consultorinternet.com) y no quedarse con el modelo sitio.azurewebsites.net que viene por defecto. Y si por alguna razón este site crece en trafico siempre podre crecer a alguno de los modelos como «Basic» o «Estandar».

Implementar WordPress fue muy sencillo, solo tuve que elegir de la galeria que te ofrece Azure a WordPress y listo.

wordpress04

Ahora bien, en la siguiente pagina si que hay que tener cuidado en agregar todos los parámetros (son varios) que se piden, y anotar sus valores en lugar seguro.

wordpress05

Nótese que en WebScaleGroup estoy usando un plan de hosting que ya tenia previamente,  y que ya había migrado del modelo «Gratis» al «Compartido» para de esta manera poder hacer uso del tema de los dominios personalizados que ya mencione mas arriba. Con respecto a la BD si es tu primer site en WordPress tienes que crear una BD nueva, si ya tienes otro site deberás usar una BD ya existente a menos que por tu volumen requieras contratar BD extra en ClearDB.

Ya con el WordPress corriendo seguí las indicaciones de este enlace para efectuar la migración de Blogger a WordPress, todo bien pero creo que no es necesario efectuar los pasos recomendados en la sección «Redireccionar los enlaces de blogger a wordpress» (que incluye el uso de un plugin) siendo que mas practico es configurar el formato de los enlaces permanentes de esta manera:
wordpress02
Esta configuración (ojo a la palabra html que hay que agregar manualmente) es la que ya tenia en Blogger, por lo que si los buscadores tenían referenciado un enlace «antiguo» esta referencia no se perderá, lo que si se ha perdido son los enlaces que hacen referencias a entradas agrupadas por mes, bueno… no se puede tener todo.

Con todo esto listo, toca configurar los parámetros en el proveedor de dominios (en mi caso Network Solutions) de acuerdo a lo indicado en esta documentación, nótese que el tiempo en que se propagan los cambios en los valores puede variar, en unos casos en 5 minutos ya Azure «sabia» de los cambios, en otros se tardo como media hora, pero nunca ha tardado las horas que se supone que tienen de colchón para propagar los cambios.

Ya configurado el site, me percate que si bien al entrar a www.consultorinternet.com accedía al nuevo site en WordPress y ya no al de Blogger, cuando administraba el site o iba a los enlaces veía el dominio en azurewebsites.net que no era lo que esperaba, luego de revisar tanto en la consola de Azure como en Network Solutions por si había algún error, revise la administración en WordPress percatándome que tenia que editar algo tan simple como lo que se ve en el siguiente gráfico, upsss.

wordpress06

Bueno, ya esta listo, espero sus visitas y comentarios en esta nueva etapa. Lo mas probable es que en breve migre Fisica 3, el site hermano.