Rockford Lhotka on Software Architecture - Episode 33

Rockford Lhotka on Software Architecture - Episode 33

Today’s guest is Rockford Lhotka. Rocky is an open source architect, professional author, speaker, Microsoft Regional Director, MVP, and avid outdoorsman! He’s written numerous books on Visual Basic, C#, and CSLA .NET; and regularly speaks at major technical events.

Rocky has been a mover and shaker in this industry for a long time. He got started in the late 80s, jumped onto the Microsoft bandwagon, and has never looked back since. Most notably, Rocky is the the CTO of Magenic — the leading modern application development firm that addresses the toughest, most complex software development challenges and delivers results. He is also the creator of CSLA .NET, one of the most widely used development frameworks for Microsoft .NET.

This week, Jeffrey and Rocky are discussing software architecture. They discuss what Rocky is seeing transformation-wise on both the client side and server side, compare and visit the spectrum of Containers vs. virtual machines vs. PaaS vs. Azure Functions, and take a look at microservice architecture. Rocky also gives his tips and recommendations for companies who identify as .NET shops, and whether you should go with Containers or PaaS.

Topics of Discussion:

[:48] About today’s episode and guest.

[1:10] Jeffrey welcomes Rocky to the podcast.

[1:57] Rocky introduces himself and gives a rundown of how he’s gotten to this point in time.

[3:15] About Rocky’s popular open source library called CSLA now on .NET Core.

[6:53] Where Rocky sees the client side transformation heading on the web.

[16:34] Rocky’s recommendations (for companies who identify as .NET shops) to do today.

[21:20] What Rocky is paying attention to on the server side transformation.

[24:07] A word from The Azure DevOps Podcast’s sponsor: Clear Measure.

[24:33] How Rocky views the spectrum of Containers vs. virtual machines vs. PaaS and Azure Functions?

[26:10] Which is more forward-looking? Containers or PaaS? And if someone doesn’t understand either one and is just looking to modernize, which does Rocky recommend?

[28:50] Does Rocky believe that 10 years down the line, a Linux format Container is going to become the defacto standard .NET Core package format?

[30:30] Why Rocky (and many other developers) are looking to Linux from a Container perspective.

[34:30] What does Rocky think a microservice is? And some of the problems with the current mixed definitions.

[42:12] How many pipelines are really needed to maintain and operate this overall microservice architecture?

[44:08] Resources Rocky recommends listeners follow-up on to learn more.

Mentioned in this Episode:

Azure DevOps

Clear Measure (Sponsor)

Rockford Lhotka (LinkedIn)

Magenic

MVP Summit

CSLA .NET

WebAssembly

Angular

React

Uno Platform

Blazor

Kubernetes

Node

Python

PaaS

Azure Functions

Amazon Web Services (AWS)

“Why Microservice is a Terrible Term,” by Rockford Lhotka

Rockford Lhotka’s Blog

NextGen Reader

Gitter.im

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.

Avsnitt(373)

Jeremy Miller: Parallelism in Software - Episode 261

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.

4 Sep 202336min

Nathaniel Schutta: Thinking Architecturally - Episode 260

Nathaniel Schutta: Thinking Architecturally - Episode 260

