Nombres de los recursos en Azure

ejemplo de convención de nombres de los recursos en Azure

En naming en desarrollo es importantísimo. Cuando empecé en esto, recuerdo “discusiones” en el equipo que podían durar 10-15 minutos para elegir el nombre de un método o una variable. “Mi no entender” pensaba, si solo es un nombre. ¡Que equivocado estaba! Yo venia de estudiar y de usar variables llamadas “aux, aux2, sum”, etc.

Para tener una consistencia dentro de un mismo proyecto basado en Azure, es necesario establecer una convención de nombres para los recursos de Azure en la que apoyarnos a la hora de crearlos. Ya sabes como moverte por el portal de Azure para crear estos recursos, ahora debes ponerles un buen nombre.

Pueden existir muchas estrategias a la hora de elegir la convención adecuada, y todo dependerá del proyecto en el que trabajes y del equipo con el que colabores, pero aquí expongo mi propuesta.

Para poner un nombre a los recursos de Azure, podemos basarnos en los siguientes parámetros:

Sigue leyendo Nombres de los recursos en Azure

Yield Return: que es y como usarlo

Hoy os quiero traer una pequeña píldora con el uso de yield return en C#. Usándolo, estamos indicando que el método es un iterador. Pero, ¿esto que quiere decir?

Veámoslo con un ejemplo, leed el siguiente código. Sin conocer el uso de yield return, a priori el método DameInts() sería imposible, ya que entraríamos en un bucle infinito. Tomate un segundo y ejecútalo, a ver que pasa.

using System;
using System.Collections.Generic;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("Hello World!");
            var resultado = DameInts();
            foreach (var a in resultado)
                Console.WriteLine(a);
        }

        public static IEnumerable<int> DameInts()
        {
            int i = 0;
            while (true)
            {
                yield return ++i;
                System.Threading.Thread.Sleep(1000);
            }
        }

    }
}
Sigue leyendo Yield Return: que es y como usarlo

Portal Azure: Las claves para dominarlo

Empezar en Azure puede ser abrumador y el punto de entrada a este nuevo y maravilloso mundo es el portal de Azure. En este artículo veremos como funciona y como entenderlo.

Página principal

Una vez te has dado de alta en Azure y te dispones a empezar, lo primero que te encuentras al acceder al portal de Azure es su pantalla principal. No te asustes, vamos a ver que es todo lo que nos muestra y como navegar y usar el portal.

Imagen de la página principal de portal azure
Página principal del Portal de Azure

En la parte central de la pantalla (3 y 4) se puede ver un resumen de los últimos servicios que se han visitado (4), si es la primera vez que entras, estará vacío y unos cuantos accesos directos para crear algunos de los servicios más comunes (3).

En la barra de la cabecera se encuentra un buscador, maravilloso por cierto. Cuando introduces un termino de búsqueda, aparecen resultados sobre los distintos servicios que ofrece Azure, sobre los recursos creados por ti o sobre la documentación. Todo en un único punto centralizado.

A continuación puedes ver los iconos para acceder al Shell propio que incluye el portal Azure, al filtro de suscripciones (que veremos mas adelante), el centro de notificaciones y las opciones (5). Finalmente te encontrarás con la gestión del usuario conectado, similar al de cualquier portal web (6). Este punto esta muy conseguido, ya que puedes gestionar varias cuentas distintas y es muy sencillo cambiar de una a otra.

Desde la sección de configuración puedes cambiar el idioma o el tema del portal, entre otras cosas.

Sigue leyendo Portal Azure: Las claves para dominarlo

Como forzar navegación HTTPS con Azure CDN

Si tienes una página web detrás de un Azure CDN y quieres forzar que toda la navegación de tu web se realice siempre con protocolo HTTPS, has de crear una redirección desde la sección de “Rules engine“. En esta pequeña píldora, te explico como hacerlo.

Sigue leyendo Como forzar navegación HTTPS con Azure CDN

Forzar la re-instalación de todos los paquetes Nuget en Visual Studio

Hola, hoy vengo con una pequeña píldora. Me ha pasado a veces que al abrir un proyecto o al cambiar ciertas cosas de este, como por ejemplo en namespace, de pronto todo deja de compilar, como si no estuvieran los paquetes nuget instados. Pero si vas a Nuget, ahi esta todo, como si la cosa no fuese con el.

Para solucionar esto y reinstalar todos los paquetes de golpe y sin necesidad de tener que actualizarlos sólo tenemos abrir la consola de paquetes (Package Manager Console) en Visual Studio:

Y lanzar el siguiente comando:

Update-Package -reinstall

O para forzarlo sobre un proyecto concreto

Update-Package -reinstall -Project {nombre_del_proyecto}

Como servir páginas estáticas desde Azure Storage

Después de mucho tiempo recupero el formato vídeo, un formato que me apetece mucho, pero que me cuesta… a ver si haciendo pequeñas píldoras va saliendo mejor.

En este vídeo, explico como usar Azure Blob Storage para almacenar y servir páginas web estáticas. ¡Imaginaos lo bajos que pueden ser los costes!

Espero que os guste.

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!

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

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!

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