Azure: Laboratorios hands-on Microsoft trainings

El último artículo para finalizar el año que quiero compartir son una serie de prácticas de laboratorios de Azure y Microsoft 365 para aprender paso a paso algunas tareas comunes que se realizan en Azure y que también son útiles para los exámenes de certificación como por ejemplo AZ-104 Azure Administrator.

Los laboratorios o trainings están en ingles y son guiados:

  1. Create a new user in Azure AD
    https://lnkd.in/gm2Qfr5A
  2. Manage Azure AD identities
    https://lnkd.in/gGKN-7eX
  3. Enable SSPR in Azure AD
    https://lnkd.in/ggKKt5NZ
  4. Create a conditional access policy
    https://lnkd.in/gZigbcdQ
  5. Explore Microsoft security score
    https://lnkd.in/gxaarvqK
  6. Use secure score in Microsoft Defender to improve security posture
    https://lnkd.in/gFKnSFX5
  7. Microsoft 365 Defender for Cloud Apps
    https://lnkd.in/gJjFwmpa
  8. Explore the Service Trust Portal
    https://lnkd.in/g-ReCYKw
  9. Explore the Microsoft Purview compliance portal
    https://lnkd.in/gP_-RSck
  10. Explore compliance manager
    https://lnkd.in/gUd6BYaK
  11. Manage subscriptions and RBAC
    https://lnkd.in/g4Jmzu9q
  12. Manage governance via Azure Policy
    https://lnkd.in/gSF6vJPt
  13. Manage Azure resources by using the Azure Portal
    https://lnkd.in/gFAzwgPd
  14. Manage Azure resources by using ARM templates
    https://lnkd.in/g-Xf7Crj
  15. Manage Azure resources by using Azure PowerShell
    https://lnkd.in/gPyDt2zW
  16. Manage Azure resources by using Azure CLI
    https://lnkd.in/gqXTn9fN
  17. Implement virtual networking
    https://lnkd.in/gRb8cbei
  18. Implement inter-site connectivity
    https://lnkd.in/gU9Zt7Dc
  19. Implement traffic management
    https://lnkd.in/geThBtbA
  20. Manage Azure storage
    https://lnkd.in/gdYd7u-4
  21. Manage virtual machines
    https://lnkd.in/gisq2g2e
  22. Implement Azure web apps
    https://lnkd.in/gFs7vJQy
  23. Implement Azure Container Instances
    https://lnkd.in/ghvPHPx9
  24. Implement Azure Kubernetes Service
    https://lnkd.in/gXMa847F
  25. Backup virtual machines
    https://lnkd.in/gJTVUnw8
  26. Implement monitoring
    https://lnkd.in/gcd3hytY

Ampliacion con más laboratorios de Azure publicado en LinkenIN:

📌[Lab] Design and implement a Virtual Network in Azure
https://lnkd.in/gP_DJt9g
📌[Lab] Configure DNS settings in Azure
https://lnkd.in/gXc9WHNs
📌[Lab] Connect two Azure Virtual Networks using global virtual network peering
https://lnkd.in/gNED8Ys6
📌[Lab] Create and configure a virtual network gateway
https://lnkd.in/gHeDVTb8
📌[Lab] Create a Virtual WAN
https://lnkd.in/gfVccCgq
📌[Lab] Configure an ExpressRoute Gateway
https://lnkd.in/gE_q3a53
📌[Lab] Provision an ExpressRoute circuit
https://lnkd.in/gRqQe4gM
📌[Lab] Create and configure an Azure load balancer
https://lnkd.in/g9yKM6jA
📌[Lab] Create a Traffic Manager profile
https://lnkd.in/gpgvT6s3
📌[Lab] Deploy Azure Application Gateway
https://lnkd.in/gShY-UdT
📌[Lab] Create a Front Door for a highly available web application
https://lnkd.in/gtqmxChV
📌[Lab] Configure DDoS Protection on a virtual network
https://lnkd.in/grQb4c9b
📌[Lab] Deploy and configure Azure Firewall
https://lnkd.in/g44ZqJtb
📌[Lab] Secure your virtual hub using Azure Firewall Manager
https://lnkd.in/gbQvqrQp
📌[Lab] Restrict network access to PaaS resources with virtual network service endpoints
https://lnkd.in/gwvNJyc3
📌[Lab] Create an Azure private endpoint using Azure PowerShell
https://lnkd.in/gsReps3K
📌[Lab] Monitor a load balancer resource using Azure Monitor
https://lnkd.in/gj3FCr7s

