

Azure & DevOps Podcast
Jeffrey Palermo
The Azure & DevOps Podcast is a show for developers and devops professionals shipping software using Microsoft technologies. Each show brings you hard-hitting interviews with industry experts innovating better methods and sharing success stories. Listen in to learn how to increase quality, ship quickly, and operate well. Hosted by Jeffrey Palermo and sponsored by Clear Measure, Inc.
Episodes
Mentioned books

Nov 11, 2019 • 46min
James Montemagno on the Xamarin Development Cycle - Episode 62
Joining Jeffrey Palermo today on the podcast is James Montemagno! James is quite prolific in the space and has tons of content out on the web! Currently, James is a Principal Program Manager for Client Developer Tools at Microsoft with a focus on mobile development with Xamarin. Prior to his role at Microsoft, he spent 3 years at Xamarin, 2 years doing mobile dev, and a year before that he worked as a Windows phone dev — that’s a total of 9 years in the mobile space! On top of his professional work, James also runs several podcasts, live streams on Twitch, and creates many tutorial videos on the topics of Xamarin and mobile DevOps. In today’s episode, Jeffrey and James will be discussing the Xamarin development cycle. James describes the overall vision for what he (and Microsoft) wants to enable people to do with all of these various client devices, and then thoroughly explains what the chain will look like in today’s day and age for a multi-targeted Xamarin application on the mobile side from building it, to the automated test suites, to deploying it, to pre-production, and ultimately, to production and telemetry. At the end of the episode, James also cites many incredibly valuable resources to follow-up on to become even more familiar with Xamarin and mobile DevOps! Topics of Discussion: [:40] Be sure to visit AzureDevOps.Show for past episodes and show notes! [:45] Jeffrey gives a few quick announcements. [1:05] About today’s guest, James Montemagno! [1:34] Jeffrey welcomes James to the show! [4:03] James speaks about his career journey and how he ended up at Microsoft and specifically focusing on Xamarin and client developer tools. [11:03] James describes the overall vision for what he (and Microsoft) wants to enable people to do with all of these various client devices. [13:55] With having some background in game development, does that factor into James’ (and Microsoft’s) vision? [15:51] On the mobile side, James walks us through what the chain will look like in today’s day and age for a multi-targeted Xamarin application from building it to the automated test suites to deploying it to pre-production and ultimately, to production and telemetry. [23:50] A word from the Azure DevOps Podcast’s sponsor: Clear Measure. [24:17] Jeffrey gives some more announcements and lets you know where to get a hold of his book, .NET DevOps for Azure. [26:00] Can you build with one build configuration for multi-targeted, or, do you have to set up multiple pipelines for each target? [27:25] After you get to the point where the build is running, how many artifacts is typical for multi-targeted? And what format? [30:38] For those who have never done connected app center before, does James believe it to be fairly straight forward? Or are there particular steps you should be paying attention to? [37:47] James recommends some valuable resources to follow-up on! [44:15] Where James recommends you follow-up to hear more of him! Mentioned in this Episode: Azure DevOps Clear Measure (Sponsor) Microsoft Ignite 2019 .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Pre-order on Amazon here! bit.ly/dotnetdevopsebook — Click here to download the .NET DevOps for Azure ebook! bit.ly/dotnetdevopsbookforcommunity — Visit to get your hands on two free books to give away at conferences or events! Jeffrey Palermo’s Youtube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! James’ Twitter: @JamesMontemagno James’ Website: Montemagno.com Xamarin Unity Xamarin Forms App Center James’ Azure DevOps Mobile App Tasks Extension Azure DevOps Podcast Ep. 59: “Daniel Jacobson on DevOps for Desktop Applications” Abel and James 6-part Web Series on Mobile DevOps Xamarin 101 Web Series .NET Videos Docs.Microsoft.com/Xamarin Github.com/JamesMontemagno Twitch.tv/JamesMontemagno James’ Livestreaming Kit SetupSuz Hinton’s Twitch Live Coding Setup Merge Conflict, with James Montemagno and Frank Krueger The Xamarin Podcast, with James Montemagno and Matt Soucoup The Xamarin Show on Channel 9 with James Montemagno Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

