Azure Weekly
Issue #256 - 5th January 2020
Happy New Year to everyone, and welcome to the first edition of Azure Weekly in 2020! I'm still slightly shocked that this year will mark the 6th anniversary of this newsletter, and also endjin's 10th birthday. Time flies when you're having fun!
2019 felt, on the whole, like a stabilising year in the Azure ecosystem; there were a few big game changing announcements (Synapse being the big one IMHO), but mainly it felt like services were being refined & matured, SDK's expanded with idiomatic support for multiple popular languages, better Azure AD support was rolled out across many core services, and lots of developer productivity improvements were made. It was also the start of the third wave; a container-based reboot of Azure where services can be run in the cloud, on prem, on "the edge" (i.e. IoT devices), on local development machines or other cloud platforms. This is, of course, a quite complex strategy, and Azure Arc is a management wrapper around this approach.
There is no doubt that containers are going to play a significant part in the future, but I'm really hoping that they just become an implementation detail and enable higher level PaaS & Serverless models, rather than becoming the new IaaS; no-one wants to manage K8 clusters; modern organisations need more derive more value rather than perpetuating old models with new tech.
.NET Core 3.x is another landmark from 2019; this one felt like it was coming for ages; a mature & stable cross-platform release with many performance and productivity optimisations, and the final milestone before the one true unified, game changing .NET 5.x. I had the privilidge of being a tech reviewer for Ian Griffiths' Programming C# 8.0 Book for O'Reilly and we put some of the new zero allocation memory features to good use in the platform we delivered for OceanMind; we replaced a OSS IoT protocol decoder with a custom build C# Span<T> version - message processing went from several thousand to several million per second, which allowed us to migrate this compute from an always-on cluster into an Azure Function, saving tens of thousands of pounds per month in compute costs. .NET Core 3.x + Azure is an incredibly powerful combination. .NET Core deserves more love than it gets.
I'm personally very excited by Dapr, which feels like a distillation of the best ideas from Service Fabric (a very underrated and underappreciated stack), and Azure Functions, integrated with the OSS technologies that have gained traction (containers, gRPC etc), to deliver polyglot microservices. Again, this will really come into its own if it is offered via a serverless model on Azure. The last thing we did before the festive break was get Dapr running on a 4 node Raspberry Pi cluster, and it worked like a charm. Along with Dapr, The Open Application Model (OAM), Cloud Native Application Bundles (CNAB) and Porter are technologies worth keeping an eye on - more on these last two in the upcoming weeks.
Also in 2019, we span out all the Power BI content into a new Power BI Weekly newsletter, curated by Ed Freeman (who also happened to win "Cloud Apprentice of the Year" at the National Computing Awards), and we decided to publish the newsletter content to their own websites: https://azureweekly.info/ & https://powerbiweekly.info/ so people could subscribe via RSS as an alternative to a weekly email.
This issue is a festive bumper edition this week, so allocate a little more time to digest the backlog from our break.
Not many announcments since the last newsletter. There's now Better performance with bursting enhancement on Azure Disks, there are some New enhancements for Azure IoT Edge automatic deployments, and some New features in Azure Monitor Metrics Explorer based on your feedback.
In the last newsletter, we highlighted a number of submissions for the Azure Advent Calendar. In case you missed it, Carmel wrote/presented a wonderful piece on Building a secure data solution using Azure Data Lake Store Gen2 - do check it out. Elsewhere, towards the end of December, Ari Bornstein described Getting Started With AzureML Notebook VMs and Michael Coutanche wrote about the The power of Azure Lighthouse.
⚙️ AI + Machine Learning
- On Channel 9, Seth Juarez (@sethjuarez) describes how to Save costs training on AMLCompute with Nishank Gupta and talks about Global AI Bootcamp Keynote with Eric Boyd
- Also on Channel 9, Scott Hanselman (@shanselman) provides An introduction to Azure FarmBeats at Microsoft Ignite 2019 with Ranveer Chandra
- The Azure updates team highlights the Azure Cognitive Speech Services meter ID changes
- On Code Project, Eduard Keilholz (@ed_dotnet) provides an Azure Cognitive Services 101
- On the DEV site, Ari Bornstein (@pythiccoder) walks through Getting Started With AzureML Notebook VMs
- Also on the DEV site, Sandra Ahlgrimm explains how to Learn to automatically analyze your images using AI services to find keywords, title and other useful metadata
🔎 Analytics
- James Serra (@JamesSerra) talks about Azure Synapse Analytics & Power BI concurrency
- The Azure updates team writes that Data Factory Expands Data Flow Parameterization Capabilities
- On the Azure blog, Krishna Mamidipaka (@BrandKrishna) writes that Microsoft is a leader in The Forrester Wave: Streaming Analytics, Q3 2019
- On Channel 9, Donovan Brown (@DonovanBrown) talks about How to share data in place from Azure Data Explorer with Joanna Podgoetsky
- Jen Stirrup (@jenstirrup) talks about Moving from Business Intelligence to Analytics
- On the Azure podcast, The Azure podcast team (@AzurePodcast) presents Episode 308 - Azure Data Share with Jie Feng
- Adam Marczak (@MarczakIO) describes Azure Databricks Secret Scopes
- Anupama Natarajan (@shantha05) writes a few blogs: Data Platform Tips 35 - Azure Data Explorer vs. Azure Stream Analytics, Data Platform Tips 36 - Provisioning Azure Data Explorer Service and Data Platform Tips 37 - Ingesting data into Azure Data Explorer
🖥️ Compute
- Tobias Zimmergren (@zimmergren) discusses Issues with "Cannot bind parameter 'log' to type ILogger." after upgrading Azure Functions to v3
- Gunnar Peipman (@gpeipman) describes Using CSOM from Azure Functions
- On the Premier Developer blog, Kurt Schenk describes how to Run Powerful Interactive Analytics Queries against Azure Service Fabric's Internal Traces and Diagnostic Data
- Adam Marczak (@MarczakIO) provides an Azure Virtual Machine Introduction
- Thuan Nguyen shares a number of blogs: Azure ARM Template for VM Creation with AAD Sign-in, Query your virtual machine with Azure Resource Graph, Deploy a healthy development Windows virtual machine and Azure Disk Encryption ARM template for Windows VM
- Charbel Nemnom (@charbelnemnom) describes How To Set Dynamic MAC Address On a Hyper-V VM With PowerShell
- The Azure updates team writes that the Serial console for Azure Virtual Machines now available in US Government Cloud
- Yung Chou (@yungchou) writes about Azure, Ubuntu, and LVM on Encrypted Disks
- Travis Roberts (@Ciraltos) presents New! Azure Spot Virtual Machine
- On the Azure blog, Boris Baryshnikov (@BorisB2015) blogs about Connecting Microsoft Azure and Oracle Cloud in the UK and Canada
- On the Azure podcast, The Azure podcast team (@AzurePodcast) presents Episode 309 - Azure at Scale with Paulo Renato
🚢 Containers
- On the MSSQL Tips site, Carlos Robles (@dbamastery) explains how to Connect to and Monitor SQL Server Azure Container Instances ACI
- Scott Hanselman (@shanselman) covers Moving an ASP.NET Core from Azure App Service on Windows to Linux by testing in WSL and Docker first
- Thomas Maurer (@thomasmaurer) describes How to Install WSL 2 on Windows 10 on ARM
- The Azure updates team highlights the Azure Red Hat OpenShift region expansion
- Monu Bambroo writes about Monitoring Applications inside AKS with Prometheus and Azure Monitor
- On the DEV site, Abhishek Gupta (@abhi_tweeter) explains How to access your Kubernetes applications using Services
- Roy Kim (@roykimyyz) discusses Planning Essentials for an Azure Kubernetes Cluster – Part 1 and Part 2
- On Stackify Blog, Christian Melendez (@Christianhxc) talks about Azure Container Service (AKS) – A Detailed Intro
- Dave Rendón contributes to Azure Advent Calendar 2019: Docker on Azure
- Daniel Neumann (@neumanndaniel) describes how to Secure Kubernetes API server access in Azure Kubernetes Service and walks through Using Octant as alternative Kubernetes dashboard for Azure Kubernetes Service
- Simon J.K. Pedersen (@simped) covers Running a Minecraft server on Azure using ACI
- Michael Crump (@mbcrump) posts Tip 238 - Secure traffic between pods using network policies in Azure Kubernetes Service AKS
🗄️ Databases
- On the MSSQL Tips site, John Miner (@JohnMiner3) talks about Going Serverless with Azure SQL Database
- Radu Vunvulea (@RaduVunvulea) explains How to migrate an Azure Cosmos DB instance
- The Azure updates team highlights the Azure SQL Database managed instance meter PITRs name changes, highlights that Azure SQL Database Gen 4 hardware approaching end of life in 2020 and writes that Service-aided subnet configuration for managed instance in Azure SQL Database is now available
- On the Azure SQL Database blog, Jeroen ter Heerdt (@jeroenterheerdt) writes about the New Data Exposed episode: It's just SQL: Collations in Azure SQL Database Managed Instance
- On Channel 9, Dr. Rony Chatterjee (@ArijitRony) introduces SandDance: Data Visualization in Azure Data Studio and presents What is SandDance with Steven Drucker
- On the Premier Developer blog, Daniel Taylor (@DBABullDog) provides a DBA's thoughts about monitoring SQL Server in Azure
- Anupama Natarajan (@shantha05) writes a few blogs Data Platform Tips 24 - Azure SQL Database Elastic Query, Data Platform Tips 25 - Azure Elastic Jobs, Data Platform Tips 26 - SQL Data Sync with Azure Databases, Data Platform Tips 27 - SQL Data Sync with On-premises Database and Data Platform Tips 34 - Manage firewall settings in Azure SQL Database
- On the Journey to SQL Authorityblog, Pinal Dave (@pinaldave) covers SQL SERVER – SQL Azure Managed Instance Restore Error – The Database Was Backed Up on a Server Running Version 15.00.2000
- On the Azure SQL Database blog, Mladen Andzic explains how to Integrate Microsoft cloud services with your Azure SQL Database managed instance
- Also on the Azure SQL Database blog, Danimir Ljepava (@danimir) blogs about Monitoring options available for Azure SQL Database Managed Instance
🛠️ Developer Tools
- Steve Buchanan (@buchatech) blogs about Master Azure with VS Code
- Oscar Garcia (@ozkary) talks about Azure Machine Learning with Visual Studio Code
- The Azure updates team writes that Csharp and Java SDKs for IoT Plug and Play are now in Preview
- On the DEV site, Brian Clark (@_clarkio) provides the VS Code November 2019 Release Highlights Video
- Also on the DEV site, Dave Glover (@dglover) explains how to Create a Secure Azure Sphere App using the Grove Shield Sensor Kit
- On the Visual Studio blog, Jordan Matthiesen (@JMatthiesen) writes Achievement Unlocked: Visual Studio for Mac ASP.NET Core Challenge Completed
- Roy Kim (@roykimyyz) writes about ARM Templates Fundamentals: My Development Tools and My Development Workflow
- On the Azure Developer Community Blog, Morgan Mitchell (@livelovegeek) writes The DevDecember Weekly Roundup: Week 1, Week 2, Week 3 and Week 4
- Tobias Zimmergren (@zimmergren) describes how to Use the new Azure SDKs with Managed Identities and writes about Fixing: Unable to locate the .NET Core SDK. Check that it is installed and that the version specified in global.json if any matches the installed version.
- On the Azure blog, Michael Crump (@mbcrump) provides some Tips for learning Azure in the new year
- Thomas Maurer (@thomasmaurer) describes How to Learn Microsoft Azure in 2020
- On Microsoft Cloud Blogs, the Quantum Team walks through Developing a quantum-ready global workforce
- Gregor Suttie (@gregor_suttie) highlights the new Azure Resource GitHub Repository
- Also on the Azure Developer Community Blog, Stephane Eyskens (@stephaneeyskens) updates The Azure Solution Architect Map, The Azure Security Architect Map, The Azure Infrastructure Architect Map, The Cloud-native Azure Application Architect Map and The AKS Architecture Map
🔩 DevOps
- Jeffrey Palermo (@jeffreypalermo) talks with Elton Stoneman on Docker in a DevOps World — Episode 67 and talks with Sudhanva Huruli on the Open Application Model - Episode 68
- On the Daily Dot Net Tips blog, Abhijit Jana (@AbhijitJana) walks through Turning Azure DevOps Service On or Off and explains how to Create and Deploy your Python Django App using Azure DevOps Project
- Scott Hanselman (@shanselman) describes Setting up Azure DevOps CI/CD for a .NET Core 3.1 Web App hosted in Azure App Service for Linux
- Adam Bertram (@adbertram) describes How to Build an Azure Pipeline (Build/Release) from Scratch
- The Azure updates team writes about Azure DevOps—Create a dashboard without a team
- On the Black Marble blog, Richard Fennell (@richardfennell) provides A technique for porting PowerShell based Azure DevOps Extensions to Node so they can be run cross-platform without a complete re-write
- On the DEV site, Aaron Powell (@slace) discusses Implementing GitHub Actions for an Azure Static Website
- On the Microsoft DevOps blog, Sasha Rosenbaum (@DivineOps) lists the Top Stories from the Microsoft DevOps Community – 2019.12.13, writes about the DeliveryConf 2020 and lists the Top Stories from the Microsoft DevOps Community – 2019.12.20
- Justin Yoo (@justinchronicle) writes about Building Clearly Bounded CI/CD Pipelines with GitHub Actions
- Gunnar Peipman (@gpeipman) describes how to Copy production database to staging on Azure DevOps
🎭 Identity
- Roelf Zomerman writes about B2B Users & Internal apps
- The Azure updates team highlights the Azure Active Directory Domain Services meter name changes
- On the Azure blog, Mark Russinovich (@markrussinovich) describes Advancing Azure Active Directory availability
- Nicolas Bonnet (@nico_bonnet) discusses Azure PIM
- On the Azure Developer Community Blog, Andreas Helland writes a Post-GA Revisit of "Sign In with Apple" for Azure AD B2C
- Thuan Nguyen provides A few ways to acquire Azure access token with scripting languages
- Roelf Zomerman talks about F5 – Allowing AAD Guests Kerberos Access
- Joonas Westlin (@JoonasWestlin) writes about Testing Azure AD-protected APIs, part 3: Automated integration tests
🔌 Integration
- On the MSSQL Tips site, Koen Verbeeck (@Ko_Ver) describes How To Call Logic App Synchronously From Azure Data Factory
- Henry Been (@henry_been) contributes to the Azure Advent Calendar 2019 – Azure Logic Apps (again)
- On the DEV site, Michael Crump (@mbcrump) explains how to Add and run JavaScript code snippets by using inline code in Azure Logic Apps
- On the Serverless360 blog, Balasubramaniam Murugesan writes about Azure Logic App Triggers
- Also on the Serverless360 blog, Kent Weare (@wearsy) describes how to Use Webhooks for Async HTTP Messaging in Azure Logic Apps
- Stefan Roth (@stefanroth_net) covers Logic Apps – Build Your Own Azure Cleanup Workflow
- On the Tallan blog, John Friedman writes about Integrating Cloud Services: Azure Service Bus
- On Channel 9, Cecil Phillip (@cecilphillip) talks about Azure Service Bus from the ground up with Ashish Chhabria
- Sean Feldman (@sfeldman) discusses Understanding Azure Service Bus Prefetch and writes about the Azure Events Wishlist
- On the Premier Developer blog, Pete Fuenfhausen (@fivehouses) talks about Microsoft Teams – What's in it for Developers, Part 2
💡 Internet of Things
- On the Azure blog, Chris Green (@ChrisGTech) writes about New enhancements for Azure IoT Edge automatic deployments
- The Azure updates team highlights IoT devices and applications to only use TLS 1.2 for communication with IoT Hub and DPS and writes that Azure IOT Central meter IDs will change on February 3, 2020
- On the IoT Dev blog, Renlong Tu provides a Standalone Azure IoT EdgeHub Dev Tool (iotedgehubdev) Introduction
- On Channel 9, Olivier Bloch (@obloch) talks about the Device Authority Keyscaler integration with IoT Hub and DPS for PKI/Cert management with James Penney, talks about the Power BI integration with Time Series Insights with Deepak Palled and talks about The Intelligent Edge by Microsoft with Paul de Carlo
⚖️ Management and Governance
- On the Azure blog, Karanmeet Singh with Nikhil Jethava writes about Azure Lighthouse: The managed service provider perspective
- On the TechKB blog, Michael Coutanche (@mum3LE5) blogs about The power of Azure Lighthouse
- On the Azure blog, Vitaly Gorbenko writes about the New features in Azure Monitor Metrics Explorer based on your feedback
- The Azure updates team shares a few updates: Azure Monitor for VMs now stores data in dedicated data types, Improvements to Azure Monitor for containers could impact your queries, Azure Backup resource group for virtual machines, Azure Service Map now stores data in dedicated data types and Azure Australia Central Region Changes
- David O'Brien (@david_obrien) describes Installing Azure AppInsights Extension
- On Channel 9, Abel Wang (@AbelSquidHead) talks about the Terraform State File – Secure and scale your deployments with April Edwards
- On the Codit blog, Toon Vanhoutte (@ToonVanhoutte) describes how to Control your Azure costs through budget alerts
- Peter Rombouts (@prombouts) writes about Infrastructure-as-Code with Pulumi
⚙️ Microsoft Azure Stack
- Thomas Maurer (@thomasmaurer) shares a Video Microsoft Ignite Live 2019 – Azure Stack HCI
🚌 Migration
- The Azure updates team writes that Azure Data Box Disk is now available in East Asia and highlights that Azure Migrate now supports assessment of physical servers
📱 Mobile
- On Channel 9, James Montemagno (@JamesMontemagno) talks about Best Practices - Async / Await in Mobile Development with Dean Faizel
🌐 Networking
- Adam Marczak (@MarczakIO) provides an Azure Traffic Manager Introduction
- The Azure updates team writes that Azure Bastion now generally available in East US 2 and West US 2
- Sameera Perera (@sameera_man) talks about the Azure Bastion Service–End User Experience
🔐 Security
- Thuan Nguyen writes a number of articles Connect Azure Security Center to Azure Sentinel programatically, Audit your Azure Security Center in your tenant, Extract all Azure Sentinel incidents, Azure Security Center ARM Template, Deploy Azure Security Center Blueprint, Azure Sentinel ARM Template, Security Monitoring and Detection Tips for your Storage Account – Part 3 and Security Monitoring and Detection Tips for your Storage Account – Part 4
- On the DEV site, Jennifer Davis (@sigje) talks about Examining Security with Azure
- Tobias Zimmergren & Jussi Roine (@CtrlAltAzure) writes about Episode 9 with Tiago Costa - Thinking about remote access options for VMs and present Episode 10 - Thoughts about Azure Security Center essentials
- Tobias Zimmergren (@zimmergren) discusses Azure Functions and secure Configuration with built-in integration to Azure Key Vault and explains how to Embrace a Security Development Lifecycle SDL for Azure
- On the Microsoft Cloud IT Pro Podcast, Ben Stegink and Scott Hoag (@msclouditpro) present Episode 158 – What are security defaults?
📦 Storage
- On the endjin blog, Carmel Eve (@Carmel_Eve) contributes to the Azure Advent Calendar – Building a secure data solution using Azure Data Lake Store Gen2
- Adam Marczak (@MarczakIO) provides an Azure Data Lake Storage Gen 2 Introduction
- Anupama Natarajan (@shantha05) writes a number of blogs: Data Platform Tips 28 - Azure Data Lake Storage Gen 2, Data Platform Tips 29 - Integrate Azure Data Lake Storage Gen 2 with Power BI, Data Platform Tips 30 - Integrate Azure Data Lake Storage Gen2 with Azure Databricks using Spark, Data Platform Tips 31 - Azure Data Lake Storage Gen2 and Azure Data Factory v2, Data Platform Tips 32 - Azure Data Lake Storage Gen2 and Azure Stream Analytics and Data Platform Tips 33 - Azure Storage Explorer
- June Castillote (@junecastillote) explains How to Generate an Azure SAS Token to Access Storage Accounts, describes How To Manage Files Between Local And Azure Storage With AZCopy and describes How to Download and Install the AZCopy Tool
- On the Check your Logs blog, Rick Vanover (@RickVanover) talks about Storage Account Enhancements with Azure Disk Bursting
- On the Azure blog, Yuemin Lu writes about Better performance with bursting enhancement on Azure Disks
- Charbel Nemnom (@charbelnemnom) explains How To Automate File Restore From Azure File Share Snapshot
🔗 Web
- The Azure updates team writes that Azure Search meter names will change on February 1, 2020
- On the DEV site, Julien Dubois (@juliendubois) walks through Using Logz.io to make logging Spring Boot Applications easier and faster
💻 Windows Virtual Desktop
- Roelf Zomerman blogs about the Windows Virtual Desktop
- Christiaan Brinkhoff (@Brinkhoff_C) describes how to Learn To Accelerate your RDS and VDI migration to Windows Virtual Desktop, contributes to the Azure Advent Calendar 2019: Windows Virtual Desktop and Azure Migrate. Listed on the last Christmas Day. and asks Want to learn Windows Virtual Desktop? Here are some good resources for a good (kick)start in 2020