Joe Duffy on Infrastructure as Code - Episode 99

This week's guest is Joe Duffy, the CEO of Pulumi — a venture-backed startup in Seattle whose mission is to help developers and operators get their code to the cloud faster together. Prior to founding and leading Pulumi, Joe worked for Microsoft for a number of years helping them take .NET to open source. Currently, his main focuses are on Infrastructure as Code and Cloud Engineering.

In this episode, Jeffrey and Joe take a deep dive into Infrastructure as Code. As someone who has been pouring his brain into the problems around IaC, Joe shares what he has learned about IaC, how Pulumi resolves some of these problems, and how you can get started with Pulumi today.

Topics of Discussion:

[:38] Be sure to visit AzureDevOps.Show for past episodes and show notes.

[:48] About The Azure DevOps Podcast and Jeffrey's offer to speak at virtual user groups.

[1:27] About today's episode with Joe Duffy!

[1:46] Jeffrey welcomes Joe to the podcast.

[1:50] Joe shares his experience at Microsoft when .NET first became open source.

[3:50] Jeffrey and Joe reflect on the history of using .NET with the Macbook.

[6:05] Joe shares what he has learned about Infrastructure as Code throughout his career and the approach they took with solving the problem with Pulumi.

[9:09] How does Pulumi solve specific problems better than Azure ARM?

[11:53] Joe shares how he thinks about the different levels in Infrastructure as Code (which gets at the heart of how infrastructure teams and developers work together.)

[14:55] Joe dives into the Pulumi approach and what solutions they integrate with.

[16:26] Joe shares the solution they offer to developers who are looking to do standard things.

[19:07] A word from Azure DevOps Podcast's sponsor: Clear Measure.

[19:32] How does Pulumi solve the problem of developers who have to do it all (i.e. both the developer and infrastructure side)?

[22:08] From an architecture perspective, what does Joe think is the best infrastructure to pick?

[24:18] Joe shares how they have approached the issue of database migration with Pulumi.

[27:42] Joe discusses changing a setting on your app service after deploying your application vs. the other problem of 'I'm not actually changing my code, but I need to change the setting.'

[30:24] With DevOps now 10 years old, does Joe believe that the current state of the industry is where it will continue to live, or does he see another sea change coming?

[32:03] Joe breaks down the paid tiers in Pulumi.

[33:42] How Joe recommends getting started with Pulumi.

[35:18] Is there a way to debug and use desktop emulators locally?

[36:26] Jeffrey thanks Joe for joining the podcast!

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 — Available on Amazon!

bit.ly/dotnetdevopsebook — Click here to download the .NET DevOps for Azure ebook!

Jeffrey Palermo's Youtube

Jeffrey Palermo's Twitter — Follow to stay informed about future events!

The Azure DevOps Podcast's Twitter: @AzureDevOpsShow

What is Infrastructure as Code?

Joe Duffy's LinkedIn

Joe Duffy's Blog

Pulumi

GitHub.com/Pulumi/TF2Pulumi

Azure ARM

JSON

NuGet
Terraform

Chef

Puppet

Akka.NET

Microsoft Orleans

Kubernetes

Pulumi — Get Started

Pulumi Slack Channel

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Download this episode (MP3, 37:22, 35.9 MB)

Watch this episode on YouTube

This episode on the AI DevOps Podcast site

Jimmy Bogard on AutoMapper and MediatR - Episode 98

Joining Jeffrey today is Jimmy Bogard, an Independent Consultant, long-time Microsoft MVP award recipient, C# guru, and author and maintainer of AutoMapper (as well as many other open-source projects!) He has twenty years of experience building mission-critical applications and distributed systems with extensive experience in Agile, Test-Driven Development, Domain-Driven Design, Object-Oriented Design, Service Oriented, and Distributed Systems.

Jimmy's convention-based object-object mapper, AutoMapper, is used by tons of teams everywhere and has over 14 million downloads on NuGet. In this episode, Jimmy speaks about the genesis of AutoMapper, how it has evolved over time, shares about his career journey, speaks about MediatR, and gives his thoughts on Blazor and beyond.

Topics of Discussion:

[:38] Be sure to visit AzureDevOps.Show for past episodes and show notes.

[:48] About The Azure DevOps Podcast and Jeffrey's offer to speak at virtual user groups.

[1:31] About today's episode with Jimmy Bogard!

[1:50] Jeffrey welcomes Jimmy to the show!

[2:15] Jimmy gives a rundown of his career.