Nov 4, 2019 • 38min
Jeff Hollan on Azure Functions and Serverless - Episode 61
This week, Jeff Hollan is joining the podcast! Jeff is a Principal Program Manager on the Azure Functions team. He is always developing and shipping solutions on the latest and greatest tech, and is passionate about speaking at conferences around the world — he truly lives and breathes all things serverless! Jeff will be sharing tons of information about Azure Functions and the landscape of serverless on this episode! He shares how to start with going serverless and navigating the many different ways to do it, and gives his recommendations on where to get started with Azure Functions if you’ve never written a function before. Jeffrey and Jeff also trace through the DevOps lifecycle for a function — really digging as to not miss any important details! Topics of Discussion: [:40] Be sure to visit AzureDevOps.Show for past episodes and show notes! [:48] Jeffrey gives a few quick announcements. [:55] About today’s guest, Jeff Hollan. [1:13] Jeffrey welcomes Jeff to the show! [1:31] Jeff shares his career journey up to this point in time. [3:22] Jeff speaks about what is new in serverless as well as the options that people should be paying attention to these days! [4:55] Without Visual Studio, can a function just be PowerShell? [6:25] With there being so many different ways now to do serverless, how do you even choose? [9:17] Can you write some code as an Azure function but then install it as a regular Windows service inside of an on-premise VM? [11:06] When would Jeff say not to use Azure Functions and would alternatively recommend something else? [13:58] What is the deployable package format that is best for deployability to an Azure function resource in Azure? [18:30] A word from the Azure DevOps Podcast’s sponsor: Clear Measure. [19:00] Jeffrey gives some more announcements and lets you know where to get a hold of his book, .NET DevOps for Azure. [20:50] Jeff shares the recommended way of creating Azure resources for the environments. [23:26] In Jeff’s opinion, is it a better pattern to deploy the command lines for tweaks and modifications to your Azure functions’ resource at the same time you deploy the application changes? Or, is it better to have a separate pipeline? [25:11] Does the slot concept work the same way as Azure Websites or are there any differences? [28:00] For those who haven’t used slots before, Jeffrey asks Jeff: ‘If someone has a production environment, a UAT environment, and two other environments, are they creating one Azure function with 8 slots or do they need a separate Azure function per environment? Is there a general rule of thumb? [30:55] Jeff speaks about when and why functions can go cold. [32:25] With Azure Functions, what are the configurations to choose to just play around with it for as-close-to-free as possible? [34:05] Jeff speaks about what’s coming down the pipeline that people should be keeping an eye out for! [35:34] If you’ve never written a function, Jeff recommends some go-to resources to get started with! Mentioned in this Episode: Azure DevOps Clear Measure (Sponsor) Microsoft Ignite 2019 Party with Palermo - Microsoft Ignite Conference 2019 (Eventbrite) Special pre-release offer that expires Nov. 2nd: email Jeffrey at Jeffrey@Clear-Measure.com and tell him who his very first guest on the podcast was then he’ll send you a free e-book copy! .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Pre-order on Amazon here! bit.ly/dotnetdevopsebook — Click here to download the .NET DevOps for Azure ebook! bit.ly/dotnetdevopsbookforcommunity — Visit to get your hands on two free books to give away at conferences or events! Jeffrey’s .NET DevOps Bootcamp (Oct. 28-30th, in Lakeway, TX) Jeffrey Palermo’s Youtube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! .NET Conf 2019 Jeff Hollan’s Blog Jeff Hollan’s Twitter: @JeffHollanAzure Functions Python Docs.Microsoft.com Microsoft Learn Azure Functions Channel on Youtube Azure Functions on Twitter Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

