Azure Weekly

Azure Weekly Issue 265: 8th March 2020

There has been a big announcement for CosmosDB this week - Azure Cosmos DB free tier is now available! We love Cosmos DB here at endjin, but have often struggled to justify the high running costs so this is very exciting news! Hopefully this pricing tier might tempt users over from Google FireBase, which offers a similarly compelling free pricing tier.

In the wider community, Bahrudin Hrnjica has written a great walkthrough of building a Predictive Maintenance Model Using ML.NET and Mohit Gupta discusses the Azure Logic Apps integration with Power BI (if you are interested in more Power BI content, why not sign up to Power BI Weekly?).

As I mentioned last week, we have some big news! For the last 9 months we've been working with Microsoft on a new learning resource; inspired by the hugely successful Azure Quickstart Templates GitHub repo, which contains over 850 examples of how to build / deploy solution on Azure using ARM Templates, we've created the Azure CNAB Quickstarts Library. Containers are rapidly becoming not only the building blocks of The Cloud, but also enable those Cloud services to run on-prem and on the edge. Cloud Native Application Bundle is a protocol specifiction created by a number of organisations including Microsoft, Docker, and HashiCorp. Duffle is a tool that has been built to "exercise" the specification. Porter is an opinionated tool, built by Microsoft (via the Deis Labs team) which provides deeper integration into Azure, Helm, Kubernetes, and Terraform via mixins.

At this point, you might be thinking "so what?". We were excited to be part of this project because we saw ourselves as perfect examples of the target audience. When we first started using Azure over a decade ago, we jumped straight onto PaaS services. If that is similar to your journey, then CNAB might sound like a solution in need of a problem. However, many organisations have a journey to the cloud that looks like: physical on-prem, virtualised on-prem, IaaS in the cloud and now containers in the cloud. Much like TypeScript, which seems surplus to requirements until you understand the deficiencies in JavaScript, CNAB is a much needed standard to deal with chaos of different approaches that have emerged from the fast moving, innovative, container ecosystem. There's one futher mindset change required to fully embrace CNAB; and that's the notion that containers aren't just for hosting complex applications or micro-services. You can containerize your entire deployment; the process, the tools and their runtimes. The end result is a Lego-like building block, with strongly-typed parameters.

Now you can build complex applications and micro-services, by layering these building blocks together. That's where the Azure CNAB Quickstarts Library comes in. We wanted to demonstrate the different ways in which you could use CNAB, and in particular Porter, to build deployment packages. We have CNABs that allow you to install commonly used applications like WordPress, Ghost & MatterMost. We built CNABs that deploy SQL Server Always On for AKS and an Apache AirFlow environment. We built CNABs that create a barebones Azure Kubernetes Services, and another that creates a nginx ingress controller, and another that created an OAuth2 Proxy into this barebones AKS cluster, configured with Azure Active Directory. Suddenly we've merged Cloud Native and Azure Native services, in one deployment. My personal favourite CNAB deploys K3S onto an on-prem Raspberry Pi cluster FROM AZURE. Let that sink in for a minute. We also have an example that deploys Dapr onto that Raspberry Pi Cluster.

If any of this is of interest to you, I'd highly recommend the Introduction to Azure CNAB Quickstarts video by Mike Larah, which is a 10 minute overview, containing everything you need to know. I wish something like this existed when we started the project 9 months ago!

To launch the Azure CNAB Quickstarts Library, we publushed a new blog every day this week covering a different aspect. Mike introduces the Azure CNAB Quickstarts Library, he also walks through Setting up Windows Subsystem for Linux WSL 2 for Windows 10 & Docker and Setting up Porter on Windows.

I've also written an An Overview of the Azure CNAB Quickstarts Library and How you can contribute to the Azure CNAB Quickstarts Library. I hope you find these blogs and the Quickstarts Library a useful resource! 

If you happen to be near Oxford in the UK, on Tuesday March 10th, Ian Griffiths, Technical Fellow at endjin, and Author of Programming C# 8.0 (O'Reilly) is talking at the .NET Oxford User Group on the subject of C# 8.0: Nullable Reference in Practice.

Finally, thank you to Greg Suttie for his shout out to Azure Weekly! If you find this newsletter a value resource, please share / blog / tweet about it!

AI + Machine Learning