[3:12] Jimmy shares his thoughts around consulting and what he misses about it.

[5:15] Jimmy tells the story of how AutoMapper got started.

[8:30] Jimmy gives some advice for those who have not used AutoMapper before.

[12:43] Jimmy speaks about the refactoring of the original AutoMapper interface to a top-level interface.

[14:51] With AutoMapper now going on 13 years old, what would Jimmy say are its main strengths? What does he always reach for it? And what uses does he advise against using it with/for?

[17:37] A word from Azure DevOps Podcast's sponsor: Clear Measure.

[18:04] Jimmy shares some background about MediatR and how it got started!

[20:07] What MediatR started out as and how it developed over time.

[21:13] Jimmy shares about the practical uses of MediatR and why someone would want to use it.

[25:32] How the MediatR library makes it easy to codify everything your application does as a command, query, or event.

[26:24] Jeffrey and Jimmy discuss how to think about what's complex for developers.

[28:32] Side effect of using the MediatR library: telemetry.

[30:26] Jimmy's thoughts on Blazor and beyond!

[37:55] How to follow-up with Jimmy and find 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 — Available on Amazon!

bit.ly/dotnetdevopsebook — Click here to download the .NET DevOps for Azure ebook!

Jeffrey Palermo's Youtube

Jeffrey Palermo's Twitter — Follow to stay informed about future events!

The Azure DevOps Podcast's Twitter: @AzureDevOpsShow

Jimmy's Blog: JimmyBogard.com

Jimmy's Twitter @JBogard

Github.com/JBogard

AutoMapper

AutoMapper on NuGet

MediatR

Blazor

JSON

StructureMap

ASP.NET Core

Angular

React

Vue

Microsoft's MAUI Project

Microsoft Silverlight

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Download this episode (MP3, 39:06, 37.5 MB)

Watch this episode on YouTube

This episode on the AI DevOps Podcast site

Danny Vandergriff on Empowering Developers - Episode 97

This week on the podcast, Jeffrey is joined by Danny Vandergriff! Danny is a Principal DevOps Architect at Clear Measure, designing DevOps solutions for clients in a variety of industries. He's also done a tremendous amount of work in the area of database administration for large and complex SQL Server databases.

In this episode, Danny discusses both the Dev and the Ops of DevOps! He gives advice to developers new and old to the industry; tips around designing and implementing SQL databases for business applications; his thoughts regarding disaster recovery, availability, and managing different regions in Azure SQL; recommendations for what processes .NET developers should be looking at when load testing their applications; and his thoughts on Kubernetes, TeamCity, and more!

Topics of Discussion:

[:38] Be sure to visit AzureDevOps.Show for past episodes and show notes.

[1:01] About the recent Microsoft Build Conference and The Azure DevOps Podcast.

[1:30] About today's episode with Danny Vandergriff!

[1:48] Jeffrey welcomes Danny to the show!

[1:57] Danny shares his career background as well as his motivation for getting into the software industry in the first place!

[2:56] Jeffrey and Danny do a synthesis of Dev and Ops.

[5:10] Danny shares what he has learned from designing and implementing SQL databases for business applications.

[6:38] If developers are starting new applications today, is it more common to put the database on a VM or to use the Azure SQL service?

[8:43] Danny gives a rundown of the concepts that you do not have to think about with Azure SQL.

[9:31] Danny explains the concept of DTU; database transaction unit.

[10:26] Is there any way to autoscale the DTUs like in App Service?

[10:52] Danny shares how he thinks about disaster recovery, availability, and managing different regions in Azure SQL.

[11:58] A word from Azure DevOps Podcast's sponsor: Clear Measure.

[12:22] Jeffrey shares some quick announcements.

[14:12] Danny's recommendations for what process .NET developers should be looking at for load testing their applications.

[15:44] Danny's go-to recommendations for developers getting started with load testing for the first time.

[17:24] Regarding new applications, until they have been formally load tested or used in a fully loaded production environment, it doesn't scale. Is this correct?

[18:28] Danny speaks about the landscape regarding build and deploy tools today and how he thinks about the different approaches.

[20:10] The current state of .NET applications and Kubernetes.

[21:48] Danny shares his thoughts about TeamCity.

[23:23] Danny speaks about the tools and methods people should be thinking about when monitoring and supporting the applications running in production.

[25:11] Danny's favorites when it comes to starting a new application.

[29:49] Danny provides his final pieces of advice for developers.

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 — Available on Amazon!