Oct 28, 2019 • 43min
Shayne Boyer on the Landscape of Containers and Cloud-Native - Episode 60
Today’s guest on the podcast is Shayne Boyer, a Principal Cloud Advocate and .NET Lead at Microsoft! For the last 15 years, he has been developing Microsoft-based technology, mixing in a little Oracle and Android — but truly, .NET is the world he lives in. He has started User Groups for Windows Phone, worked in Government Software, Public Records Systems, created major reservations systems for Cruise Companies, and has even worked for a mouse (AKA Walt Disney World) as a Senior Solutions Architect. In today’s episode, Shayne and Jeffrey are discussing the landscape of Containers and Cloud-Native. Shayne highlights some of the new Windows Containers capabilities, gives his opinion on what he thinks should be the current file format or release candidate, explains what Cloud-Native means (and what is considered Cloud-Native), and speaks about which elements of .NET Core are interesting to him right now. Topics of Discussion: [:39] Be sure to visit AzureDevOps.Show for past episodes and show notes! [:49] Jeffrey gives a few quick announcements. [1:12] About today’s guest, Shayne Boyer! [1:32] Jeffrey welcomes Shayne to the show! [1:42] Shayne speaks about his career journey and how he ended up at Microsoft. [2:56] Shayne shares what he’s been working on these days. [4:33] There’s a lot of talk about building a new application targeting Azure and running it in Containers. But what are the options for getting those out of the data centers? [6:30] Shayne speaks about some of the new Windows Containers capabilities. [9:28] Is every single Windows Containers 2GB now? Or if you do a derived container with just a couple of tweaks, is that another 2GB? [10:51] Some people have been talking about the Container as the new release candidate package format rather than bundling up your application as a NuGet package and putting it into Azure Artifacts. What’s Shayne’s opinion on what file format or release candidate should be now? And what does he think will be trending towards the future? [14:04] What does Cloud-Native mean? And what is Shayne doing with it? [19:45] When you’re developing, what can be considered Cloud-Native? [21:21] Is it correct to say that Cloud-Native is getting away from having any operating system to manage that’s in the mix? [22:58] A word from the Azure DevOps Podcast’s sponsor: Clear Measure. [23:28] Jeffrey gives some more announcements and lets you know where to get a hold of his book, .NET DevOps for Azure. [26:22] Which elements of .NET Core are really interesting to Shayne? What is he working on around it? [30:33] Does Shayne know what he’s going to show at Microsoft Ignite 2019? [31:40] Shayne speaks about going Cloud-Native with remote workers. [33:10] With being on the other side of the country, is Shayne in a VPN the whole day or is there is something that has surpassed VPN now? [37:27] Jeffrey and Shayne speak about what the future of Cloud-Native could look like. [39:18] Shayne gives some recommendations for listeners to follow-up on if they want to learn more about Containers or Cloud-Native. [41:33] Jeffrey thanks Shayne for joining the show! Mentioned in this Episode: Azure DevOps Clear Measure (Sponsor) Microsoft Ignite 2019 Party with Palermo - Microsoft Ignite Conference 2019 (Eventbrite) Special pre-release offer that expires Nov. 2nd: email Jeffrey at Jeffrey@Clear-Measure.com and tell him who his very first guest on the podcast was then he’ll send you a free e-book copy! .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Pre-order on Amazon here! bit.ly/dotnetdevopsebook — Click here to download the .NET DevOps for Azure ebook! bit.ly/dotnetdevopsbookforcommunity — Visit to get your hands on two free books to give away at conferences or events! Jeffrey’s .NET DevOps Bootcamp (Oct. 28-30th, in Lakeway, TX) Jeffrey Palermo’s Youtube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Shayne Boyer’s LinkedIn Shayne Boyer’s Twitter Shayne Boyer’s Website .Net Conf 2019 The Cloud Native Show on Channel 9The Azure DevOps Podcast: “Glenn Condron on New Capabilities in .NET - Episode 58” Windows ContainersWCF Kubernetes NuGet Azure Artifacts Docs.Microsoft.com Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

