Nuevo tema oscuro (dark) en Azure DevOps

En la nueva actualización del sprint 150 de Azure DevOps, han lanzado un nuevo tema oscuro (dark) para Azure DevOps, una cambio que puede parecer menor (solo es visual), pero que agradeceremos los que estamos acostumbrados a trabajar con el tema oscuro de Visual Studio.

Activarlo es muy sencillo, solo hay que ir a las opciones de usuario y seleccionar el tema:

¡Nos leemos!

La paradoja de la ballena y las bicicletas

http://badtasteink.tumblr.com/post/45055022648

Desde hace algún tiempo, muchas empresas en su proceso de transformación digital están migrando a la nube. En mi caso trabajo con Azure y uno de los problemas con los que me encuentro bastante a menudo es que al vender como una de la cualidades de la nube la escalabilidad de esta, el cliente y/o todas las personas no técnicas (y algunas técnicas) que de alguna forma están relacionados con el proyecto, creen que todo sistema alojado en la nube va a escalar mágicamente con tan solo darle a un botón. Y claro, esto al final se convierte en problemas de rendimiento y de costes.

Te encuentras problemas del estilo: – Oye, que la base de datos no da mas de sí y por eso va todo lento. – No pasa nada, escala. Así lo resolvemos, ¿no? – Ya si, pero vamos a mirar por que esta ya tan al límite, no debería con este volumen de uso… – Tiene coste para nosotros… – Si, claro, tenemos que revisa… – Pues no se puede, escala. – Pero llegará un momento que… – Escala.

Sigue leyendo La paradoja de la ballena y las bicicletas

Primeros pasos con Docker para Windows

Uno de los muchos temas tecnológicos a los que llego tarde es Docker. Pero ha llegado un punto en el que no puedo retrasarlo más y he de ponerme con ello por que he de tener, como mínimo, unos conocimientos base. Así que aprovechando la situación, voy a ir haciendo una serie de entradas en el blog con lo que vaya aprendiendo. Como sabrás ya si has leído algo más del blog (y si no te lo digo ahora), yo soy muy de Windows, por lo que me voy a centrar en Docker para Windows y mas adelante con Azure. ¡Vamos pues!

Imagen relacionada
Sigue leyendo Primeros pasos con Docker para Windows

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