bit.ly/dotnetdevopsebook — Click here to download the .NET DevOps for Azure ebook!

Jeffrey Palermo's Youtube

Jeffrey Palermo's Twitter — Follow to stay informed about future events!

Jeffrey@Clear-Measure.com — Email Jeffrey for a free 30-point DevOps inspection (regularly priced at $5000!) — Spaces are limited!

The Azure DevOps Podcast's Twitter: @AzureDevOpsShow

BlazeMeter

JMeter

Kubernetes

TeamCity

New Relic

Datadog

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Download this episode (MP3, 29:17, 28.1 MB)

Watch this episode on YouTube

This episode on the AI DevOps Podcast site

Simon Brown on Architecture for Developers - Episode 96

In today's episode, Jeffrey Palermo is speaking with Simon Brown! Simon is the author of Software Architecture for Developers; a developer-friendly guide to software architecture, technical leadership, and the balance with agility. Simon is also the creator of the C4 software architecture model and the founder of Structurizr; a collection of tools to help software teams visualize, document, and explore their software architecture.

In their discussion today, they will take a look at architecture for developers. The topic of architecture is something that all developers need to know about, and there is no better guest than Simon Brown to discuss all things architecture! He shares his experience with practical architecture for developers, his advice on how developers that are new to the industry should begin thinking about architecture, how a development team should go about designating someone for the architect role, and shares some additional resources to explore on the topic of architecture! Simon also gives a rundown of C4, his software architecture model, and Structurizr, his collection of lightweight developer tools.

Topics of Discussion:

[:38] Be sure to visit AzureDevOps.Show for past episodes and show notes.

[1:22] About the recent Microsoft Build Conference and The Azure DevOps Podcast.

[1:44] About today's episode with Simon Brown!

[2:14] Jeffrey welcomes Simon to the show!

[2:35] Simon speaks about his background and what led to what he's currently doing.

[3:38] How would Simon encourage developers that are relatively new to the industry to think about architecture?

[6:05] Regardless of what the architect role is called, there should always be someone on the team with a wider perspective on the project or goals.

[6:38] As someone who has coached a lot of people through this, what would Simon say is the right approach to getting started with architecture?

[7:41] How does diagramming fit into architecture?

[9:24] Simon shares why he created C4 (a software architecture model) and why developers should be using it!

[11:48] Contrasting Simon's C4, Jeffrey and Simon discuss the 4+1 architectural view model.

[14:10] A word from Azure DevOps Podcast's sponsor: Clear Measure.

[14:37] Jeffrey shares some quick announcements.

[16:26] Simon discourages developers from installing Viseo, and offers an alternative.

[19:03] If general-purpose diagramming tools are not good for software architecture, what does Simon recommend?

[20:32] Simon speaks about the essence of his Structurizr tooling: lightweight developer tools that are developer-friendly.

[21:47] The stored format of the different views/diagrams is text and therefore would naturally go into the source control repository. So, what does Simon see when he looks in the source control?

[22:58] Simon gives a rundown of what context diagrams, containers, components, and classes are, and when developers should be doing those things.

[29:16] Simon answers the question, "Should we treat our assemblies as containers?"

[29:41] Simon mentioned that, at the class diagram level, you should not do it by hand. Was he alluding to the fact that there are some generators that he likes to use to generate it? When's the last time he actually did that level?

[31:09] For developer teams that are struggling with how to organize themselves, what does Simon recommend regarding how to designate the architect role? How does Simon coach his clients on this?

[34:54] For those who want to learn more, which resources does Simon recommend listeners to check out after listening to this podcast?

[37:02] Jeffrey thanks Simon for joining the podcast!

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 — Available on Amazon!

bit.ly/dotnetdevopsebook — Click here to download the .NET DevOps for Azure ebook!

Jeffrey Palermo's Youtube

Jeffrey Palermo's Twitter — Follow to stay informed about future events!

Jeffrey@Clear-Measure.com — Email Jeffrey for a free 30-point DevOps inspection (regularly priced at $5000!) — Spaces are limited!

The Azure DevOps Podcast's Twitter: @AzureDevOpsShow

SimonBrown.je

Software Architecture for Developers: Technical Leadership and the Balance with Agility, by Simon Brown

Structurizr.com

Simon's Twitter: @SimonBrown

The Agile Manifesto

C4Model.com

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Download this episode (MP3, 35:34, 34.1 MB)

Watch this episode on YouTube

This episode on the AI DevOps Podcast site