Tareas de Azure DevOps: ARM Outputs

Voy a iniciar una serie de entradas para ir comentando algunas tareas de Azure DevOps que por un motivo u otro me han facilitado la vida. Voy a empezar con ARM Outputs. Esta tarea no viene por defecto y hay que descargarla e instalarla desde el Market.

Esta tarea nos permite obtener valores que hemos definido como outoputs en una plantilla ARM para poder utilizarlos posteriormente como variables en las siguientes tareas. Por ejemplo, podemos definir como outputs las distintas claves de servicios creados por ARM, que después podemos usar para insertar en valores de settings.

Sigue leyendo Tareas de Azure DevOps: ARM Outputs

Como obtener las direcciones IP de salida en un APP Service Plan de Azure

Una nueva píldora. Muchas de las cosas que pongo en el blog, son temas con los que he tenido que lidiar y el hecho de escribirlos aquí me permite tener una pequeña chuleta de la que poder titar en caso de necesidad. Hoy he necesitado saber las IP de salida de un app service, y así es como lo he podido saber.

Cada app service tiene un numero de IP’s asignadas, que ademas no puedes conocer con antelación cual de ellas se va a usar, por lo que si necesitas las IP por ejemplo para dejarlas pasar por un firewall, tendrás que añadir todas las que tiene el app service asignadas. 

Sigue leyendo Como obtener las direcciones IP de salida en un APP Service Plan de Azure

El reto de la empresa de mapas: Bajar un fichero de 2GB y procesarlo lo más rápido posible

Hace algún tiempo me tope por casualidad con un reto que proponen en la sección de reclutamiento en una conocida empresa que se dedica a la visualización de datos sobre mapas (no quiero poner el nombre directamente, que el reto sigue activo en su web y no quiero fastidiarles si alguien “Googlea” para ver como hacerlo). El reto consiste en obtener un fichero .csv de aproximadamente 2GB de Internet y hacer algunos cálculos sobre los datos que contiene, lo más rápidamente posible. Esta claro que el ejercicio es para ver como los nuevos aspirantes plantean una posible solución, ya que el resultado, entre otras cosas, dependerá mucho de la velocidad de la red en la que se ejecute el programa. Recordemos, el requisito es ir lo más rápido posible y hay que descargar un fichero de 2GB. 

El stack tecnológico de esta empresa es Python, pero como a mí lo que me gusta es C#, acepté el reto, pero en mi lenguaje.

Al final conseguí unos tiempos de ~30 segundos en una red de 600 megas (que según comente con los creadores del reto en Twitter, no esta nada mal) con un programa de consola en .Net Core, vamos a ver como lo enfoqué.

Sigue leyendo El reto de la empresa de mapas: Bajar un fichero de 2GB y procesarlo lo más rápido posible

Crear un programa de consola asíncrono con C#

Hace ya bastante tiempo que no publico una píldora de código. Aquí va una: como crear un programa de consola en C# que pueda hacer llamadas asíncronas (async – await).

Puede serte útil en algún momento.

Actualización: Como bien comenta @snavarropino en los comentarios, a partir de la versión 7.1 de C# se incluyen main asíncronos, por lo que no sería necesario usar este “atajo”.

¡Nos leemos!

Azure Logic Apps. Como crearlas, gestionarlas y desplegarlas con Visual Studio

El otro día fui a la .Net Conf Barcelona 2018 y pude asistir a la charla que dieron @tonirecio y @barbosound en la que hablaban sobre como habían usado Azure logic apps para automatizar ciertas tareas recurrentes en su organización.

Logic apps es uno de esos temas en los que llevaba tiempo pensando, pero ya sabes, el tiempo es limitado y nunca me ponía a ello, por lo que esta charla me vino de maravillas para conocer de que va el tema e interesarme por ellas.

Azure Logic Apps te permite crear flujos de trabajo y procesos sin tirar una sola linea de código. Es el concepto de no tirar una sola linea de código lo que me tiraba un poco para atrás a la hora de ponerme con ello, pero me he dado cuenta de que bien usado y con cabeza, puede ser una herramienta muy potente que nos puede ahorrar muchas horas de trabajo y algún que otro dolor de cabeza. 

Como ejemplo, he creado una logic app que “escucha” Twitter y si detecta un hastag concreto, captura el Tweet y me lo envía por correo. Lo he hecho en cinco minutos. Por muy rápido que seas picando, seguro que tardas mas.

Sigue leyendo Azure Logic Apps. Como crearlas, gestionarlas y desplegarlas con Visual Studio

Cambiar al nuevo diseño en Azure DevOps

Hace unos meses que el equipo de Azure DevOps cambio el aspecto y la navegación radicalmente.

Puede que en su momento te apareciese un mensaje en el portal  para que cambiases al nuevo aspecto y le dijeras que no, o puede que ni te hayas dado cuenta y aún estés usando el “antiguo” aspecto. La cosa es que ya me ha pasado varias veces, que al compartir la pantalla con compañeros para enseñarles algo que estoy haciendo, me dicen que ellos no lo ven igual (por que no han activado la nueva versión, claro) y por eso me he decidido a colgar esta pequeña píldora para mostrar como cambiarlo. Es muy sencillo.

Haz clic sobre las opciones de usuario, arriba a la derecha y pulsa sobre “Preview features”

Sigue leyendo Cambiar al nuevo diseño en Azure DevOps

DevOps con Azure DevOps(III) – Crear una Build

Desde hace muy poco tiempo Visual Studio Team Services ha cambiado de nombre para pasar a llamarse Azure Devops y esto me ha obligado a cambiar el título de la serie de entradas en las que llevo trabajando un tiempo. A parte de eso y de todos los cambios de UI, la filosofía sigue siendo la misma. Ya hemos visto como crear una cuenta de Azure DevOps  y como crear un proyecto y añadir el repositorio de Git. El siguiente paso es crear y configurar una “Build” que se encargue compilar el código y generar los paquetes necesarios para automatizar el despliegue. Todo ello pensando en un futuro proceso de integración y despliegue continuo.

Sigue leyendo DevOps con Azure DevOps(III) – Crear una Build

Azure – Listar y exportar todos los recursos de un grupo de recursos con Azure PowerShell

Una pequeña píldora (y una chuleta para el futuro) antes de entrar en agosto. Me he encontrado ante la situación de  tener que hacer un pequeño inventario de todos los recursos que existen en los distintos entornos creados, tanto para tenerlos controlados como para comprobar que todos los entornos son iguales. Desde el portal de Azure no existe una opción para exportar el listado de recursos a un .csv, cosa que facilitaría la tarea. Pero podemos hacerlo con Azure PowerShell.

Sigue leyendo Azure – Listar y exportar todos los recursos de un grupo de recursos con Azure PowerShell

Como desactivar los servicios que no usas en la nueva interfaz de VSTS

Hace unos días se libero la nueva interfaz de Visual Studio Team Services (aquí el anuncio). Con la nueva interfaz cambia por completo la navegación dentro de la herramienta, y en mi humilde opinión, los cambios son a mejor. Dentro de estas mejoras, existe una característica (al menos, con la antigua interfaz no tengo constancia de que se pueda hacer) que nos permite eliminar del menú los servicios que no usemos. Vamos a ver como.

Sigue leyendo Como desactivar los servicios que no usas en la nueva interfaz de VSTS