Oct 21, 2019 • 37min
Daniel Jacobson on DevOps for Desktop Applications - Episode 59
Today’s guest is Daniel Jacobson, a Program Management Lead on the Visual Studio team focused on empowering Windows Developers. Daniel was one of the speakers at the .NET Conf 2019 and will also be at the 2019 Microsoft Ignite conference! Daniel joined Microsoft about 5 years ago as a Program Manager. And now, as a Senior PM on the Visual Studio team, Daniel’s focus is on the biggest challenge that developers are facing anywhere in their development. His team empowers literally millions of developers building applications for Windows devices. All that they do is centered around customers and their desires. In this episode, Daniel and Jeffrey speak about DevOps for desktop applications. Daniel shares his vision for empowering all Windows application developers to seamlessly and incrementally modernize their existing applications through the work that he and his team is doing. Daniel largely focuses on the Visual Studio App Center in this episode, going into detail about each and every step you need to know about when integrating it, and provides additional resources at the end of the episode to further your learning. Tune in! Topics of Discussion: [:39] Be sure to visit AzureDevOps.Show for past episodes and show notes! [:49] Jeffrey gives some announcements and lets you know where to get a hold of his book, .NET DevOps for Azure. [3:27] About today’s guest, Daniel Jacobson! [3:53] Jeffrey welcomes Daniel to the show! [4:04] Daniel speaks about his journey in the space and how he ended up where he is today. [5:54] What is a client application? What makes them different? [9:52] What are the choices available for those looking to run a native Windows application on the Microsoft platform? [13:32] With WinForms, WPF, and .NET Core 3.0 coming out, what things can we not yet do if we’re trying to go to .NET Core 3.0? What should people watch out for? [15:55] Daniel explains all we need to know about Visual Studio App Center! [17:30] A word from Azure DevOps Podcast’s sponsor: Clear Measure. [17:55] If somebody is upgrading an older WinForms’ app into .NET Core, would they track their work on Azure Boards or does App Center provide work item tracking? [18:58] Does the App Center integrate with existing source control? And following that, does the App Center support an automated build process? [20:01] After the build and you’ve got a numbered release candidate package of some sort, what should the developer do? [23:03] Is this all ready to go today for developers to use? [23:25] Daniel explains the next step in the process once you have the package ready and are ready to deploy to your first pre-production environment or test group of users. He elaborates on what that looks like and what tool to use. [24:31] Daniel continues to explain what the package does once it is in App Center and what the chain of pre-production environments look like. [25:16] When users get the latest version of your app, is that going through the Microsoft store? What will automated updates look like in the future? [26:31] So will App Center feature be a full-on replacement for ClickOnce? And what is it called? [29:46] Is the Microsoft business store ‘a thing?’ [30:17] Does App Center have an integration with the Microsoft store? [30:38] What does the process look like to actually ‘go to production?’ [32:19] Are Xamarin, operational telemetry, crash reports, etc. all wired into App Center? [33:36] Looking forward, what is Daniel’s vision for the future? [35:11] Daniel highlights some valuable resources for listeners that want to learn more! Mentioned in this Episode: Azure DevOps Clear Measure (Sponsor) Microsoft Ignite 2019 Party with Palermo - Microsoft Ignite Conference 2019 (Eventbrite) Special pre-release offer that expires Nov. 2nd: email Jeffrey at Jeffrey@Clear-Measure.com and tell him who his very first guest on the podcast was then he’ll send you a free e-book copy! .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Pre-order on Amazon here! bit.ly/dotnetdevopsebook — Click here to download the .NET DevOps for Azure e-book! bit.ly/dotnetdevopsbookforcommunity — Visit to get your hands on two free books to give away at conferences or events! Jeffrey’s .NET DevOps Bootcamp (Oct. 28-30th, in Lakeway, TX) Jeffrey Palermo’s Youtube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Daniel Jacobson’s Twitter: @PMatmic Aka.ms/WinUI MSIX App Installer XAML Islands WinForms WPF .NET Core 3.0 Azure Pipelines App Center Azure Boards ClickOnce URL-Based Windows Installer Xamarin DevBlogs.Microsoft.com/VisualStudio DevBlogs.Microsoft.com/DotNet Aka.ms/MSIX Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

Oct 14, 2019 • 43min
Glenn Condron on New Capabilities in .NET - Episode 58
This week on the podcast, Jeffrey is speaking with Glenn Condron! Glenn is the Program Management Lead of the App Platform team within the Developer Division at Microsoft, focusing on .NET. With .NET Conf 2019 just recently wrapped up, Glenn will be highlighting some of the new capabilities within .NET! Glenn was a part of the keynote, where he gave some really interesting demos showing the new stuff coming out for .NET. Having seen the keynote himself, Jeffrey knew that his listeners had to know all about it for themselves too! So, in this episode, Glenn speaks about what he showcased at the conference, explains how he ran his .NET Core 3 demo, how gRPC is changing the game, and shares his current personal preference for running the .NET Core application in a container. Jeffrey and Glenn cover a lot of ground regarding .NET, so be sure to tune in! Topics of Discussion: [:40] Be sure to visit AzureDevOps.Show for past episodes and show notes! [:48] Jeffrey gives some announcements and lets you know where to get a hold of his book, .NET DevOps for Azure. [2:24] About today’s guest, Glenn Condron. [2:42] Jeffrey welcomes Glenn to the show! [2:48] Glenn shares what he spoke about during the 2019 .NET Conf keynote. [3:46] Glenn speaks about what his career journey has been like and what he’s currently doing in his role at Microsoft. [5:14] How gRPC is changing the game when it comes to blocking synchronous calls. [7:44] What does gRPC stand for? [8:23] Glenn explains his philosophy and the thinking behind making the backend without giving the URL to the calling application, and instead, publishing a library that their calling application consumed so that their service owned its own protocol (instead of locking in the client to that over-the-wire protocol). [14:42] Glenn provides his take on whether anything that is a step higher in compatibility (i.e. allows for a greater reach of clients who can use it), tends to include extra steps and a decrease in productivity. [17:30] Glenn speaks about how he ran his .NET Core 3 demo (at the 2019 .NET Conf) in a Linux container and some of the interesting and impressive pieces of it. [20:23] A word from the Azure DevOps Podcast’s sponsor: Clear Measure. [20:49] Glenn explains what it is running as in Azure. [21:00] Glenn speaks about the networking, and what he configured in the network to get it to be in front. [26:28] Was the Blazor app deployed to the same Kubernetes cluster? [26:58] Glenn explains how to set up .NET with the Blazor app. [28:06] Glenn gives a loving criticism of Javascript and his part with helping .NET developers be better with the existing ecosystems. [33:06] Out of all the options for being able to run your .NET Core application in a container, which is Glenn’s personal preference? Which does he think should be the norm? [40:35] Where to learn more about Glenn’s presentation at .NET Conf and follow him online. Mentioned in this Episode: Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Pre-order on Amazon here! bit.ly/dotnetdevopsproject bit.ly/dotnetdevopsbookforcommunity — Visit to get your hands on two free books to give away at conferences or events! Jeffrey’s .NET DevOps Bootcamp (Oct. 28-30th, in Lakeway, TX) Microsoft Ignite 2019 Jeffrey Palermo’s Youtube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Glenn Condron’s LinkedIn Glenn Condron’s Twitter .NET Conf 2019 gRPC Blazor AKS JSON .NET Conf 2019 Recordings on Channel 9 github.com/dotnet-presentations Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