Nathaniel Schutta (or Nate) is a software architect focused on cloud computing and building usable applications. A proponent of polyglot programming, Nate has written multiple books and appeared in various videos. Nate is a seasoned speaker, regularly presenting at conferences worldwide, No Fluff Just Stuff symposia, meetups, universities, and user groups. In addition to his day job, Nate is an adjunct professor at the University of Minnesota where he teaches students to embrace (and evaluate) technical change. Driven to rid the world of bad presentations, Nate co-authored the book Presentation Patterns with Neal Ford and Matthew McCullough. Nate has published Thinking Architecturally and Responsible Microservices both available as free downloads from VMware.   Topics of Discussion: [5:12] How Nate decided he liked development and architecture, and who was Dr. Evil? [7:10] Nate worked at a software company for a brief period and spent a lot of his time building enterprise web apps. [10:13] Is it possible to think and talk about software the same, regardless of language? [14:17] Nate Defines circuit breaker. [15:56] The importance of having good observability and monitoring in place to see what is going on. [22:35] Nate gives some categories of architects and where he thinks it changes in responsibility and scope. [26:14] To quote Ralph Johnson, “Architecture is the important stuff, whatever that is.” While we may have different definitions of “IT,” Nate thinks that it has the decisions that are hard to change later, and the ones we hope we get right in the first place. The “IT” is also what matters to the application at hand. [36:14] Are we currently at another inflection point? [38:03] The current landscape and challenges of inventing things on the fly. [45:22] What can we expect from Nate’s new book? [55:54] Engineers often overlook soft skills, and the Dale Carnegie books on leadership are a great place to start.   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 Nate Schutta Twitter Nathaniel Schutta Website Thinking Architecturally Fundamentals of Software  Dale Carnegie    Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

28 Aug 202359min

Bob Walker: Painless Operations - Episode 259

Bob Walker: Painless Operations - Episode 259

Bob started as a .NET Developer back in the early days of .NET 1.1 with the goal of converting ASP pages to ASP.NET web applications. During that time, his career progressed from .NET Developer to Lead Developer, to Architect, to where he is today. As a technical director at Octopus Deploy, he helps solve complex customer problems as Octopus Deploy. As a team, we help answer both technical and non-technical questions. Bob has been a fan of making it easier to deploy software since the early 2010s, when working for a company the only time to deploy to production was 2 a.m. Saturday. That has led him down the path of CI/CD, DevOps, TDD, and automating all things. He was exposed to Redgate tooling and Octopus Deploy while working at Farm Credit Services of America and has been a fan ever since. In his current role, Bob gets to work with a variety of technologies every day.   Topics of Discussion: [1:41] One of the biggest high points in Bob’s career was being one of the champions of automating database deployments, and seeing that spread across all these other teams. [3:51] Also, he adopted test-driven development and was able to improve the speed of his application from 500 milliseconds per request to 50 milliseconds. [5:20] Bob talks about test-driven development. [7:00] The rules of thumb for people to get right to make running their software system more painless. [8:14] The problem of database management. [10:10] There are two schools of thought: state-based management and migration approach. [12:59] Distributed source control and having a build server are two of the main tools to consider. [15:28] The critical ingredients of monitoring and recovery. [22:07] The two ways to define a tenant. [24:11] One of the advantages of multi-tenancy applications is having a shared application and a shared database, where all the data of all the customers is intermingled with one customer’s data. [27:29] Managing complexity in the cloud. [33:53] I’s all about improving a little, every day, and practicing to get better just a little bit more.   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 Bob Walker Twitter Bob Walker LinkedIn Blog — Octopus Deploy Octopus Deploy   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

21 Aug 202334min

Damian Brady: GitHub Copilot - Episode 258

Damian Brady: GitHub Copilot - Episode 258

Damian Brady is a Developer Advocate Manager at GitHub. He's a developer, speaker, and author specializing in DevOps, MLOps, developer process, and software architecture. Formerly a Cloud Advocate at Microsoft for four years, and before that, a dev at Octopus Deploy and a Microsoft MVP, he has a 25-year background in software development and consulting in a broad range of industries. In Australia, he co-organized the Brisbane .Net User Group and launched the annual DDD Brisbane conference.   Topics of Discussion: [2:12] How did Damian get into the field? [5:50] What is GitHub Copilot, and what are some of the most impressive and time-saving features? [8:38] What is the model that GitHub Copilot uses? [10:32] How have they decided what code is appropriate for this model? [12:13] Damian talks about both the prompt engineering and the server side. [17:30] How do you know if your code is good code? [19:50] Damian shares some cool prompts he has seen in Copilot Chat. [26:10] Github Copilot Voice is an experimental tool, useful for people who find it hard to type or who can’t type. [32:48] The aim of Copilot is to basically increase your productivity, but increase your happiness as a developer as well. [34:40] Will this eventually take the job of all developers? [38:14] Whether it’s GitHub Copilot or a competitive tool that does AI programming, it’s just going to be the way that you do software engineering. [43:07] The difference between junior and senior developers.   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 Damian Brady on Twitter Damian Brady website GitHubNext CoPilot for Docs GitHubNext | Copilot for Pull Requests Copilot for CLI CoPilot Voice DDD Brisbane   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

