Jimmy Bogard: .NET 7 and Azure Modernization - Episode 264

Jimmy is the creator and maintainer of the popular OSS libraries AutoMapper and MediatR. Jimmy is an independent consultant based in Austin, TX. Jimmy has received the "Microsoft Most Valuable Professional" (MVP) award every year since 2009.

Topics of Discussion:

[3:45] How do we modernize old software systems?

[4:55] Dividing the modernization process into small steps to minimize dependencies and validate changes along the way.

[5:01] Does Jimmy have a preferred sequence of work that he has found that makes modernizing a system easier?

[7:01] Modernizing legacy ASP.NET web applications with test coverage.

[7:24] System web adapters.

[12:02] Database migration to Azure using SQL Data Sync and Hangfire.

[12:09] Any "gotchas" on the database side?

[15:27] What exactly is Hangfire?

[17:02] The flexibility of Hangfire in its triggers and scheduling.

[23:49] How system web adapters enable easy migration of controllers and actions.

[25:16] Second success story for YARP: Yet Another Reverse Proxy.

[27:15] What was the thought about observability architectures?

[29:02] What are some of Jimmy's favorite features?

[32:08] The team modernized the telemetry system for a large organization, enabling them to query data more efficiently and gain valuable insights.

[35:05] Lessons learned and best practices while modernizing.NET applications with Azure DevOps.

Mentioned in this Episode: YARP

Clear Measure Way

Architect Forum

Software Engineer Forum

Programming with Palermo — New Video Podcast! Email us at programming@palermo.net.

Clear Measure, Inc. (Sponsor)

.NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon!

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

Architect Tips — Video podcast!

YARP: Yet Another Reverse Proxy

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Download this episode (MP3, 39:40, 38.7 MB)

Watch this episode on YouTube

This episode on the AI DevOps Podcast site

J. Tower: Modernization Strangler Fig Pattern - Episode 263

Jonathan, or J. as he's known to friends, is a husband, a father, and the owner of Trailhead Technology Partners, a custom software consulting company with employees all around the world. He is also a Microsoft MVP in .NET and frequently speaks at software meetups and conferences. He doesn't mind too much because he loves sharing what he's learned, and it also gives him an excuse to visit any nearby National Parks, a passion of his, proven by the fact that he's currently made it to 56 of the 63 parks.

J. also has a passion for building community and has served on several non-profit boards over the years as a result. Currently, J. sits on the SoftwareGR board, a non-profit trade organization dedicated to building the software industry in West Michigan. He also runs Beer City Code, a software conference, and has served as president on that board for over a decade. J. loves hiking, reading, photography, and trying to see all the best picture nominees before the Oscars ceremony.

Topics of Discussion:

[4:18] J starting his own consulting company, Trailhead.

[4:55] The two categories that make up software architecture.

[5:54] J's philosophy on when he would rewrite a legacy software system.

[10:52] The pros and cons of making small improvements over time.

[11:33] What is the strangler fig pattern, and how does that turn into a strategy for a software update?

[16:02] Bringing older ASP.NET applications up to .NET7.

[19:55] What is a reverse proxy?

[22:21] We reference the book Working Effectively with Legacy Code.

[25:08] In this process, do both of the applications just get access to everything, or do you have to do something specific?

[31:28] Architecturally, does this approach work in modernizing from older or other platform web applications?

[34:02] The concept of microfrontends.

Mentioned in this Episodes:

Clear Measure Way

Architect Forum

Software Engineer Forum

Programming with Palermo — New Video Podcast! Email us at programming@palermo.net.

Clear Measure, Inc. (Sponsor)

.NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon!

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

Architect Tips — Video podcast!

J. Tower on Twitter

J. Tower on LinkedIn

YARP

Basic YARP Sample

Strangler Fig Application

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Download this episode (MP3, 38:05, 37.1 MB)

Watch this episode on YouTube

This episode on the AI DevOps Podcast site