Feliz Año y nos leemos el próximo!!

Azure: Diseñando Arquitecturas con Landing Zones

Hoy quiero compartir un par de videos muy interesantes para conocer como diseñar soluciones de Azure mediante Landing Zones y trabajar de forma correcta con buenas prácticas en la plataforma de Azure.

¿Que es una Landing Zone?

El concepto de Landing Zone esta definido dentro del marco de Azure en lo se conoce como CAF (Cloud Adoptation Framework) y nos indica los pilares básicos necesarios para diseñar correctamente.

La definición de Microsoft es bastante buena y nos dice: «Una zona de aterrizaje de Azure es la salida de un entorno de Azure con varias suscripciones que tiene en cuenta la escala, seguridad, gobernanza, redes e identidad. Una zona de aterrizaje de Azure permite la migración, modernización e innovación de aplicaciones a escala empresarial en Azure.»

Como diagramas de referencia para landing zones seguro que muchos de vosotros conoceis algunos de los que existen dentro del framework CAF tanto para arquitecturas Enterprise o como otras más pequeñas:

Ref: https://learn.microsoft.com/es-es/azure/cloud-adoption-framework/ready/landing-zone/

Aqui teneis un video oficial de Microsoft Mechanics:

Y este video de John Savill con los conceptos muy bien explicados:

Como siempre, espero que os sea de utilidad.

Azure: Guia y enlaces para Migracion de datos (Database Migration Services)

En este articulo, voy a publicar una recopilación de enlaces que pueden ser utiles para escenarios de migracion de bases de datos a Azure.

Como sabeis, Azure dispone de Azure Database Migration Service para hacer un evaluación y herramientas que podemos utilizar para llevar nuestros datos a la nube según cada tipo de base de datos a migrar como MariaDB, MySQL, SQL Server, Mongo, Oracle y otras.

En general, el proceso de migración de base de datos consiste en las siguientes fases:

  • Analisis de requisitos previos: conectividad, usuarios, permisos, versiones soportadas, etc.
  • Pre Migración: Evaluar la base de datos a migrar mediante algún asistente y haciendo inspección manual que nos indica cada guia según la base de datos.
  • Realizar Migracion: Si todo es correcto y no hay discrepancias o problemas detectados durante la evaluación previa se realiza la migración con la herramienta adecuda para cada base de datos.
  • Post Migración: Validar que todos los son correctos, si tenemos test ejecutarlos para asegurar que los datos se han volcado correctamente. Importante tambien validar el SKU, DTU,etc. de la base de datos en Azure para detectar problemas de rendimiento en funcion de la capa de precios seleccionada.
  • Herramientas: En la documentacion de Azure encontraremos una lista de tooling, pdf, excel, herramientas de comparación de esquemas y datos, otros «assets» para ayudarnos en los procesos de migración que recomienda Microsoft como, por ejemplo: Azure Data Studio.

Lo bueno de tener la lista de enlaces es que nos ahorra tiempo de busqueda a la hora de encontrar todos los pasos y procesos que recomienda Microsoft para cada tipo de base de datos que os comparto aqui.

Migrar Access a Azure

Migrar SQL Server a Azure

Migrar Oracle a Azure

Migrar MariaDB a Azure

Migrar MySQL a Azure

Migrar PostgreSQL a Azure

Migrar desde NoSQL a Azure

Migrar desde DB2 a Azure

Como siempre, espero que os sea de utilidad.

Azure: Centro de Arquitectura para Soluciones DevOps

El articulo de hoy es una recopilación de enlaces que suelo utilizar cuando tengo que montar temas relacionados con practicas y procesos DevOps en diferentes empresas.

Azure Architecture Center es una web donde encontraremos de forma centralizada guías, procedimientos recomendados, buenas prácticas y patrones para diseño de soluciones arquitectónicas en Microsoft Azure para todo tipo de aplicaciones.

Link: https://docs.microsoft.com/es-es/azure/architecture

Recopilacion de Escenarios para Devops