14 Aug 202349min

Glenn Burnside: Managing Developers - Episode 257

Glenn Burnside: Managing Developers - Episode 257

Glenn Burnside is the Principal Engineer at Skimmer. For 11 years, he was the Executive Vice President at Headspring until they were acquired by Accenture. Before that, he held a number of development management positions as well as leadership roles in the Boy Scouts and other community roles. Glenn holds an Executive MBA from Quantic School of Business and a Computer Engineering degree from Texas A&M University, where he held leadership positions in the Corps of Cadets, Company B-1. You can find more about Glenn at glennburnside.com.   Topics of Discussion: [3:48] Glenn shares a funny story of threatening to quit if he became a manager, and what it feels like to bug people about filling out their timesheets. [5:13] What Glenn realized about software team management and paving the way for others to grow. [9:03] Glenn talks about his thought process of adding someone to the team, whether it’s from scratch or adding someone to an existing team. [10:08] A concept from The Ideal Team Player, of finding someone that is humble, hungry, and smart. [13:14] Why Glenn asks to look for demonstrated ability or demonstrated actions from their prior history rather than answering a hypothetical question. [14:05] The STARR method: Situation, Task, Action, Resolution, Retrospective. [17:44] The importance of finding someone that can improve with you and learn as they go. [19:46] The younger generation of developers has skills but lacks confidence. [21:54] Gathering data points of the industry as a whole from outside your inner circle and place of employment. [23:07] You’ve got the great people on your team, now how do you get them to stay? [25:02] Keeping everybody aimed at the higher mission. [31:11] Having respect for the whole team, not just thinking of yourself as an individual player.   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 Glenn Burnside on LinkedIn Glenn Burnside   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

7 Aug 202334min

Dennis van der Stelt: Microservices and Distributed Systems - Episode 256

Dennis van der Stelt: Microservices and Distributed Systems - Episode 256

Dennis van der Stelt is a Software Architect who loves building distributed systems and the challenges they bring. To be better than the day before, he continuously searches for new ways to improve his knowledge of architecture and software development. What he learns he tries to share via numerous articles, presentations, and posts on his blog. If you want to chat, feel free to ping Dennis on Twitter at @dvdstelt.   Topics of Discussion: [3:07] How did Dennis get into distributed systems? [5:24] Helping customers with building distributed systems. [7:00] Dennis describes the essence of distributed systems. [9:07] The role of asynchronous messaging between components in distributed systems. [12:38] Dennis shares a story about a panicked CEO when the database went down, and the lessons learned from the experience. [14:44] Starting with synchronous distribution, and then moving to asynchronous when you find the benefit. [16:05] The downsides of using asynchronous communication. [17:28] Who decides what happens when things go wrong? [22:34] What Amazon does right. [27:18] Microservices and event-driven architecture — Jeffrey has yet to find a microservices expert! [35:48] Thinking more about the domain model in vertical slices.   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 Particular Software Dennis on Github Dennis on Twitter Dennis van der Stelt   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

31 Juli 202338min

Giorgi Dalakishvili: Beyond Relational Data with Entity Framework - Episode 255

Giorgi Dalakishvili: Beyond Relational Data with Entity Framework - Episode 255