Oct 7, 2019 • 33min
Craig Loewen on the Windows Subsystem for Linux DevOps Story - Episode 57
On this week’s episode, Jeffrey is joined by Craig Loewen to discuss the Windows Subsystem for Linux! Craig is a Program Manager on the Windows Subsystem for Linux team. He started his journey in University by studying as a Mechatronics Engineer. Really loving all things software, Craig worked at several different companies, but eventually found his way to Microsoft as an intern. Not long after, he got hired on full-time! He’s been with the WLS team now for about a year. Today, Jeffrey and Craig Loewen discuss the ins and outs of WLS. They talk about how the codebase for WSL is organized, what it actually looks like to build WSL, some of the exciting highlights and changes to version 2 of WSL, Craig’s plans for the UI in WSL 2, and much, much more! Tune in to get the full scoop! Topics of Discussion: [:45] Be sure to visit AzureDevOps.Show for past episodes and show notes! [:52] Jeffrey gives some announcements and lets you know where to get a hold of his book, .NET DevOps for Azure. [3:47] About today’s guest, Craig Loewen. [3:55] Jeffrey welcomes Craig to the show! [4:12] How did Craig end up in his current role and what has his journey been like at Microsoft and prior to Microsoft? [4:58] Craig gives a quick overview for listeners who have never used the Windows Subsystem for Linux. [7:18] Where is the codebase for WSL organized? [7:53] Is it one massive Git repository or is it a series of repositories? [8:30] What language/s is it written in? [8:44] Is it a visual studio solution? [9:28] What does it mean to build WSL? What does it look like to actually change some code and produce a new version of the build that could be tried out by somebody? [10:26] What are some of the key meaningful things that they have to have in their part of the build? [12:16] Craig highlights some of the exciting changes in version 2 of WSL. [14:46] Does running on a virtual machine open up some additional capabilities? [15:22] A word from Azure DevOps Podcast’s sponsor: Clear Measure. [15:50] Is it an overstatement to say that when version 2 of WSL comes out, and you’re running Windows 10, you’d be running Windows and Linux? [18:00] What is WSL’s build server? [18:55] How often is WSL running this massive build? [19:43] What goes into Craig’s private build script? [20:37] When Craig says ‘run it on my box,’ what does that entail? [21:00] Craig speaks about the automatic testing they have for the subsystem. [22:39] Is it a manual process or automated integration when they pull external issues from their GitHub into Azure DevOps? [23:37] How do they get information, telemetry, and logs about how WSL is going out there in the wild? [24:40] Does Craig know how many people are actively using WSL out in the world? [25:14] Jeffrey and Craig speak more about how WSL version 2 is going completely VM-based and what that means. [27:32] If WSL 2 is going to go to Windows server, does that mean that in Azure when someone spins up a Windows server and they want to put multiple low-volume applications on a particular VM that want to target either Linux or Windows that it doesn’t matter because both kernels are native? [29:36] What are Craig’s plans for the UI for WSL 2? [30:55] Craig’s recommendations for those who want to learn more! Mentioned in this Episode: Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure, by Jeffrey Palermo bit.ly/dotnetdevopsproject bit.ly/dotnetdevopsbookforcommunity — Visit to get your hands on two free books to give away at conferences or events! Jeffrey’s .NET DevOps Bootcamp (Oct. 28-30th, in Lakeway, TX) Microsoft Ignite 2019 Jeffrey Palermo’s Youtube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Craig Lowen’s Website Craig Loewen’s LinkedIn Craig Loewen’s Twitter @CraigALoewen Azure DevOps Podcast: “Oren Eini on DevOps Success at RavenDB (Part 1) — Episode 55” Azure DevOps Podcast: “Oren Eini on DevOps Success at RavenDB (Part 2) — Episode 56” Arduino Windows Subsystem for Linux Documentation (aka.ms/wsldocs) Windows Command Line (aka.ms/cliblog) Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