Hay varias arquitecturas y soluciones de ejemplo relacionadas con DevOps que os pueden servir de guia o aceleradores para implementar proyectos sin tener que partir de cero, os comparto la lista:

• Azure DevOps: https://docs.microsoft.com/azure/architecture/example-scenario/apps/devops-dotnet-webapp
• DevOps with containers: https://docs.microsoft.com/azure/architecture/example-scenario/apps/devops-with-aks
• Microservices with AKS and Azure DevOps: https://docs.microsoft.com/azure/architecture/solution-ideas/articles/microservices-with-aks
• Secure DevOps for AKS: https://docs.microsoft.com/azure/architecture/solution-ideas/articles/secure-devops-for-kubernetes
• Azure DevOps CI/CD pipelines for chatbots: https://docs.microsoft.com/es-es/azure/architecture/example-scenario/apps/devops-cicd-chatbot
• CI/CD for Azure VMs: https://docs.microsoft.com/azure/architecture/solution-ideas/articles/cicd-for-azure-vms
• CI/CD for Azure web apps: https://docs.microsoft.com/es-es/azure/architecture/solution-ideas/articles/azure-devops-continuous-integration-and-continuous-deployment-for-azure-web-apps
• CI/CD for containers: https://docs.microsoft.com/azure/architecture/solution-ideas/articles/cicd-for-containers
• Container CI/CD using Jenkins and Kubernetes on AKS: https://docs.microsoft.com/azure/architecture/solution-ideas/articles/container-cicd-using-jenkins-and-kubernetes-on-azure-container-service
• DevSecOps in Azure: https://docs.microsoft.com/azure/architecture/solution-ideas/articles/devsecops-in-azure
• DevTest for IaaS solutions: https://docs.microsoft.com/azure/architecture/solution-ideas/articles/dev-test-iaas

• DevTest for PaaS solutions: https://docs.microsoft.com/azure/architecture/solution-ideas/articles/dev-test-paas
• DevTest for microservices: https://docs.microsoft.com/azure/architecture/solution-ideas/articles/dev-test-microservice
• DevTest Image Factory: https://docs.microsoft.com/es-es/azure/architecture/solution-ideas/articles/dev-test-image-factory
• Immutable infrastructure using Jenkins and Terraform on Azure: https://docs.microsoft.com/azure/architecture/solution-ideas/articles/immutable-infrastructure-cicd-using-jenkins-and-terraform-on-azure-virtual-architecture-overview
• DevOps in a hybrid environment: https://docs.microsoft.com/azure/architecture/solution-ideas/articles/java-cicd-using-jenkins-and-azure-web-apps
• Java CI/CD using Jenkins and Azure web apps: https://docs.microsoft.com/azure/architecture/solution-ideas/articles/java-cicd-using-jenkins-and-azure-web-apps
• Run a Jenkins server on Azure: https://docs.microsoft.com/azure/architecture/example-scenario/apps/jenkins
• SharePoint Farm for testing: https://docs.microsoft.com/azure/architecture/solution-ideas/articles/sharepoint-farm-devtest

Como siempre, espero que os sea de utilidad.

Azure: Application Error en AppService Linux al desplegar aplicaciones Angular12/Node14

El artículo de hoy pretende servir de ayuda para cuando estás desplegando aplicaciones de Angular 12/Node14 en AppService de Linux y aparezca el error siguiente:

Si lleváis poco tiempo trabajando con Azure, unas de las dudas más comunes cuando queremos crear y desplegar aplicaciones web es sobre qué plan Windows o Linux debemos elegir, incluso buscando por Google encontrareis las 2 opciones, lo cual crea confusión sobre cuál de ellos configurar para desplegar nuestra aplicación web.

Para que tengais contexto de todo esto, al principio los AppServices solo estaban disponibles con planes Windows sobre un IIS que administra directamente el servicio PaaS y Microsoft tuvo que implementar un módulo de Node para IIS para ejecutar aplicaciones que no fueran del ecosistema .NET, por eso, encontrareis artículos donde os explican que se debe configurar y desplegar un archivo web.config con el módulo de iisnode y definiendo rutas para servir la web.

La verdad es que este modelo de despliegue ya no es recomendado, si visitáis el repo de GitHub veréis que han pasado varios años y apenas se mantiene.

Creando Aplicación Angular HelloWorld

