Patrones cloud: patrón Retry

Que es un patrón en desarrollo de software

Antes de ver el patrón retry, vamos a empezar por el principio, vamos a ver que es un patrón. En el desarrollo de software, es de los más normal encontrarnos con problemas y/o retos que son recurrentes y que siempre están ahí. Retos que son agnósticos al lenguaje de programación que utilices, incluso si estas haciendo algo con alguna herramienta low code, te encontraras con estas casuísticas. ¿Cómo accedemos a la base de datos? ¿Cómo tratamos los errores? ¿Cómo muevo millones de registros en el menor tiempo posible?, etc. ¿no te ha pasado nunca que tienes un error, un problema, algo que no sabes como hacer, lo buscas en StackOverflow, y hay cientos de respuestas? Seguro que creías que eso solo te había pasado a ti, pero no, en software, todos nos encontramos con las mismas problemáticas.

Un patrón es un diseño que nos permite «atacar» a una casuística concreta, no es mas que una forma concreta de resolver un problema. Puedes profundizar mucho más en la definición desde la página de Wikipedia.

Los patrones cloud, por lo tanto, serán soluciones a problemas concretos que se dan en los entornos y desarrollos pensados para la nube. Recuerda, son soluciones agnosticas a la tecnologia que uses. Yo para mis ejemplos voy a usar Azure y C#, pero podrías aplicar el patrón a AWS y Java, por ejemplo, o picar el código en Python, es indiferente.

Sigue leyendo Patrones cloud: patrón Retry

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 hacer Git Flow con Azure Repos

Hace ya unos cuantos años, en 2010, Vincent Driessen escribió una entrada que titulo «Un modelo exitoso de ramas para Git«. Han pasado 10 años y el modelo que definió sigue siendo extensamente usado. A ese modelo lo llamó Git Flow y aunque el mismo recomienda otros modelos mas sencillos en algunos escenarios (que abordaré en futuras entradas y videos), a día de hoy es un sistema muy utilizado.

En el siguiente video muestro que es y como usar Git Flow, usando Azure Repos y Visual Studio.

El sistema se basa en la gestión de un sistema de ramas donde existen dos ramas principales: master y develop. A partir de ahí podemos trabajar con ramas de feature, de hotfix y de releases.

Modelo de ramas propuesto por Git Flow
Modelo de ramas propuesto por Git Flow

Aventuras de un arquitecto: Por que decidí crear una capa de API Rest delante de un D365 Field Service

Hola, el otro día estaba leyendo el libro de Satya Nadella (Pulsa refrescar, lo recomiendo mucho, esta regalado en Amazon) en el que habla de cómo ha liderado el cambio tanto tecnológico como cultural en Microsoft. Una de las cosas que dice es que a él lo que le funciona es la empatía, el ponerse en el lugar de los otros. Así que he reflexionado un poco sobre el tema y he pensado que tal vez, desde la parte tecnológica, a veces no se explica lo suficiente el porqué de ciertas decisiones que tomamos y, por lo tanto, no se están entendiendo desde áreas no técnicas. A veces es por nuestro ego (hablo por mí, por supuesto), el orgullo, la falta de empatía o el hecho de que tal vez no se nos escucha como se debería desde las áreas no tecnológicas. Tal vez la suma de todo.

He pensado que tal vez, explicando algunos casos de decisiones que he tomado con más detalle, sin hablar en idioma puramente técnico. Por lo tanto, voy a iniciar una serie de entradas en el blog en las que hablare de algunas decisiones que he tomado y el por que de estas. Tal vez tenga suerte y consiga un debate interesante.

Sigue leyendo Aventuras de un arquitecto: Por que decidí crear una capa de API Rest delante de un D365 Field Service

Teletrabajo: algunos consejos de lo que aprendí después de un año

Fuente de la imagen: https://confilegal.com/

He leído muchas veces eso de que el COVID ha hecho mas por el teletrabajo en unos meses, que todo lo conseguido hasta ahora. Seguro que existen excepciones, pero a todo el que opine así, os voy a contar un secreto: esto que estamos haciendo ahora no es teletrabajo real. Es teletrabajo forzado, muchas veces con niños en casa y simplemente moviendo nuestro espacio físico a nuestra casa. Pero seguimos manteniendo mil reuniones (que reducen nuestra productividad) vía Teams, Zoom, o el software que use la empresa, seguimos manteniendo los mismos horarios fijos de la oficina y seguimos trabajando igual. Básicamente, hacemos lo que podemos con lo que tenemos.

Durante una época de mi vida, trabajé en una start-up donde se hacia teletrabajo real (no teníamos ni oficinas), por lo que estuve cerca de dos años teletrabajando sin pandemia que obligase a ello. Estas son algunas de las cosas que aprendí de aquella experiencia y que espero que os pueda servir de algo. Os avanzo, que al principio no me fue nada fácil adaptarme.

Sigue leyendo Teletrabajo: algunos consejos de lo que aprendí después de un año

7 cosas a tener en cuenta al hacer integraciones con volúmenes altos de datos en Dynamics 365 CE (aka CRM)

En la mayoría de los proyectos en los que he participado y que Dynamics 365 CE (aka CRM) estaba involucrado, en mayor o menor medida, hemos tenido que integrarnos con otros sistemas para cruzar datos entre ambos. Estas son algunas cosas que he ido aprendiendo y que me han ido enseñando (gente que sabe mucho mas de D365CE que yo) a lo largo de estos proyectos. Si estas leyendo esto y tienes algún tip mas, no dudes en ponerlo en los comentarios, !siempre será bienvenido!

Sigue leyendo 7 cosas a tener en cuenta al hacer integraciones con volúmenes altos de datos en Dynamics 365 CE (aka CRM)

Azure Cosmos DB ahora en modo Serverless

Hace un tiempo hable de la versión serverless de Azure SQL Server, ahora le toca el turno a Azure Cosmos DB, que también ha sido lanzada en versión serverless (en preview en el momento de escribir esta entrada) .

Aquí el anuncio por parte del equipo de Microsoft: https://devblogs.microsoft.com/cosmosdb/serverless-preview/

Lo primero que se puede apreciar es que, efectivamente, al ir a crear una nueva cuenta aparece una nueva opción donde indicar si queremos que la cuenta este en modo aprovisionado (como hasta ahora) o en el nuevo modo serverless.

Pantalla de creación de una cuenta de Azure Cosmos DB. En la imagen aparece la opción para que sea serverless en lugar de aprovisionada
Sigue leyendo Azure Cosmos DB ahora en modo Serverless

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

Primer vistazo a Azure Static Web Apps

Información general de Static Web Apps

Hace algún tiempo hice un vídeo en el que explicaba como servir páginas estáticas con Azure Blob Storage, una forma rápida, sencilla y barata para servir este tipo de páginas. Ahora, Microsoft ofrece el servicio de Azure Static Web Apps (aún en preview) para la gestión de este tipo webs. Lo he estado probando, y estas son mis primerísimas impresiones.

Sigue leyendo Primer vistazo a Azure Static Web Apps