Covering: Anomaly detector, Azure Bot Service, Azure Machine Learning, Azure Open Datasets, Bing APIs, Cognitive Services, Computer Vision, Content moderator, Custom vision, Data Science Virtual Machines, Face, Form Recogniser, Immersive Reader, Ink Recogniser, Language Understanding (LUIS), Machine Learning Studio, Microsoft Genomics, ML.NET, Personaliser, Project Cortex, QnA Maker, Speaker Recognition, Speech-to-Text, Speech translation, Text Analytics, Text to Speech , Translator Speech, Translator Text


Covering: Apache Spark for HDInsight, Apache Storm for HDInsight, Azure Analysis Services, Azure Data Explorer, Azure Data Share, Azure Databricks, Azure Stream Analytics, Azure Synapse Analytics, Data Catalog, Data Factory, Data Lake Analytics, Event Hubs, HDInsight, .NET for Apache Spark, R Server for HDInsight


Covering: Azure Blockchain Service, Azure Blockchain Tokens, Azure Blockchain Workbench


Covering: Azure CycleCloud, Azure Dedicated Host, Azure Functions, Azure VMware Solution by CloudSimple, Batch, Cloud Services, Linux Virtual Machines, SAP HANA on Azure Large Instances, Service Fabric, Virtual Machines, Virtual Machine Scale Sets


Covering: Azure Kubernetes Service (AKS), Azure Red Hat OpenShift, CNAB, CNCF, Container Instances, Container Registry, Porter, WSL, Web App for Containers


Covering: Azure Cosmos DB, Azure Database for MariaDB, Azure Database for MySQL, Azure Database for PostgreSQL, Azure SQL Database, Azure SQL Database Edge, Azure Cache for Redis, SQL Data Warehouse, SQL Server on virtual machines, SQL Server Stretch Database, Table storage

Developer Tools

Covering: App Configuration, Azure Lab Services, CLIs, Developer tool integrations, SDKs, Visual Studio, Visual Studio Code, Visual Studio Online


Covering: Azure Artifacts, Azure Boards, Azure DevOps, Azure Pipelines, Azure Repos, Azure Test Plans, Azure DevTest Labs, DevOps tool integrations


Covering: Azure Arc, Azure Stack


Covering: Azure Active Directory (AD), Azure Active Directory B2C, Azure Active Directory Domain Services


Covering: Azure API for FHIR, Event Grid, Logic Apps, Service Bus

Internet of Things

Covering: Azure Digital Twins, Azure IoT Central, Azure IoT Edge, Azure IoT Hub, Azure IoT solution accelerators, Azure Maps, Azure Sphere, Azure Time Series Insights, IoT DevKit, WildernessLabs, Windows 10 IoT Core Services

Management and Governance

Covering: Automation, Azure Advisor, Azure Backup, Azure Blueprints, Azure Lighthouse, Azure Managed Applications, Azure mobile app, Azure Monitor, Azure Policy, Azure Resource Manager, Azure Service Health, Azure Site Recovery, Cloud Shell, Cost Management, Microsoft Azure portal, Sceduler


Covering: Azure Media Player, Content Protection, Encoding, Live and On-Demand Streaming, Media Analytics, Media Services, Video Indexer

Mixed Reality

Covering: Kinect DK, Remote rendering, Spatial anchors


Covering: Azure Database Migration Service, Azure Migrate, Data Box


Covering: App Service (Mobile), Mobile apps, Notification Hubs, Visual Studio App Centre, Xamarin


Covering: Application Gateway, Azure Bastion, Azure DNS, Azure ExpressRoute, Azure Firewall, Azure Firewall Manager, Azure Front Door, Azure Internet Analyzer, Azure Private Link, Content Delivery Network, Load Balancer, Network Watcher, Traffic Manager, Virtual Network, Virtual WAN, VPN Gateway, Web Application Firewall


Covering: Azure DDoS Protection, Azure Information Protection, Azure Sentinel, Key Vault, Security Center


Covering: Archive Storage, Avere vFXT for Azure, Azure Data Lake Store, Azure FXT Edge Filer, Azure HPC Cache, Azure NetApp Files, Blob Storage, Disk Storage, File Storage, Managed Disks, Queue Storage, Storage Accounts, Storage Explorer, StorSimple


Covering: API apps, API Management, App Service (Web), Azure Cognitive Search, Azure SignalR Service, Azure Spring Cloud, Web apps

Azure Weekly Archive

If you would like to read more interesting articles from the Azure ecosystem check out our archive where you will find all of the back issues.

Contribute Content

If you would like to contribute any content to the Azure Weekly newsletter, please email