Azure Weekly

Your weekly Azure news fix

Azure Weekly is a summary of the week's top news to help you build on the Microsoft Azure Platform.

From AI to Availability Zones, it aims to keep you on top of the latest Azure developments.

Issue 268: 29th March 2020

I hope everyone is safe and well and adjusting to working from home. There has been a lot more going on in the community this week! One of the big themes seems to be that cloud consumption is increasing at a staggering rate, as many organisation have been accelerating their adoptions, or have been executing their business continuity plans and rolling out cloud based infrastructure for their home workers. This increase in demand is causing problems in some regions (the UK being one notable example this week), but some Azure powered services such as Teams are rising to the challenge; it's a testament to some of the underlying technology that these services can scale to meet demand.

On Azure Friday, Kirill Gavrylyuk joins Scott Hanselman to talk about Azure Cosmos DB: Free Tier and Autopilot.

On the Azure blog, there is now a high level walkthrough of Azure SDKs General Availability as of March 2020. As we highlighted last week, this includes the newly GA SDK for Azure Data Lake.

Greg Suttie has provided a walkthrough of Moving an Azure DevOps repo to use Github Actions. We've recently used GitHub to open source a lot of our internal projects here at endjin. With the addition of GitHub actions, we have found that GitHub now meets all of our CI/CD needs!

Along the same lines, this week there was a Channel 9 episode around MLOps CI/CD with GitHub Actions. This is exciting as we can see that Machine Learning is now being treated with the same coding standards as the rest of software development. This is critical in monitoring models as they are trained and developed.

Be safe & stay at home.

Issue 267: 22nd March 2020

It's been quite a quiet week in the Azure community, I suspect as everyone adjusts to working from home. Endjin went fully remote just over two years ago and we know it can be quite an adjustment!

Microsoft have announced this week that the Filesystem SDKs for Azure Data Lake Storage Gen2 now generally available. This is great news for those of us developing with Azure Data Lake Gen2!

There is also a new Deploy to Azure extension for Visual Studio Code, and we've had a bit of a look at the extension for editing ARM templates, which is looking pretty good!

In line with this, Michael Crump has listed the Top 5 Visual Studio Code extensions for Azure Developers.

And, here at endjin, James has written another great blog on Azure Analysis Services – This time on how to process an asynchronous model refresh from .NET.

Issue 266: 15th March 2020

This week, in the Machine Learning space, Ming Zhong has written about Helping Scientists Protect Beluga Whales with Deep Learning. It's a great article, and highlights the many ways in which ML can be used to drive positive change worldwide. Over the past year we have been working with a not-for-profit called OceanMind who are similarly passionate about protecting the world's oceans using the power of technology. I'm excited to see how these technologies can continue to assist in making a global positive change!

Vitor Montalvao has also written a blog around Azure Cost Optimization Best Practices, and, as we highlighted last week, Azure Cosmos DB free tier is now available. Since then there has been various other CosmosDB updates which can be found in the Databases section of this newsletter.

And here at endjin, James Broome has written another great blog on Azure Analysis Services, around How to execute a DAX query from .NET - definitely worth a read!

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!

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 azureweekly@endjin.com