Primero, creamos una aplicación básica de Angular 12 (yo tengo instalada la versión de Node 14.17.6) con el comando: «ng new angular-hello», la compilamos con «ng build» y ejecutamos «ng serve» en local para comprobar que funciona:

Creando AppService de Linux

El siguiente paso, desde el Portal de Azure creamos un AppService de Linux con un plan Basico B1 indicando el Stack de Node y la version 14 (seguir cualquier tutorial MS) que nos termina dejando la siguiente configuración como podemos ver aquí:

Desplegando Angular en AppService de Linux

La parte del deploy, tenemos muchas opciones, yo utilizo VSCode con la extensión de Azure AppService y la opción «Deploy to WebApp…» para esta prueba, pero hay varias formas de realizarlo como podéis comprobar en esta lista de tutoriales que os comparto:

Enlace: https://code.visualstudio.com/docs/azure/deployment

El objetivo al final es desplegar la carpeta dist de nuestra Angular HelloWorld en AppService de Linux y verificar que se produce el Application Error.

Solucionando el Application Error

Ya hemos realizado el deploy, validamos que aparece el error al ejecutar nuestra aplicación Angular HelloWorld.

La imagen tiene un atributo ALT vacío; su nombre de archivo es appservice-angular-application-error.jpg

Para solucionarlo os comparto 2 métodos que he tenido que utilizar en algunos proyectos, ya que, dependiendo de la versión de Angular y el Stack del AppService Node10, 12, 14, etc. (recordar que es un servicio PaaS y Microsoft lo va evolucionando con el tiempo) puede ser que a veces alguno de ellos no funcione y tengais que usar el otro.

Debemos indicar una de estas opciones en la configuración de Startup command:

  1. pm2 serve /home/site/wwwroot –no-daemon –spa
  2. npx serve -s

Os comparto captura para saber donde tenéis que introducirlo, no olvidaros de pulsar el boton «save» para que guarde los cambios 🙂

Si con esto no funciona, puede ser que existen otros problemas relacionados con vuestra build/deploy, y las opciones de configuracion del AppServices, tendréis que examinar Logs stream y revisar desde Appservice Kudu el despliegue realizado y entrar en la carpeta de wwwroot para validar que esta todo correcto,accediendo desde el Portal de Azure, url del navegador o por Bash:

Importante: En las opciones de configuración de Application Settings tenéis que indicar esta variable de entorno SCM_DO_BUILD_DURING_DEPLOYMENT = false, ya que, la build para generar vuestra carpeta dist la realizas de forma local o desde Azure Devops.

Como siempre, espero que os sirva de utilidad!!

Azure: Soluciones Load balancing y como usar help me choose en portal de Azure

A la hora de evaluar las diferentes soluciones en Azure para balanceo de carga siempre podemos encontrarnos muchos escenarios diferentes y por ello a veces es tedioso mirar todas las alternativas o combinaciones posibles, para ello en Azure disponemos de un nuevo asistente de ayuda que os quiero compartir en este articulo.

Primero comentar los 4 servicios que ofrece Azure y tenéis que conocerlos mínimamente para diferenciar entre servicios regionales/globales y tipos de balanceos de tráfico (información de referencia de Microsoft):

  • Azure Front Door, es un balanceador global basado en HTTP/HTTPS, también se define como un ADN (Application Delivery Network) con diversas funcionalidades y seguridad para aplicaciones y sitios web.
  • Azure Traffic Manager es un balanceador global basado en DNS que permite distribuir el tráfico a las aplicaciones orientadas al público en las regiones globales de Azure.
  • Azure Application Gateway es un balanceador regional basado en HTTP/HTTPS, con diversas funcionalidades de balanceo de carga y seguridad para aplicaciones basadas en web.
  • Azure Load Balancer es un servicio regional de balanceo de carga para protocolos UDP y TCP (capa 4 modelo OSI) con latencia muy baja y alto rendimiento entrante y saliente.

Es esta diagrama podéis ver las diferentes recomendaciones que podemos encontrar:

Nota: Recordar, al final todo dependerá de vuestro escenario real en producción y el tipo de aplicaciones/servicios que estáis implementando, integrando o modernizando en vuestros entornos, ya sean cloud o datacenters propios.

Load balancing – help me choose (Preview)

