
Patrick Smacchia on Static Code Analysis - Episode 52
Patrick Smacchia is the founder and CEO of NDepend — a tool for .NET static analysis — and has been in the software world for over 20 years. He's one of the world's top tier experts in static code analysis. And today, with more than 8,000 client companies (including many Fortune 500s), NDepend offers deeper insight and understanding about their code bases to a wide range of professional users around the world. In this episode, Jeffrey and Patrick will be discussing static code analysis. Patrick elaborates on exactly what it is, how to think about it, why you should implement it, and gives his recommendations on how to get started as well as further learning. Everyone in the DevOps world needs to know what static code analysis is and how to put it in place, to tune in to learn all about this key concept! Topics of Discussion: [:40] Be sure to visit AzureDevOps.Show for past episodes and show notes! [:46] Jeffrey gives some announcements and lets you know where to get a hold of his book, .NET DevOps for Azure. [1:39] About today's guest, Patrick Smacchia. [1:56] Jeffrey welcomes Patrick on to the show! [2:18] Patrick explains what static code analysis is and how he thinks of it. [7:46] Patrick further elaborates on the concept of treating the code as data with static code analysis. [15:25] How should we think about this realm of static code analysis? What advice would Patrick give someone on how to think about when it comes to static code analysis? [23:03] A word from Azure DevOps Podcast's sponsor: Clear Measure. [23:30] When it comes to finding problems in the code, how does Patrick determine which code is too complex? [37:10] Resources Patrick recommends to listeners who would like to learn more! [39:34] Jeffrey thanks Patrick for joining him on today's episode. 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! Patrick Smacchia NDepend Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
2 Sep 201940min

James Avery on Scaling to 3 Billion Requests Per Day - Episode 51
James Avery is the founder and CEO of Adzerk. Adzerk is the next generation of publisher ad serving. It's built to be faster, easier to use, and comprehensive than anything on the market today. Adzerk helps you build the exact server you want; through their ad serving APIs, they allow developers to build and scale innovative, server-side ad platforms without reinventing the wheel. James originally started Adzerk back in 2010, FTPing files up to an IaaS VM, and now he has a whole team and receives 3 billion requests per day! If you want to know how he did it, tune in to hear James as he explains how he started his company from the ground-up, how he scaled it, some of the early problems they ran into and how they resolved them, and his tips for developers looking to scale their systems! 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. [1:47] Jeffrey welcomes on today's guest, James Avery! [2:28] James tells his story and speaks about his path toward starting his own company, Adzerk. [11:52] How long did Adzerk's original three servers last before their next bottleneck? [13:00] James speaks about how receiving financing, finding their market, scaling their business, and finding their focus helped shape Adzerk into what it is today. [15:00] How Adzerk's ad serving APIs work and how they work with the development teams of other companies to build on top of their APIs. [16:46] A word from Azure DevOps sponsor: Clear Measure. [17:13] How did James go from being the only developer to building an entire software engineering team at Adzerk? [19:12] After getting up to hundreds of millions of requests per day, James speaks about the next problems they ran into and how they resolved them. [23:55] Jeffrey and James speak about the common problem that is managing data and moving data from one place to another. [25:15] James shares some of the mistakes that made early on with SQL Server. [26:27] Why AWS and not Azure? [29:46] Why did it look like when James realized that his manual process was not working and he needed an automated way to get changes out to the various servers in production and have a solid process where it can be done quickly? [31:02] Do they have set times when they deploy or does it happen whenever it needs to? [32:21] What advice would James give to managers on how to ask the right questions to get the information that they need from their employees. [35:11] James leaves listeners who want to scale their own systems with some tips! [37:00] Jeffrey thanks James for joining him on 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! Microsoft Build James Avery (LinkedIn) Adzerk Pluralsight Stack Overflow SQL Server Ninject Node.js XML JSON Redis Apache Hadoop Amazon Web Services (AWS) Dynamo Amazon Redshift Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
26 Aug 201937min