Chris "Woody" Woodruff: Network Programming - Episode 262

Chris Woodruff, or as his friends call him, Woody, is a software developer and architect of over 25 years. Woody loves software engineering, especially allowing applications and services to communicate across networks and through Web APIs. He has been a Microsoft MVP in SQL, Data, and C# in the past, along with multiple years of being awarded the AWS Community Builder Award. Woody lives in Grand Rapids, Michigan, where he explores the many breweries in West Michigan and travels with his family. Woody is also a long-time bourbon fan and loves hunting for whiskey bottles.

Topics of Discussion:

[4:46] The many positions Woody has held in his career.

[7:14] The genesis behind Woody's new book, Practical Network Programming Using C#. Dive deep into #CSharp12 and #DotNET8.

[9:24] The second book Woody is working on co-writing, on the patterns of developer relations.

[14:10] The original intent of the internet was to protect the military.

[15:22] What is a packet?

[21:08] A brief history of web services.

[24:00] Who was Roy Fielding?

[28:48] Woody talks about using different applications, the WebSocket service, and Dapr.

[35:36] You have to know about the transport across the network, as well as how to build the code and architect your application so that it utilizes the network efficiently.

[40:14] We can expect the book out by May or June 2024.

Mentioned in this Episodes:

Clear Measure Way

Architect Forum

Software Engineer Forum

Programming with Palermo — New Video Podcast! Email us at programming@palermo.net

Clear Measure, Inc. (Sponsor)

.NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon!

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

Architect Tips — Video podcast!

Azure DevOps

Chris Woodruff's Blog

Chris Woodruff LinkedIn

Chris Woodruff Twitter

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Download this episode (MP3, 42:08, 41.0 MB)

Watch this episode on YouTube

This episode on the AI DevOps Podcast site

Jeremy Miller: Parallelism in Software - Episode 261

Jeremy Miller started his career as a "real" engineer but wandered into software because that looked like more fun. Since then, Jeremy has worked in and led software development teams in the computer manufacturing industry, finance, insurance, health care, and banking industries. Lately, Jeremy has been focused on leading software architecture teams and helping mentor other software architects. Having had roles both as an in-house software architect and as a software consultant, Jeremy has a great deal of insight into the challenges that confront companies developing and maintaining enterprise systems over time.

Jeremy is well known for his Open-Source Software tools starting with Structure Map and continuing today to Marten and Wolverine. Jeremy is also a frequent author and technical speaker at software conferences. Jeremy recently helped found JasperFx Software to build a sustainable business around the "Critter Stack" tools.

Topics of Discussion:

[6:10] How Jeremy got into open-source development.

[6:50] Being a part of the codebetter.com website in the pre-Twitter days.

[9:30] What most developers should be aware of in the space of getting code to run or multiple instances to run at the same time and having it come out well.

[12:04] What is Marten, and how does it work?

[12:26] TPL Dataflow Library is a hidden gem inside of Microsoft.

[15:25] The two parts of Marten and how they work together.

[17:42] What is a producer-consumer pattern?

[20:05] How to implement a queue pattern.

[24:04] You should probably have some basic understanding of one level underneath you, but Jeremy thinks you don't want to work on the thread level yourself.

[25:38] Jeremy defines "Critter Stack."

[29:55] Jeremy's advice for new developers.

[32:59] Jeremy talks about the type of customers he is looking to collaborate with.

Mentioned in this Episodes:

Clear Measure Way

Architect Forum

Software Engineer Forum

Programming with Palermo — New Video Podcast! Email us programming@palermo.net

Clear Measure, Inc. (Sponsor)

.NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon!

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

Architect Tips — Video podcast!

Azure DevOps

Jeremy Miller Twitter

Jeremy Miller LinkedIn

Jeremy Miller Website

Jasper FX

Marten

Wolverine

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Download this episode (MP3, 36:29, 35.6 MB)

Watch this episode on YouTube

This episode on the AI DevOps Podcast site