Giorgi Dalakishvili is a software developer with more than a decade of experience. He works mainly with C#, ASP.NET MVC/ASP.NET Core, REST, WCF, Xamarin, Android, iOS, Entity Framework, Azure, SQL Server, and Oracle.   Giorgi is an open-source author and contributor on GitHub and a member of the .NET Foundation and InfoQ Editor.   Topics of Discussion: [3:33] Giorgi has worked with all the frameworks and libraries that Microsoft has come out with over the past 10‒15 years. He discusses using Entity Framework and starting his small speaking engagements. [5:12] Sessionize is a website where you can put out some different topics that you’d be willing to speak on, and just reach out to different user groups to take the plunge and do some public speaking for the first time. [6:03] Other types of data with Entity Framework beyond relational data, such as hierarchical data type from SQL Server. [8:49] How it simplifies your life. [9:28] What about JSON? Are there any limitations on the back-end database? [13:00] Is the support in EF Core 7.0 good enough to give a try if you’re going against SQL Server? [14:09] What other types of data are interesting to work with with Entity Framework? [14:36] Using geospatial data. What does it even look like? [18:30] Full text search, and how it’s different from a regular text search. [23:20] There are a lot of features to uncover in relational databases that we aren’t even aware of yet. [26:22] There are some problems and some tasks that are better solved with non-relational databases, but the majority can overlap between the two systems.   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 .NET Giorgi Dalakishvili   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

24 Juli 202327min

Mitchel Sellers: Architecting .NET MAUI - Episode 254

Mitchel Sellers: Architecting .NET MAUI - Episode 254

Mitchel Sellers is globally known as a 15-time Microsoft MVP, an ASPInsider, a DNN MVP, an MCP (Microsoft .NET, ASP.NET, and SQL Server), and CEO of IowaComputerGurus Inc. Sellers has a deep understanding of software development and, when speaking, focuses on proper architecture standards, performance, stability, security, and overall cost-effectiveness of delivered solutions. This message and his abilities resonate in the technical war room as well as the executive board room.   Mitchel is a prolific public speaker, presenting more than 400 sessions at user groups and conferences globally, such as DevUp, SDN, and Code PaLOUsa. Sellers has been the author of multiple books and a regular blogger on technology topics.   When Mitchel is not working in technology, you will find him flying his airplane, teaching others how to fly, or spending time with his family. He is also actively involved in the Open Source Community working diligently to further the movement.   Topics of Discussion: [3:02] Congrats to Mitchel on his election to a leadership position at the .NET foundation. [3:41] What is the .NET Foundation? [5:58] What about .NET Maui catches Mitchel’s attention, and is it really ready for us to go for it? [6:40] Official support for Xamarin Forms is going to be ending officially in early 2024. [8:48] The .NET Maui Blazor hybrid model. [10:22] What has been Mitchel’s experience pushing Maui applications to the various app stores? [13:00] The most applicable patterns when you are laying out the spread of a Maui application. [16:10] The preference for a centralized location. [21:49] The tendency to overlook analytics. [22:57] What does the analytics and telemetry suite look like, and what are the users doing with the application? [25:01] Tools like App Insights from Azure can be awesome, but they can also get very expensive. [27:10] What is the DevOps story for Maui applications these days from continuous integration and automated testing to deployments and versioning? [31:12] Using GitHub actions, which of the steps require certain operating-system-hosted agents? [34:37] What is next for Maui, both traditional and using the Blazor hybrid? [37:40] Where can we find Mitchel next?   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 .NET Mitchel Sellers .NET Foundation Architect Forum Clear Measure Way GitHub Mitchel Sellers .NET Maui + GitHub Actions Mobile Sync   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

17 Juli 202338min

Populärt inom Politik & nyheter

aftonbladet-krim
p3-krim
rss-krimstad
fordomspodden
motiv
rss-viva-fotboll
flashback-forever
svenska-fall
rss-sanning-konsekvens
aftonbladet-daily
rss-vad-fan-hande
dagens-eko
olyckan-inifran
grans
blenda-2
svd-dokumentara-berattelser-2
rss-frandfors-horna
rss-krimreportrarna
krimmagasinet
rss-flodet