Dentro del Azure Portal, encontramos una nueva funcionalidad que nos ayuda a tomar la decisión sobre el tipo de balanceador, podéis buscarlo en la barra de recursos o desde esta url: LoadBalancingHubMenuBlade/overview

En la pestaña de Service comparison, encontramos una comparativa detallada de cada servicio, muy útil, para tener una visión de cada uno de ellos.

A partir de aquí, se trata de seguir los pasos del asistente para determinar la mejor opción, en mi caso, publicar una aplicación web con HTTPS accesible desde Internet.

Como siempre, espero que os sea de utilidad!!

Azure: Que es AIOps y como funciona dentro de Azure

Aunque pensáis que es algo nuevo, en realidad AIOps se lleva utilizando varios años en muchas plataformas de virtualización y nube, en el caso concreto de Azure, Microsoft dispone de equipos especiales de AIOps que colaboran y trabajan junto con otros equipos de investigación de Microsoft que desarrollan soluciones de IA para la gestión y operación de los servicios de la nube.

Según Gartner, una definición de AIOps es esta:

«Put simply, AIOps is the application of machine learning (ML) and data science to IT operations problems. AIOps platforms combine big data and ML functionality to enhance and partially replace all primary IT operations functions, including availability and performance monitoring, event correlation and analysis, and IT service management and automation.»

Ref: https://www.gartner.com/smarterwithgartner/how-to-get-started-with-aiops

Para verlo desde un punto de vista más global os comparto este diagrama:

Y este otro de Microsoft:

Desde un punto de vista técnico, aplicando toda la potencia de ML con la recolección de datos y métricas de los servicios de Azure, se puede por ejemplo, identificar problemas y predecir que ocurrirá en el futuro, como:

  • Predicción de fallos de hardware, memoria, discos, red.
  • Gestión de incidentes y resolución de problemas
  • Detección y supervisión de anomalías
  • Sistema de recomendaciones inteligente
  • Separar alertas de eventos importantes de alertas de ruido

Video AIOps en Azure

Para ampliar en que consiste AIOps y que valor aporta a las empresas, os comparto este video de Microsoft: Enhance performance with AIOps in Azure

Azure Monitor AIOps

Un caso concreto de uso, lo observamos en el servicio de Azure Monitor AIOps con alertas y reconocimiento inteligente de patrones de métricas que podéis leer aquí: Announcing Azure Monitor AIOps Alerts with Dynamic Thresholds

Para resumirlo: Se trata de aplicar IA con ML en los servicios y recursos de Azure para mejorar las operaciones y que toda la plataforma se vuelva más eficiente.

Como siempre espero que sea de utilidad.

Azure: Metrics Advisor supervisar y detectar anomalias con IA de Cognitive Services

 

 

Este nuevo servicio de Azure Metrics Advisor (en preview) utiliza Machine Learning con IA para monitorizar y supervisar anomalías recopilando datos desde varias fuentes para anticiparse a los incidentes sin necesidad de tener experiencia en modelos de aprendizaje automático nos permite detectar automáticamente anomalías, problemas, enviar alertas y obtener información de diagnóstico para analizar la causa raíz del incidente.

thumbnail image 2 of blog post titled 
	
	
	 
	
	
	
				
		
			
				
						
							Introducing Metrics Advisor - A new Cognitive Service

Como indica Microsoft los casos de uso mas comunes son:

  • Analizar los datos multidimensionales de varios orígenes de datos
  • Identificar y correlacionar las anomalías
  • Configurar y ajustar el modelo de detección de anomalías usado en los datos
  • Diagnosticar las anomalías y ayudar con el análisis de la causa principal.

 

Creación del servicio

La creación del servicio que actualmente solo ofrece pocas regiones y una capa de precios gratuita S0 de 10K es como cualquier otro y lo podemos configurar directamente desde el portal de Azure.

Una vez creado, nos llevará al portal web https://metricsadvisor.azurewebsites.net donde organizar los datos y gestionar todas las métricas para nuestra organización seleccionando la suscripción y el workspace del paso anterior.

 

Una vez dentro del portal web https://metricsadvisor.azurewebsites.net tenemos que realizar el onboarding para configurar los servicios de Azure que vamos a incluir.

Por ultimo, una vez tengamos todo configurado correctamente podemos consultar los diferentes paneles y diagramas informativos como se muestra en este imagen de ejemplo.