Mads Torgersen on the Latest in C# - Episode 49
Today's guest is Mads Torgerson, the lead designer and program manager of the C# programming language. He has been with Microsoft for 14 years. And prior to that, Mads was a professor and also contributed to a language starting with J. In this week's episode, Mads and Jeffrey are discussing the latest in C#. Mads shares everything he knows about C#, the progress on C# 8 and when you can expect to get your hands on it, and all of the new features to look forward to. Mads and Jeffrey also speak about some of the main hurdles with the release of C# 8, some of the key problems they will be addressing in future versions of the language, and which frameworks will be supporting the new features of C# 8. He also shares some invaluable online resources to learn more about the upcoming features in C# 8 to follow-up on after listening to this week's episode! Tune in for this week's deep dive into the language of C#! Topics of Discussion: [:40] Be sure to visit AzureDevOps.Show for past episodes and show notes! [:49] Where to get a hold of Jeffrey's new book, .NET DevOps for Azure. [1:40] About today's episode and guest. [1:54] Jeffrey welcomes Mads Torgersen to the show! [2:07] Mads speaks about his career journey leading up to the present day. [4:07] Does Mads have a sense of how many people are typing keywords in C# on a daily basis? [5:25] Mads speaks about what's left to do to get C# 8 out the door. [6:24] The new main features to look forward to in C# 8. [10:23] Mads recommends online resources to learn more about the upcoming features in C# 8. [11:50] What should developers think about when it comes to backward compatibility in C# 8? [17:06] Mads speaks about the differences in nullable value type, the route they took with C# 8 in regards to it, and how it affects it. [23:37] A word from Azure DevOps sponsor: Clear Measure. [24:01] Mads speaks about one of the hurdles with the release of C# 8. [26:48] When does Mads foresee people being able to have C# 8 in their hands? [27:50] Will .NET framework 4.8 have any of the features? [28:10] Which frameworks will support the new features of C# 8? [29:21] What are some of the key problems Mads and the team will be trying to figure out some solutions in future versions of the language? [34:00] Mads speaks about a few more of the hurdles that make it difficult to select C# for a functional style as opposed to going to another language like F#? [35:57] Mads speaks about type data in C#. [39:20] Mads gives some resource recommendations to follow-up on after listening to this week's show! 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! Mads Torgersen C# MVP Summit Anders Hejlsberg "The Future of C#," with Mads Torgersen and Dustin Campbell at Build 2018 Docs.Microsoft.com Mads Torgersen on GitHub GitHub.com/dotnet/csharplang Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
12 Aug 201941min

Steve Smith on DevOps Quality - Episode 48
This week's guest is Steve Smith! Steve is an entrepreneur and software developer with a passion for building quality software as effectively as possible. He is the founder of Ardalis Services and Tech Hub Hudson, as well as a Board Member on the Stir Trek Conference, Inc. Steve Smith has also been recognized by Microsoft as a Most Valuable Professional (MVP) since 2002. He is also a Pluralsight author with several online courses on various topics; mentors motivated developers on DevBetter.com; blogs on his website, Ardalis.com; and shares tips on his weekly podcast, Weekly Dev Tips! Today, Steve and Jeffrey Palermo will be discussing DevOps quality. Steve explains why the quality aspect in DevOps is so important, quality techniques developers should be thinking about, what the SOLID principles are and why they matter, the types of automated testing that people should be doing on their code, and his favorite tools and frameworks. Steve also gives his thoughts on test coverage, his favorite methods for figuring out if a section in his application doesn't have enough code coverage, what he thinks about static analysis, refactoring, and the pattern "replace conditional with polymorphism." Tune in for all of Steve's insights on the topic of DevOps quality, his practical rules of thumb, and invaluable recommendations on books and resources to follow-up on! Topics of Discussion: [:40] Be sure to visit AzureDevOps.Show for past episodes and show notes! [:46] Where to get a hold of Jeffrey's new book, .NET DevOps for Azure. [1:42] About today's episode and guest. [2:11] Jeffrey welcomes Steve to the show! [3:32] How did Steve discover that he wanted to work as a developer for his career? [4:32] Why is the quality aspect in DevOps so important? [5:49] What are the quality techniques developers should be thinking about? [7:35] What are SOLID principles? And why are they important? [9:30] What are the types of automated testing that people need to be doing on their code? [12:07] What tools and frameworks are Steve's favorite? [13:55] Steve's favorite method for figuring out if a section of his application doesn't have enough code coverage. [14:51] How Steve thinks about test coverage. [17:31] How does Steve cover the instances where a certain section of code may be 100% covered but then another section of code is close to 0? [19:00] A word from Azure DevOps Podcast sponsor: Clear Measure. [19:27] How Steve thinks about the concept of static analysis. [24:03] Do shorter or longer methods have any correlation with better psychosomatic complexity? [24:24] When does Steve recommend to refactor? [25:16] Steve gives his thoughts on when an extract method is warranted and highlights some big "code smells." [26:30] Steve explains the pattern "replace conditional with polymorphism." [31:10] What static analysis classes does Steve use regularly? And does he run them with every continuous integration build (or does he have a separate process)? [33:20] Steve gives some practical rules of thumb! [34:28] Steve gives his recommendations on valuable books and resources listeners should follow-up on to learn more. [35:32] What's next for Steve? 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! Steve Smith (LinkedIn) Weekly Dev Tips Podcast, with Steve Smith Ardalis.com (Steve's Blog) Steve Smith on Pluralsight DevBetter.com xUnit NUnit Selenium Cypress Jasmine Karma Coverlet ReportGenerator 'SOLID Principles for C# Developers' Course by Steve Smith on Pluralsight 'Refactoring Fundamentals' Course by Steve Smith on Pluralsight Clean Code: A Handbook of Agile Software Craftsmanship, by Robert C. Martin Code Complete: A Practical Handbook of Software Construction, by Steve McConnell Architect Modern Web Applications with ASP.NET Core and Microsoft Azure, by Steve Smith DogFoodCon DEVIntersection Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
5 Aug 201938min

