Database Patterns with Azure Kubernetes Service Part 1: MySQL + Azure Managed Disk

My good friend Roy started another amazing series of post. Now it’s time for Database patterns with Azure Kubernetes

Roy Kim on Azure, Office 365 and SharePoint

One of the non-straight forward aspects of implementing for applications in Kubernetes is the stateful data store.

I will be showing 2 relational database patterns in Azure Kubernetes Service. Since containers are the fundamental building blocks, these are stateless by default. That is the containers can lose its data when it is terminated or fail. More design, setup and management effort are given to have stateful components in Kubernetes. And is very much the case for relational databases. I will show two stateful persistent database approaches for Azure Kubernetes.

  1. In-cluster database
    • MySQL containerized database in a Kubernetes pod
    • Persistent Storage provisioned as Azure Managed Disks
  2. Azure PaaS Database
    • External to the Kubernetes cluster
    • With managed Identity for
    • Networking via a private link

In-cluster database

I will show a containerized MySql database using the demo Deploying WordPress and MySQL with Persistent Volumes. This is representative of a standard web application…

View original post 654 more words

#Podcast – NTN 53 – Novedades y Experiencias en Microsoft Build 2020 con Con @D_Vid_45, @JuanKRuiz, @jc_quijano, @JosueYeray y @Mteheran

Buy Me A Coffee


Hoy tenemos la suerte de hablar con David Vidal Castillo (@D_Vid_45), Juan Carlos Ruiz Pacheco (@JuanKRuiz), Juan Carlos Quijano (@jc_quijano), Josué Yeray Julián (@JosueYeray) y Miguel Teheran (@Mteheran) sobre la experiencia y novedades de Microsoft Build 2020. La conexión entre Canada, Colombia y Spain ha sido todo un desafío, sin embargo hemos pasado un momento genial.

El podcast ha durado mucho mas de lo usual y es principalmente porque tocamos temas como: la experiencia de Build virtual, MAUI, Microsoft Graph , Power Platform, One Net, Novedades en C# 9, Private Link, Azure Twins, CodeSpaces, Cognitive Services, CosmosDB y otra cantidad de temas que han sido parte de estas intensas 48 horas.

David Vidal Castillo es  Team Leader en ENCAMINA y Azure hero (LinkedIn), Juan Carlos Ruiz es  Senior Cloud Solutions Architect | MBA  en Microsoft (LinkedIn), Juan Quijano es Microsoft Certified Trainer, Arquitecto de Soluciones en Azure, Consultor independiente en implantación de DevOps (LinkedIn), Yeray es  CTO & DevsDNA Co-Founder (LinkedIn) y Miguel es  Developer and Software Consultant (LinkedIn).

Ir a descargar


Happy coding!


El Bruno

Teams Real Simple with Pictures: Keep up to date on your favourite YouTube Channels with Teams and Power Automate


This blog is part of a series on Teams. For more articles, check back often

Written: 24/05/2020 | Updated: N/A

I love Karuana’s series Coffee in the Cloud. I love Microsoft Mechanics.

If you have been following this long running series, it probably comes as little surprise that I love video. I love videos which are genuinely interesting and jam packed with useful content, well produced and palatable in terms of their length. Yet the one problem I have is that I do so much focus work these days that I always forget to check for updates and so I often end up missing out on some really great content. Of course, there was a period I used to check them. I used to spend too much time checking them every other day, regularly switching out of context which often took me out of the focus work I was doing

View original post 487 more words

How I Develop Locally With GitHub and Azure DevOps Repos

An amazing must read if you are looking for some GitHub and DevOps materials …

The Frog Pond of Technology

A peer of mine recently asked about how I manage local code (projects, solutions, Git repos, etc.) that may or may not be synced to a cloud repository (GitHub, Azure DevOps, etc.)  Since I previously blogged about How I Blog – Updated 2018 and I’m a fan of re-using how many keys I have left I thought I would share my personal local development process.


I like to to tell people that “I play a developer on TV”, meaning it has been at least 10 years since I’ve written code as a consultant that was actually deployed to a production system.  Sure I’ve written (or collaborated on) many samples (ex. .Net Core console sample for Microsoft Graph) and proof of concepts for customers these past 10 years, but it wasn’t the primary focus of my job.  So balance everything that I share with what others such as my…

