Microsoft Azure MVP, Speaker, Author, Trainer, and .Net Developer
Waterloo, Iowa, United States
Brian is a Microsoft Azure MVP and is an experienced speaker, author, trainer, and .NET developer with MCSA: Web App Certification, MCSD: App Builder, and eleven Azure certifications including Azure Developer, Administrator, DevOps, Architect, Data Administrator, Security, IoT, CosmosDB, and a number of Fundamentals certifications, and has been an MCT since April of 2018. Brian has a masters of science degree in computer information systems, and a bachelor of science degree in computer science. Additionally, Brian has around fifteen years of experience instructing college courses online in computer science, SQL databases, C#/VB.NET/and Java object-oriented programming, and Microsoft Office. Brian has created many online technical training courses that can be found online on various platforms. Brian has also published multiple books with APress, including "Practical Entity Framework" and the second edition "Practical Entity Framework Core 6". Brian's next book, which is an AZ-204 Exam Study Companion will be released in May of 2023.
Area of Expertise
Rescuing your GIT Repositories using Amend, Reset, Revert, Rebase, Bisect, and Cherry-Picking
I just pushed a commit to remote main instead of my branch! Help!
We merged two features to main but now only one of them needs to go to production without losing the code for the other one ASAP - what do we do?
I messed up my branch on rebase, and I can't figure out what happened, but I think I lost my work, can you help?
I accidentally put a secret into GitHub and I need it to look like that commit never happened or I might get fired!
In this session, we'll discuss the GIT commands of Amend, Reset, Revert, Rebase, Bisect, and Cherry-Picking to perform surgery on our repository when the stuff hits the fan.
Users will learn about the listed commands and then will get a chance to see them in action. If time allows, other discussions around protecting a repository and squash and rebase strategies can be discussed.
Orchestrate and build serverless solutions with Azure Logic Apps
This presentation will cover how developers can and should be using Azure Logic Apps as a viable solution when building out serverless processes. With over 200 connectors and the ability to orchestrate workflows, Logic Apps can get you up and running fairly quickly. Logic Apps also allow for full integration with the Azure Active Directory, and can easily leverage other pieces of your Azure solutions, including Key Vaults and Azure Functions. This talk will show how to use Logic Apps, as well as discuss the when and why for using logic apps. The talk will also highlight a few gotchas and things every developer should know before committing to using logic apps.
Azure Functions and APIM
You want to go Serverless. You think Azure functions are cool, but you're not sure how to use them. You also have put something out there but you don't know how to secure it. Another problem you've encountered is the fact that your users don't like having "all of those links and keys". What do you do?
In this session, we'll see a practical approach for all of this using Azure Functions and APIM, and we'll see how to lock everything down with Azure Active Directory and Identity management, and we'll see how to use APIM Subscriptions to get the right information to the correct users with just one entry point facade, regardless of how many different back-end operations we are leveraging.
We'll cover Azure Functions and authentication with Azure Active Directory. We'll build an APIM solution to communicate with the function, setting up products and subscriptions, and we'll show how to test the various functions as we go using postman
Architecting and Building Serverless Solutions in Azure
This workshop is a guided activity to learn, architect, and implement a real-world, serverless solution in the Microsoft Azure ecosystem.
The tools utilized will include Azure Functions, Cosmos DB, Event Grid, Logic Apps, Application Insights, and Azure storage.
After completing the workshop, attendees will be able to take the skills they've learned and apply them to solutions for both enterprise and personal projects.
The Attendees will need to be able to access an Azure Subscription and GitHub. This should be done on personal, non-work email accounts and non-work machines, unless the attendee is certain those accounts are in compliance with their company and also will not present access issues from a remote location at the conference.
This workshop is a proven guided activity with step-by-step instructions. The attendees will be able to complete the activities by walking through step-by-step instructions during the workshop and any additional work they want to do can still be completed post workshop.
The first part of the workshop will start by presenting the real-world problem and a bit of brainstorming on the architecture, then it will be all about implementation. We'll talk about the different services within Azure as we go.
The attendees can complete this on their own or in groups.
Attendees will need access to a personal email, Azure Subscription, and GitHub.
Building rugged DevOps pipelines with GitHub Actions
This session dives into using GitHub actions to build out robust DevOps pipelines. In the session, we'll implement an architecture to build a temporary dev environment, and then push the code changes through the pipeline to an end release into production. In addition to just getting the CI/CD implemented, we'll examine what it takes to add in static code scanning and other security considerations for our repositories.
This talk is a rework of my original talk on both ADO.Net and GitHub actions. With the growing ecosystem at GitHub, it is clear this is the direction more teams will be interested in knowing about for the future. Some of the topics will be introductory, like creating the pipeline, but the talk will quickly advance to a higher level with discussions around implementing DevSecOps and a rugged devops pipeline. Demo solution will deploy to Azure but planning to mention that this could also be done against AWS or GCP with a few changes.
Implementing Azure Time Series Insights on Azure Digital Twins to analyze telemetry data
The Azure IoT space is exciting and there are lots of really great tools that are available to help you build a robust IoT solution.
Recently, Azure Digital Twins has been introduced, and is part of the information you need to know when taking the AZ-220 exam.
In this video/blog, I'll walk you through setting up Azure Time Series Insights to perform analysis on your IoT data. Starting with the end of a blog post/video that was created earlier this year for the Azure Back To School event, this solution will complete the implementation of a scenario to monitor a fleet of refrigerated trailers. With a Digital Twins instance in place and receiving live telemetry, this solution will guide you to the completion of the solution by showing how to utilize Azure Time Series insights based on the live telemetry that is being received in your Azure Digital Twins instance.
This solution will require wiring up your twins instance to an event hub (timeseries hub), creating or leveraging an Azure Function to update the telemetry to the timeseries hub, creating a time series instance, and then visualizing your data in the Time Series Insights
This is part two of two for creating and leveraging azure digital twins with live telemetry data and then performing analysis on that data (this part is the analysis). In combination, the two parts are great tools to use for preparing for the AZ-220 exam.
Developing with Azure Digital Twins
The Azure IoT Space is exciting and full of opportunity in todays connected IoT world.
Recently, Azure Digital Twins has been implemented to allow you to quickly and easily model and work with your live telemetry data.
In this session, you'll see how to quickly and easily set up your solution to gather telemetry from a fleet of refrigerated trailers.
You'll then see how to implement an Azure Function to port the data from the IoT Hub into your ADT instance, and then query that live data to get immediate feedback for any trailers that are currently reporting a temperature alert.
Leveraging Azure Digital Twins, IoT Hub, an Azure Function, and simulators to model a fleet of trailers with IoT devices that report trailer temperature and temperature alerts.
Introduction to Azure IoT Development
In this session we'll look into the platform services at Azure for IoT development and telemetry ingestion, including IoT Hub, Device Provisioning Service, Stream Analytics, and Storage. Using C#.Net, we'll set up a simulator and register some devices to send telemetry into our hub and process the stream data into hot and cold paths. We'll then finish up by discussing IoT Edge and development for IoT Edge
This is high-level, intended to introduce a developer interested in IoT Development with Azure to the services and tools available for them to get started and take their interest to the next level.
Optimizing and Scaling your .Net Core Applications with Azure Redis Cache
In this session, we'll discover what Redis is, and the many ways Azure Redis Cache can help you optimize your .Net Core applications, especially for cache-aside, transactions, and messaging. We'll also look at the various offerings available at Azure, why you might choose each one, and how they can offer full HADR options to create robust and resilient solutions. We'll also implement a simple app that leverages a deployed Azure Cache instance to show how easy it is to get up and running.
A high-level overview of the Azure Redis Cache PaaS offering, with a bit baked in about the cache-aside pattern and usage to optimize your .net apps, followed with a full demo of integrating Azure Redis Cache in .Net Application code.
Messaging, Queueing, and Eventing with Azure De-Mystified
With Event Hub, IoT Hub, Service Bus, and Azure Storage Queue, Azure has a number of PaaS offerings available when it comes to Queueing, Eventing, and Messaging. The number of services and mystery about their purposes can lead to a bit of analysis paralysis when it comes to which service to use, and, more importantly, when to use each service.
In this session we will explore the services available at Azure for queueing, handling events, and messaging, and we'll look at appropriate examples of when and how to use each of them. By the end of the talk you'll be ready to go make a recommendation to your team about which service to use for various scenarios, and you'll have seen how to easily integrate these services into your .Net applications.
Overviews and practical use-cases for each platform offering, with demos to work with each using C#.Net.
Azure Certifications: Your path to success
You are ready to get started with azure certifications, but you don't know where to start or how to proceed. In this talk, I'll show you common paths to different certifications, point you to the Azure certification poster, help you find out about each exam and how to practice, show you various channels and people you can follow for awesome content, and then I'll give you some of my best tips and tricks to prepare for exams.
Making a List and Checking it Twice
In this video, we'll discuss how to deploy a simple TODO application to an Azure App Service (Making a list). We'll then talk about adding Identity (Azure, custom, and other providers) to the application to make sure users are logged in and only able to see their own lists. The app will be a .Net MVC web application backed by SQL Server using Entity Framework and the built-in Identity providers for MVC.
This is a study in deployment to Azure App service and utilization of identity in the Azure ecosystem with MVC
Parse Excel Into Cosmos DB using an Azure Function
Learn how to respond to an event grid trigger with an Azure Function to parse data from an Excel sheet dropped in storage into an Azure Cosmos SQL database. Considerations include using Function Bindings vs using the SDK
Utilizes Azure Storage, Azure Event Grid, Azure Functions, and Azure Cosmos DB. Code considerations include parsing data from Excel and then utilization of an output binding vs. utilizing the Cosmos DB SDK from code without function bindings.
Migrate Your Azure Table Storage Apps to Azure Cosmos DB for Table
Learn how to quickly and easily migrate your data from Azure Table Storage to leverage the full capabilities of Azure Cosmos DB for Table storage
Discussions around comparing and contrasting Table Storage to Cosmos DB, ability to use indexes, and how easy it is to port your applications to Cosmos DB for Table from Azure Table Storage
Customizing ASP.Net Identity and adding Third-Party sign-in providers
You have identity baked into your ASP.Net MVC, but you want to change some of the default user properties and you're not sure where to start, especially when it comes to creating custom sign-in forms.
Additionally, you want to create the ability to sign in to the application via Microsoft, Facebook, or Google.
This session will show how to update the default application user with new properties, scaffold the identity pages for modification, and integrate third-party sign in via Microsoft and other providers
Utilizing Secrets in your C# MVC projects and Azure Services with Azure Key Vault
You are a developer and you have knowledge of secrets. You're aware that you should not be putting secrets into GitHub. How do you prevent the secret from getting checked in? Is there a tool at Azure that can be easily leveraged for managing secrets?
You then deploy your application, but how do you get the secret from Key Vault into your Azure App Service? Is there a way to share a secret across multiple services at Azure?
This talk will show how to quickly and easily leverage Azure Key Vault to hold secrets, and how to make them available to developers on their local machines as well as to your deployed resources at Azure.
AZ-204 Azure Developer Associate Exam Cram
This workshop will be a sweeping overview to provide information about the services and tools you'll want to be in command of as you go into the AZ-204 exam, and where to go to find out more information about the exam. This workshop WILL NOT discuss any questions and/or answers for the exam, but will instead prepare you to use and understand the tools and services that are within scope for the exam, with the idea being that when you are asked questions about those tools, you would have the ability to display your practical knowledge.
Throughout the workshop, we'll look at a number of platforms at Azure, including App Services, Container Instances, Container Registry, App Config, and App Registrations.
We'll also take a look into the IaC tools and services needed for the exam such as Virtual Machines and their networking and Desired State Configuration.
In addition to concepts and tools, a number of ways to prep for the exam will be discussed. Depending on time, the workshop could conclude with some Q&A regarding any other Azure services or concepts not covered.
Participants who want to get the answers to questions or give out information about the exam that is in violation of any Microsoft NDA regarding exams will be asked to leave the workshop.
Creating Secure Solutions: Leveraging Automatically Rotated Key Vault Secrets using C# and Azure
Using any SDK to connect to Azure Services typically involves leveraging a key (or connection string that houses the key). What do you do if you want to make sure your keys are secure? The answer is to put them into Key Vault. However, is that enough? In this talk, we'll look at what it takes to leverage Key Vault Secrets with auto-rotation so that your SDK Code will work with the secrets and your solution will remain secure.
Through the talk, you'll see the SDK Code against Azure Storage, Azure Key Vault, and how to use Event Grid and an Azure Function to auto-rotate your keys so your solutions are as secure as possible.
Azure Key Vault Secrets
Azure Storage SDK
Event Grid (for auto rotation)
Azure Function (for auto rotation)
Utilizing Private Endpoints from Azure Services to create a secure solution architecture
Azure PaaS offerings are a great way to deploy solutions with services such as App Service, Storage, Key Vault, and more. The default deployment of these resources utilizes the public internet and DNS resolution to direct traffic to the service.
In this talk, we'll take a look at the networking side of the equation to see how to set up a private virtual network and then connect to an Azure Service via a private link from that network. With a private connection, the resources in your network can connect to the Azure Service without leaving the private Microsoft internet backbone (i.e. No more public access to your service).
This talk is in development as I study for AZ-700. I may be adding some more information about locking the service down and also talking about which services can actually be deployed directly to a network vs which require a private link
GIT: From beginner to Fearless
This training is an introduction to GIT for source control. We'll take a look at getting started with GIT on our own machines, as well as working with GIT at public/private repositories on GitHub and/or BitBucket. Tools we'll use include BASH and VSCode
GIT can scare people. It shouldn't. GIT is awesome, and it's something that everyone should be using - it can even be used for more than just code [yes, you can version documents and spreadsheets]!
This workshop is primarily geared towards those who do code in any language and/or do web development with any tech stack, however learning the basics and commands of GIT can benefit anyone.
The workshop will cover practical scenarios needed for anyone in a normal GIT workflow, how to interact with other developers, and ends with how to solve some more tricky problems that happen.
By the end of the day, you should no longer have any fear about wrecking your repository or losing your changes.
The workshop general outline will look something like this:
Git Basic Info
A single-person/developer general flow
A simple multiple-person/developer flow
Advanced GIT commands to rescue your material
Using GIT from Visual Studio or Eclipse
Azure Fundamentals Training Workshop (AZ-900)
This 8 hour workshop is a full-day training that prepares the attendee to take the official AZ-900 exam. The workshop will line up with the measured skills for the exam, and will introduce the attendee to all of the critical aspects of Microsoft Azure, thereby positioning the attendee to move into more practical application of azure concepts.
The major topics covered include Understanding cloud concepts, Understanding Core Azure Services, Understanding security, privacy, compliance, and trust, and Understanding Azure pricing and support,
Along the way, we'll do a high-level examination of
- Capital Expenditure vs Operational Expendature
- Infrastructure as a service (IaaS)
- Platform as a service (PaaS)
- Software as a service (SaaS)
- Resource Groups
- Availablity Zones
- Virtual Machines
- App Services
- Azure Container Instances and Kubernetes Service
- Key vault
- Network and Application Security Groups
- Azure Active Directory
- Subscriptions and Pricing
- AI and Machine Learning Studio
- Azure portal, Azure PowerShell and Cloud shell
- Serverless computing
- Azure DevOps and DevTest Labs
- Big Data, SQL Data Warehouse, Azure Databricks
For more information, review the exam specifications here:
Additional/similar material can be found at Microsoft Learn: https://docs.microsoft.com/en-us/learn/paths/azure-fundamentals/
This is a 50,000 foot view of each concept, not a deep dive into any of them
The goal is to position the attendee to pass the AZ-900 exam, but this workshop will also benefit anyone that is looking to understand the things that can be done at Azure and why this is the direction of the future for dev ops professionals
Participation is enhanced with an Azure account (can sign up for free if don't have one via an MS Subscription).
dev up 2023 Upcoming
KCDC 2023 Upcoming
HRNUG User Group
Virtual Session -
Azure Functions and APIM
AZ-900 Fundamentals Workshop
What's New in EFCore5 and coming in EFCore6
DevOps for .Net 5 web app CI/CD using GitHub Actions or Azure Dev Ops
Azure Spring Clean
Virtual event. I contributed this article/video:
Tools of the Trade: Error Logging, Web Request Tracing, and Background Jobs for your .Net applications
GIT: From beginner to fearless
Build a Full Stack .Net Core MultiTenancy Web Application with Angular
Intro to Programming and Coding
Discover the basic principles of coding using C#.Net, a popular programming language. Starting from the ground up, this course will cover the critical concepts required to create and understand basic code and computer applications. Learn about control statements, types and variables, loops, methods and arrays. There are no pre-requisites other than basic computer aptitude, ability to install programs, and basic problem-solving skills. Textbook is included.
Microsoft Azure MVP, Speaker, Author, Trainer, and .Net Developer
Waterloo, Iowa, United States