Sep 30, 2019 • 41min
Oren Eini on DevOps Success at RavenDB (Part 2) - Episode 56
This is the second part to the two-episode series with Oren Eini! If you haven’t listened to the first part already be sure to tune into that one first! Oren Eini, pseudonym Ayende Rahien, is a frequent blogger at Ayende.com and has over 20 years of experience in the development world, with strong focuses on the Microsoft and .NET ecosystem. As an internationally acclaimed presenter, Oren has appeared at DevTeach, JAOO (now GOTO) QCon, Oredev, NDC, Yow! and Progressive.NET conferences; sharing his knowledge via conferences and written works such as DSLs in Boo: Domain-Specific Languages in .NET, published by Manning and now another book, Inside RavenDB. Oren remains dedicated and focused on architecture and best practices that promote quality software and zero-friction development. And of course, Oren is also the founder and CEO of RavenDB; a fully transactional, NoSQL, all-in-one database. In this second episode, Oren and Jeffrey continue their discussion about RavenDB and how Oren built the DevOps environment for it. There are many unique complexities to their environment and Oren details them all out — from the tests they conduct to the migration process, and much, much more — you won’t want to miss the second part to this fascinating conversation! Topics of Discussion: [:53] Diving right back into the conversation, Jeffrey asks Oren how he has designed his DevOps environment to identify when he’s encountering tricky stuff? [1:45] Roughly how many test cases are there? [4:04] What is Oren’s server of choice? [4:22] Where and how to check out and download all the code for yourself! [6:05] The problem with unit tests. [8:37] Oren explains how, after building, they fan out and do multiple deployments in different scenarios and platforms at once so that they can execute their tests. [9:29] What longevity tests are and what they accomplish. [13:00] A word from Azure DevOps Podcast’s sponsor: Clear Measure. [13:28] Oren speaks about the value they’re getting from static analysis. [28:50] For those who have never used a document database before, when should they consider taking a look at or utilize RavenDB? [34:15] How does one migrate their data structure? How does that concept come into play with RavenDB? [35:29] Is there a migration process or tool for when you need to transform from time-to-time as part of your deployment? [35:40] In regards to integrating with other tools for people who only use SQL Server — what is there experience going to be like? [39:29] For those who want to learn more, Oren gives some recommendations on resources to follow-up on. Mentioned in this Episode: Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure, by Jeffrey Palermo bit.ly/dotnetdevopsproject bit.ly/dotnetdevopsbookforcommunity — Visit to get your hands on two free books to give away at conferences or events!Oren Eini (LinkedIn) DSLs in Boo: Domain-Specific Languages in .NET, by Ayande Rahien Inside RavenDB, by Oren Eini RavenDB GitHub.com/RavenDB/RavenDB Jeffrey’s .NET DevOps Bootcamp (Oct. 28-30th, in Lakeway, TX) Microsoft Ignite 2019 Jeffrey Palermo’s Youtube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Ayende.com Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