View original post 492 more words

#Coding4Fun – How to control your #drone with 20 lines of code! (20/N)

Buy Me A Coffee

Hi !

We already have the drone camera feed ready to process, so let’s do some Image Segmentation today. As usual, let’s start with the formal definition of Image Segmentation

In digital image processing and computer vision, image segmentation is the process of partitioning a digital image into multiple segments (sets of pixels, also known as image objects). The goal of segmentation is to simplify and/or change the representation of an image into something that is more meaningful and easier to analyze.[1][2] Image segmentation is typically used to locate objects and boundaries (lines, curves, etc.) in images. More precisely, image segmentation is the process of assigning a label to every pixel in an image such that pixels with the same label share certain characteristics.

The result of image segmentation is a set of segments that collectively cover the entire image, or a set of contours extracted from the image (see edge detection). Each of the pixels in a region are similar with respect to some characteristic or computed property, such as color, intensity, or texture. Adjacent regions are significantly different with respect to the same characteristic(s).[1] When applied to a stack of images, typical in medical imaging, the resulting contours after image segmentation can be used to create 3D reconstructions with the help of interpolation algorithms like marching cubes.[3]

Wikipedia, Image Segmentation

The technique is amazing, and once is attached to the drone camera, we can get something like this:

I used a Python library to make most of the work: PixelLib. It was created by an amazing set of colleagues, so please check the references and take a look at the project description.

PixelLib: is a library built for an easy implementation of Image Segmentation in real life problems. PixelLib is a flexible library that can be integrated into software solutions that require the application of Image Segmentation.


Once I have all the pieces together, I pulled a Pull Request with a single change to allow the use of OpenCV and webcam camera frames and I got a basic demo up and running.

Let’s review the code

  • Line 147. That’s it, a single line which performs the instance segmentation, and also display the bounding boxes.

Sample Code

I’ll show a couple of live demos of this in my next Global AI Community, Drone AI demos. Check my next event sections!

Happy coding!


El Bruno


Novedades en Xamarin.Forms presentadas en el Build 2020

Javier Suárez | Blog

El //Build 2020

En estos días, del 19 al 21 de Mayo se está celebrando el Build 2020, el mayor evento de Microsoft centrado en el desarrollo del año.

//Build 2020

Y se han presentado una gran variedad de novedades relacionadas con Xamarin.Forms.

Novedades anunciadas para Xamarin.Forms

Shell 2.0

Shell llegó en Xamarin.Forms con el objetivo de simplificar la creación de la estructura de la aplicación. Tener un Flyout, pestañas, etc.

Shell hacía muchas cosas bien, como simplificar la creación de estructuras, simplificar la navegación o la gestión de la barra de búsqueda. Sin embargo, sabemos que también hay cosas que se debían mejorar. Por poner algunos ejemplos: la abstracción de nombres hacía que aprender Shell fuese más complejo de lo necesario, había escenarios no cubiertos, etc. Con la llegada de Shell 2.0 se busca mejorar todas estas opciones.

        <Route = "

View original post 1,453 more words

#Podcast – NTN 52 – Sobre MCTs y AliBaba Cloud con Angel Rayo @oyara y Juan Carlos @jc_quijano

Buy Me A Coffee


Hoy tenemos la suerte de hablar con Angel Rayo (@oyara) y Juan Quijano (@jc_quijano) sobre el rol de los MCTs, Microsoft Certified Trainers. Ambos son MCTs y la verdad es que el mundo del training es más que fascinante.

Ahora bien, un extra especial comienza en el minuto 36:00, cuando Angel también nos comenta sus experiencias con Alibaba Cloud. No todo es Azure y AWS, también existen otros players que son la mar interesantes !

Bonus: En el camino un camión derribo los postes con las antenas de internet, hay un par de pérdidas de conexión, exquisitamente editados.

Angel es Technical Lead Expert on Netmind. Juan es Microsoft Certified Trainer, Arquitecto de Soluciones en Azure y Consultor independiente en implantación de DevOps.

Ir a descargar


Happy coding!


El Bruno

Creating a Microsoft Teams Live Events Lobby Screen

Tracy van der Schyff