Daniel Roth on Blazor DevOps - Episode 47
Today's guest is Daniel Roth, a Program Manager on the ASP.NET team at Microsoft. He works on building frameworks for web developers, including ASP.NET Core and Blazor. He has previously worked on various parts of .NET, including System.Net, WCF, XAML, and ASP.NET. And his passions include building frameworks for modern Web frameworks that are simple and easy to use. In this episode, Jeffrey and Daniel explore the world of Blazor DevOps! They take a look at the future potential of Blazor becoming the next desktop or native programming model, why you should use Blazor, the long-term vision for Blazor beyond what's being released this year, and what the DevOps environment looks like for a Blazor server-side app (from a developer's workstation all the way to running it and supporting it in production). Daniel also gives listeners his follow-up recommends on how to get started with Blazor and gives tons of practical tips if you've already gotten started. Topics of Discussion: [:40] Be sure to visit AzureDevOps.Show for past episodes and show notes! [:48] Where to get a hold of Jeffrey's new book, .NET DevOps for Azure. [1:45] About today's episode and guest. [2:00] Jeffrey welcomes Dan to the show! [2:29] What has Dan's journey been like? And how did he get on the ASP.NET team? [5:22] Dan and Jeffrey discuss the future potential of Blazor becoming the next desktop or native programming model. [8:00] Why do we even need a new framework for web apps? Why use Blazor? [13:22] What's the long-term vision for Blazor (beyond what's being released this year)? [20:04] A word from Azure DevOps sponsor: Clear Measure. [20:29] Has the architecture and design process already begun in conjunction with the Xamarin team at Microsoft? Has there been conversations around a collaboration with Xamarin and Blazor? And when will Blazor ship to .NET Core 3.0, WebAssembly, mobile, etc.? [21:56] Why .Net 5.0 is dropping the 'Core.' [23:07] What the DevOps environment looks like for a Blazor server-side app — from a developer's workstation all the way to running it and supporting it in production. And what's going to be different as developers store their code in source control. [35:45] What are the deployment options with Blazor? [41:57] Resources Dan recommends listeners follow-up on after listening to today's episode! 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! Blazor Daniel Roth (LinkedIn) Daniel Roth's Twitter WebAssembly Angular React Vue AutoCAD "Blazor, a new framework for browser-based .NET apps - Steve Sanderson" (NDC Conferences Video) Xamarin .NET Core 3.0 Visual Studio Preview Visual Studio Code C# Extension GitHub.com/AspNet/AspNetCore Azure SignalR Service Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
29 Juli 201943min

Kendra Little on Database DevOps - Episode 46
Today's guest on this week's Azure DevOps Podcast is Kendra Little, a DevOps Advocate for Redgate Software and a Microsoft Certified Master in SQL Server. She has trained IT leaders, developers, and database administrators around the world on topics including performance tuning, preventing and managing incidents with business-critical databases, and optimizing operations and the software development cycle. Kendra is also the founder of SQLWorkbooks where she creates online training videos and teaches in-person courses on SQL Server. And one last neat fact about Kendra: she has been awarded the 'Most Valuable Professional' award by Microsoft seven times! Today Kendra and Jeffrey will be discussing database DevOps — which doesn't get much play in the sea of noise that is DevOps for web applications or backend services! It's kind of a hard topic, but it's also where a lot of the magic happens — and Kendra lives in it day-in and day-out! Tune in to get her insight on what database DevOps is, how you should be thinking about it, her views on branching and where it fits into database DevOps, what automating database deployments looks like, and what tools and resources developers should be looking at in regards to database DevOps. Topics of Discussion: [:36] Be sure to visit AzureDevOps.Show for past episodes and show notes! [:47] Where to get a hold of Jeffrey's new book, .NET DevOps for Azure. [1:26] About today's episode and guest. [1:58] Jeffrey welcomes Kendra to the show! [3:26] Kendra shares her background and journey in the industry of software development. [7:22] What is database DevOps? And how should people be thinking about it? [11:00] Where should the DBA be in the process of planning a change in the database code? [15:05] Kendra gives her view on branching and how it fits into database DevOps. [21:23] A word from Azure DevOps Podcast's sponsor: Clear Measure. [21:49] Kendra describes what automating database deployments — and, if it fails and you have to rollback — looks like. [26:37] If you do write undo scripts, where does that fit in with all the tooling? [33:09] What tools should developers be looking at in regards to database DevOps? And what tips does Kendra have for those just getting started? [39:02] Kendra gives her recommendations on what listeners should first follow-up on after listening to this week's episode! Mentioned in this Episode: Azure DevOps Clear Measure (Sponsor) — Reach out to Jeffrey @JeffreyPalermo on Twitter if you have a user group or conference and would like some free copies of .NET DevOps for Azure! .NET DevOps for Azure, by Jeffrey Palermo bit.ly/dotnetdevopsproject Kendra Little (LinkedIn) SQLWorkbooks Redgate Software Redgate's SQL in the City Summit DevOps Topologies "The Unnecessary Evil of the Shared Development Database," by Troy Hunt Redgate's SQL Change Automation Redgate University Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
22 Juli 201941min

Richard Campbell on Software Perspectives - Episode 45
Today's guest is Richard Campbell! Richard's career has spanned the computing industry — both on the hardware and the software side; development and operations. He was a co-founder of Strangeloop Networks, which was acquired by Radware in 2013 and spent five years on the Board of Directors of Telerik (which was acquired by Progress Software in 2014). He has also founded Humanitarian Toolbox, an organization design to let developers around the world donate their skills to disaster relief organizations by building open source software. Today he is a consultant and advisor for a number of successful technology firms as well as the co-owner and content planner of the DevIntersection group of conferences. On top of all that, you may also recognize Richard as a co-host on two podcasts: .NET Rocks! and RunAs Radio! In this week's fun episode, Jeffrey and Richard discuss software perspectives and shipping software without all the trendy buzzwords. Richard shares what he has learned over his time shipping software, his thoughts on Dev and Ops and how they can better come together, his recommendations on how to structure logs and what to log, the challenges with an independently running application or service, his predictions on what user interface types and application types will be the next big trend, and his best pick as far as all of the UI and application types available today. He also gives a bit of a sneak preview of the book he is currently working on about .NET! Topics of Discussion: [:40] Be sure to visit AzureDevOps.Show for past episodes and show notes! [:48] Where to get a hold of Jeffrey's new book, .NET DevOps for Azure. [1:35] About today's episode and guest. [2:50] Jeffrey welcomes Richard to the show! [4:09] Back when Richard wrote his first line of code in 1977, was there a division between Dev and Ops? [5:41] Jeffrey and Richard discuss shipping software, what Richard has learned over his time doing it, about the history of .NET book Richard is working on, and other key lessons from his various positions in the industry. [11:28] Richard gives his recommendations on how to structure logs and what to log. [14:51] The best thing you can do when you're trying to work across teams. [16:02] There are a lot of developers… but where are the architects? And how does a developer become an architect? [19:40] A word from Azure DevOps sponsor: Clear Measure. [20:05] On the topic of 'buzzwords…' How would Richard classify a microservice? [22:41] One of the challenges with an independently running application or service: the state/data. [27:16] Richard gives his predictions on what user interface types and application types are going to be the next trend and his thoughts on what developers should be investing their skills in. [28:21] What would be Richard's best pick as far as all of the UI and application types available today? [31:50] Is the language less important than the platform? [33:49] What're the best mechanisms for somebody getting into the platform today? [36:52] When is Richard's .NET book coming out? And what will it be about? Mentioned in this Episode: Azure DevOps Clear Measure (Sponsor) — Reach out to Jeffrey @JeffreyPalermo on Twitter if you have a user group or conference and would like some free copies of .NET DevOps for Azure! .NET DevOps for Azure, by Jeffrey Palermo bit.ly/dotnetdevopsproject Humanitarian Toolbox .NET Rocks! Podcast RunAs Radio Podcast DevIntersection Progress Software's acquisition of Telerik Microsoft Secrets: How the World's Most Powerful Software Company Creates Technology, Shapes Markets and Manages People, by Michael A. Cusumano Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.
15 Juli 201942min





