Sep 23, 2019 • 37min
Oren Eini on DevOps Success at RavenDB (Part 1) - Episode 55
Today’s guest is Oren Eini, pseudonym Ayende Rahien. Oren is a frequent blogger at Ayende.com and has over 20 years of experience in the development world, with strong focuses on the Microsoft and .NET ecosystem. As an internationally acclaimed presenter, Oren has appeared at DevTeach, JAOO (now GOTO) QCon, Oredev, NDC, Yow! and Progressive.NET conferences; sharing his knowledge via conferences and written works such as DSLs in Boo: Domain-Specific Languages in .NET, published by Manning and now another book, Inside RavenDB. Oren remains dedicated and focused on architecture and best practices that promote quality software and zero-friction development. Another interesting tidbit about Oren is that he is the founder and CEO of RavenDB — which also happens to be the topic of today’s podcast! They discuss how Oren came to start his own company, RavenDB, as well as how he built the DevOps environment for it. Oren and Jeffrey dove incredibly deep into this topic — so deep in fact that the interview had to be split up into two parts! Look forward to the second part of this two-part series next week! Topics of Discussion: [:40] Be sure to visit AzureDevOps.Show for past episodes and show notes! [:50] Jeffrey gives some announcements and lets you know where to get a hold of his book, .NET DevOps for Azure. [2:35] About today’s guest, Oren Eini. [3:43] Jeffrey welcomes Oren to the show! [4:04] Open Source is the norm now, but it wasn’t back then! Oren speaks about some of the differences in the industry. [9:13] Why did Oren decide to start his own company, RavenDB? [11:13] Oren explains Object-Relational Mappers (ORM) and provides some examples. [15:11] A word from Azure DevOps Podcast’s sponsor: Clear Measure. [15:38] Jeffrey and Oren continue their conversation about and getting his company, RavenDB, off the ground. [20:20] Oren speaks about becoming an expert in a handful of major databases and understanding what it means to talk to the database (because he was a prolific committer and maintainer for NHibernate a mature, open-source object-relational mapper for the .NET framework.) [25:25] How did Oren build a DevOps environment for RavenDB? [35:45] This is where part 1 of the interview ends — look forward to part 2 coming soon! Mentioned in this Episode: Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure, by Jeffrey Palermo bit.ly/dotnetdevopsproject bit.ly/dotnetdevopsbookforcommunity — Visit to get your hands on two free books to give away at conferences or events!Oren Eini (LinkedIn) DSLs in Boo: Domain-Specific Languages in .NET, by Ayande Rahien Inside RavenDB, by Oren Eini RavenDB GitHub.com/RavenDB/RavenDB Jeffrey’s .NET DevOps Bootcamp (Oct. 28-30th, in Lakeway, TX) Microsoft Ignite 2019 Jeffrey Palermo’s Youtube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Ayende.com Scott Guthrie Groups.Yahoo.com/neo/groups/altnetconf/info NHibernate Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

Sep 16, 2019 • 56min
Kayla Cinnamon and Rich Turner on DevOps on the Windows Terminal Team - Episode 54
On this week’s podcast, Kayla Cinnamon and Rich Turner are joining the show! Kayla is a Program Manager on the Windows Terminal Team and has been working for Microsoft for the last 8 years, and Rich is a Senior Program Manager, also on the Windows Terminal Team and has been with Microsoft for nearly 4 years. Kayla and Rich are speaking with Jeffrey today to discuss how the Windows Terminal Team does DevOps. They’ll be speaking about all the recent news regarding the new Windows Terminal, the history of what it has meant to the command line on Windows (as such a critical part of the operating system), and all that they do to ship code and set up their DevOps environment! They also share information on which dependencies and environment you need to have in place to actually build it and run it locally for yourself. Tune in to get the full scope on this really critical piece of software! Topics of Discussion: [:44] Be sure to visit AzureDevOps.Show for past episodes and show notes! [:51] Jeffrey gives some announcements and lets you know where to get a hold of his book, .NET DevOps for Azure. [2:15] About today’s guests, Kayla Cinnamon and Rich Turner. [2:28] Jeffrey welcomes Kayla and Rich on to the podcast! [3:23] How Kayla and Rich landed on the Windows Terminal Team and how the creation of the new Windows Terminal came about. [13:11] What is Kayla’s tool of choice for creating wireframes and mockups? [14:20] Rich picks their story back up from when Kayla joined the Windows Terminal Team. [16:21] Starting with their thought process around architecture, Rich speaks about what goes on before they even put hands to keyboards. [24:40] A word from Azure DevOps Podcast’s sponsor: Clear Measure. [25:06] How will they be documenting this going forward? [25:52] How do they have the code for Windows Terminal organized? [29:46] Rich shares the GitHub URL for the new (and original) Windows Terminal and Kayla explains which dependencies and environment you need to have in order to actually build it and run it locally. [31:52] Kayla and Rich talk about the build process and the whole flow of making changes. [33:52] Kayla begins explaining the process piece-by-piece (from their method of branching, what testing framework is used, how many tests are in the terminal codebase to how they automate the workflow in GitHub, the workflow for members, and more). [42:09] What’s the breadth of static analysis that’s part of the build? And what are their tools of choice for the steps involving static analysis? [45:05] Rich gets into what’s at the end of the chain after the pull request gets accepted and merges into master (i.e. what the process looks like and what steps are there). [48:09] What is their opinion about the viability of small text-based user interfaces? [54:20] Rich gives his recommendations on where to get started and learn more. [55:48] Jeffrey thanks Rich and Kayla for joining the podcast! Mentioned in this Episode: Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure, by Jeffrey Palermo bit.ly/dotnetdevopsproject bit.ly/dotnetdevopsbookforcommunity — Visit to get your hands on two free books to give away at conferences or events! Windows Terminal (Preview) Microsoft Ignite 2019 Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Jeffrey Palermo’s Youtube Jeffrey’s .NET DevOps Bootcamp (Oct. 28-30th, in Lakeway, TX) Kayla Cinnamon’s LinkedIn Rich Turner’s LinkedIn Figma Microsoft Visio GitHub.com/Microsoft/Terminal TAEF Turbo Vision ChocolateyKayla’s Twitter: @Cinnamon_MSTF Rich’s Twitter: @RichTurn_MS DevBlogs.Microsoft.com/CommandLine Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