Here’s a quick tip on creating a “lobby waiting screen” for your #MicrosoftTeams Live Event (webinar).

Voila!  Hope you’re enjoying using Teams Live Events as much as I do 🙂

Moving to the Cloud or stuck somewhere without adoption? Contact me for a FREE 60 minute, Microsoft 365 Immersion Experience.

Disclaimer: I create content about Office / Microsoft 365. Content is accurate at time of publication, however updates and new additions happen daily which could change the accuracy or relevance. Please keep this in mind when using my blogs as guidelines. And yes, I change my mind all the time as well, because “The only thing that is constant, is change”.
My life mission is to “Facilitate the evolution of human capabilities”: Reach out on:Website > LinkedIn > SlideShare > Twitter > Medium > YouTube > MVP Profile > Contact Me

View original post

Improving the Code Quality in .Net and .Net Core projects using NDepends

Juanlu, ElGuerre

Continuando con el análisis de código, la cobertura y los tests como ya viemos en este post (“Runing Tests and Code Coverage without Visual Studio. OpenCover con coverlet y ReportGenerator“), seguiremos profundizando en el “Code Quality”, y conoceremos otra buena herramienta, también extensión de Visual Studio e integración con Azure DevOps, NDepends:

NDepend es la única extensión de Visual Studio que puede decirnos que durante la última hora, el código recién escrito ha introducido una deuda técnica que costaría, por ejemplo, de 30 minutos. Sabiendo esto, podemos arreglar el código, incluso antes de comprometerlo con el control de código fuente.
Con NDepend, las reglas son consultas C# LINQ que se pueden crear y personalizar en cuestión de segundos. Estas consultas contienen fórmulas de C# para calcular estimaciones técnicas de la deuda.
El conjunto de reglas predeterminado ofrece más de cien reglas de código que detectan una amplia…

View original post 784 more words

#Windows10- #WindowsTerminal and Anaconda, bonus: start an Anaconda Virtual Environment

Buy Me A Coffee

Hi !

Windows Terminal (WT) is one of the coolest tools I’ve using in the last couple of years. I’m not an expert, and not even a fan of CLIs, however I assume working with WT is super cool.

Bonus: If you speak Spanish, I shared my own thoughts about this with Juan and Eduard in a podcast episode here.

On top of this, I also use Anaconda a lot. And, now that we can launch and use Anaconda from a PowerShell Prompt, I think I should spend some time trying to figure out how to have Anaconda inside Windows Terminal.

windows terminal new profiles for Anaconda

I will assume that you know the basis of Windows Terminal profiles. As a WT user, we can create as many profiles as we want to have different tools available. This is my starting point to use Anaconda and Windows Terminal.

Note: Check References for Donovan Brown post about working with profiles.

Create a new profile to launch Anaconda in Windows Terminal

Let’s go to Windows Terminal Settings to create a new profile for Anaconda. In order to do this, I’ll copy and paste an existing profile, update the Guid and complete the following values.

  • guid: create and paste a new Guid
  • name: I defaulted this to Anaconda
  • commandline: this is the tricky one. So I’ll describe the steps below.

I browse to [C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)] and view the properties for the [Anaconda PowerShell Prompt]. Then copy the Target value and use the value in the commandline element.

get properties from shortcut for Anaconda Command Prompt

That should be enough to have a new profile to work with Anaconda. When we open a new tab for Anaconda, we can see that it open the standard virtual environment (base).

default anaconda prompt in windows terminal

1st step done, have Anaconda integrated with Windows Terminal !

Start an Anaconda Virtual Environment in a new Windows Terminal Tab

Moving on, I’ll create and activate a new Virtual Environment named [drone], with the following commands.

conda create -n drone pip python=3.7
conda activate drone

Now I have a new environment named [drone], and I want to have a shortcut in Windows Terminal to open a new tab with this VirtualEnv activated. I copy & paste the definition of the Anaconda profile, used a new Guid, and added, the following command to the end of the line:

conda activate drone
virutal env openend in windows terminal

As you can see in the previous image, when I open a new tab for my Drone Virtual Env, I already have it loaded. I also added a [cls] command at the end, so I can start with a clean environment.

Finally, and for reference, this is my current Windows Terminal settings file including the 2 Anaconda profiles.

Happy coding!


El Bruno