Nota: esta ultima imagen pertenece a la documentación de Microsoft

Recordar que es un servicio en preview y no esta recomendado para producción.

 

Azure: Configurando SonarQube en Azure Container Instances (ACI) para evaluar calidad del código fuente

Hoy quiero comentar un caso de uso que suelo utilizar para evaluar y medir de forma rápida la calidad del código fuente de proyectos sin necesidad de montar un servidor centralizado de SonarQube y tener que administrarlo.

Antes de nada, una aclaración, este escenario que explico no es válido para entornos de producción, ya que, si por algún motivo detenemos o reiniciamos el contenedor perderemos toda la información guardada de los proyectos de SonarQube, en este contexto, estamos ejecutando un contenedor donde no usamos ningún tipo de persistencia de la información en volúmenes o BBDD.

Se trata de utilizar el servicio Azure Container Instances (ACI) para desplegar un contenedor de SonarQube en apenas 3 minutos donde subir el análisis y reporting del código fuente para tener feedback rápido de la deuda técnica que podemos encontrar generalmente en proyectos legacy o de terceros que tenemos que mantener o evolucionar en clientes.

Para ello, utilizaremos la consola con AZ CLI y los siguientes comandos para crear un recurso ACI con 2 CPUs y 4 MB:


$ RG=rg-SonarQubeDemo-ne
$ LOCATION=northeurope
$ ACI_NAME=aci-sonarqube
$ SONARQUBE_IMAGE=sonarqube 
$ SONARQUBE_PORT=9000
$ SONARQUBE_FQDN=santi-sonarprueba 
$ az group create --name $RG --location $LOCATION
$ az container create --resource-group $RG 
--name $ACI_NAME --cpu 2 --memory 4
--image $SONARQUBE_IMAGE --ports $SONARQUBE_PORT --dns-name-label $SONARQUBE_FQDN
- Running ..

Esperamos un minuto que se publique el contenedor de SonarQube en el servicio ACI y ya lo tenemos funcionando, veremos el mensaje de Running… y la respuesta al finalizar el proceso.

Si ahora en Azure Portal buscamos el grupo de recursos rg-SonarQubeDemo-ne veremos el servicio aci-sonarqube que hemos creado, si entramos dentro del recurso, podemos visualizar su descripción general con la información de su IP publica y FQDN que podéis ver en la captura.

Para visitar nuestro SonarQube, podemos abrirlo directamente desde un navegador en la ruta: http://santi-sonarprueba.northeurope.azurecontainer.io:9000

 

Para acceder, hacemos Login con el usuario y password: admin y admin que viene configurado por defecto que no permitirá entrar en la interfaz para crear y configurar proyectos en SonarQube.

Si queremos analizar un proyecto típico de .NET y C#, simplemente en el apartado de Projects, creamos uno nuevo siguiendo los pasos, le damos el nombre santi-demo, generamos el token y elegimos el código fuente donde nos dará las instrucciones que tenemos que ejecutar en nuestro entorno local para ejecutar el análisis con el SonarScanner y tener las métricas disponibles en SonarQube.

Encontrareis toda la información detallada aquí: SonarScanner for MSBuild

Hemos visto lo fácil y rápido que podemos disponer de un entorno SonarQube operativo para nuestras pruebas de calidad de código.

Como siempre, espero que os sea de utilidad para vuestros proyectos.

 

Azure: Architecture Best Practices Cloud Solutions Video

Hoy quiero compartir este video realizado hace pocos días por Dominik Zemp (Microsoft Cloud Solution Architect) y Thomas Maurer (Microsoft Senior Cloud Advocate) donde conoceremos de primera mano las guías y mejores prácticas recomendadas para nuestras soluciones de arquitectura en Azure.

La agenda del video la tenéis aquí:

  • Introduction
  • Why Azure Architecture?
  • Introduction to the Cloud Adoption Framework
  • What is Enterprise-Scale?
    • Build landing zones with Enterprise-Scale
    • Critical design areas
    • Deployment using AzOps
    • Demo
  • Build on top of Enterprise-Scale – Well-Architected Framework for workloads and apps
  • Q&A

El video esta publicado en Youtube:

Este contenido es válido si estáis preparando las certificaciones de Azure.

También como referencia se comparten todos estos links:

Que los disfrutéis!!