Sep 9, 2019 • 36min
Jared Parsons on DevOps on the C# Compiler Team - Episode 53
Today, your host, Jeffrey Palermo is speaking with Jared Parsons, the Principal Developer Lead on the C# Compiler Team. Everybody tuning in probably uses his code on a day-to-day basis! Jared started out at Microsoft 15 years ago as a Developer; moved on to become a Senior Developer; then Principal Developer on Midori OS; and most recently, the Principal Developer on C# Compiler Team, which he has been with since 2014. In this episode, Jeffrey and Jared are taking a look at what the DevOps environment looks like for the C# Compiler. They take a look at how the source code is organized, the configuration process, some of the challenges they’ve run into and how they’ve solved them, as well as Jared’s career journey with Microsoft. The C# Compiler is a highly depended on, complex, widespread piece of software — so tune in to get all the behind-the-scenes insight with Jared Parsons! Topics of Discussion: [:39] Be sure to visit AzureDevOps.Show for past episodes and show notes! [:49] Jeffrey gives some announcements and lets you know where to get a hold of his book, .NET DevOps for Azure. [2:13] About today’s guest, Jared Parsons. [2:27] Jeffrey welcomes Jared on to the podcast! [3:17] Jared speaks about his background with Microsoft and how long he has been with the C# Compiler Team! [4:09] Jeffrey and Jared begin to discuss what the DevOps environment looks like for the C# Compiler, starting with how the source code is organized. [4:51] Is everything public on GitHub? [5:15] If someone clones the Roslyn .NET compiler repository, will they be able to build it locally? [6:44] Besides the compiler, what other components are included? [7:35] Do they use Azure DevOps Services? [8:13] Do they have branching models? [9:47] Is it YAML-based? [11:44] Jared explains the goal of their CI build, as well as all that they do in CI. [13:25] Some of the early issues they ran on to on the Roslyn project. [13:55] Jared dives back into describing the DevOps environment for the C# compiler. [15:28] What platforms are the fastest to do this process with? [15:53] A word from Azure DevOps Podcast’s sponsor: Clear Measure. [16:20] Jared continues the conversation about CI. [20:06] After the CI build, Jared speaks about what’s next in the configuration. [21:12] After the CI build finishes, Jared explains how they package it up and release it. [22:27] Do they use Azure Artifacts to store the result of the build? And what format of Artifacts have they chosen? [23:53] Jared explains the final step in their release pipeline. [25:33] Jared explains the next pipeline that’s kicked off after they complete their release pipeline. [26:02] Jared shares how they enforce compatibility. [26:50] Does Jared have static code analysis in place in their pipeline? [30:08] Where to find everything Jared has been talking about today. [31:13] Do they use any third party Visual Studio add-ins? [31:54] How are they planning on targetting a platform that runs from a URL? [34:17] Jeffrey wraps up this week’s podcast and thanks Jared for joining! [34:39] Jared recommends a few resources for those looking to learn more. Mentioned in this Episode: Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure, by Jeffrey Palermo bit.ly/dotnetdevopsproject bit.ly/dotnetdevopsbookforcommunity — Visit to get your hands on two free books to give away at conferences or events! .NET Conf 2019 Microsoft Ignite Jeffrey Palermo’s Youtube Channel Jeffrey Palermo’s Twitter Jared Parsons (LinkedIn) GitHub.com/dotnet/Roslyn GitHub.com/dotnet/Roslyn-Analyzers GitHub.com/dotnet/CSharpLang Visual Studio Azure DevOps Services Azure Artifacts Visual Studio SDK Xunit Analyzers Microsoft Build 2019 Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.