John Campbell on a DevOps Success Story - Episode 64

Joining Jeffrey Palermo on the show today is John Campbell, a Director of Process and Solutions Architect at Anaqua! John has been with Anaqua for just over 3 years but has been in the industry for more than 20. He originally started out as a developer but is now leading several teams in the architecting of solutions for application features, is responsible for introducing and implementing SCRUM and agile principles across the organization, and is enabling his team with DevOps practices to ease the development and deployment of work being done (as well as to improve overall productivity!)

In today's episode, John is telling his DevOps success story. His story is one of a software system that has been developed for 15 years; a monolithic architecture that is deployed as a website and a SQL server database. And now, he's gotten to the point where deploying is no big deal at all! Tune in to hear John share all the details of his journey and how he got it to the system to this point — as well as the next big steps on his journey (because the journey to excellence is never finished!)

Topics of Discussion:

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

[:48] Jeffrey gives a few quick announcements.

[1:01] About today's guest, John Campbell

[1:20] Jeffrey welcomes John on to the show!

[1:36] John explains gives an overview of what Anaqua does and how he got to this place in his career.

[3:59] John gets more in-depth about the scale of Anaqua.

[6:05] John gives an overview of the general shape of the system (such as how many databases, datastores, and headless offline processes there are, etc.)

[7:27] Fast-forward to today, John speaks about what the experience is like when he needs to make a change and how fast he has been able to get their cycle time.

[10:23] How many years did this system go without any automated tests?

[10:31] John speaks about the unit tests they currently do and what that looks like.

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

[17:30] Jeffrey makes some announcements about upcoming events!

[19:11] Jeffrey and John speak about headless browsers.

[20:22] John speaks about the database and how they do deployments from it now.

[23:14] John speaks a bit about their lengthy integration build and the steps that need to happen to go from raw source code to a deployable artifact. He also highlights the critical steps that are important to their system in particular.

[28:16] John speaks about what their current cycle looks like for an easy change (where it's clear what to do).

[29:51] Often companies just need their technology to be able to keep up with the pace of the business. John speaks about this and then shares some of the challenges that they face.

[30:48] John shares the next big steps on his journey!

[32:30] Is the system slowly transitioning to .NET Core?

[33:45] Many teams are struggling with a large codebase that they've inherited or architectural decisions that they wish that they could change quicker than they can. John offers some words of encouragement in regards to this!

[35:25] Jeffrey thanks John for joining him in this episode!

Mentioned in this Episode:

Azure DevOps

Clear Measure (Sponsor)

.NET DevOps Bootcamp 2020 — January 16th & 17th in Austin, T.X.

.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!

Azure DevOps ASP.NET Core

Anaqua

John Campbell's LinkedIn

John's Twitch Channel

Donovan Brown's Blog

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

PhantomJS

DACPAC

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Download this episode (MP3, 36:32, 35.1 MB)

Watch this episode on YouTube

This episode on the AI DevOps Podcast site

Matt Mitchell on DevOps on the .NET Core Engineering Services Team - Episode 63

Matt Mitchell is the lead engineer of the .NET Core Engineering Services Team at Microsoft. Matt joined Microsoft in 2006 after two years as an intern from 2004-05. Right out of the gate he did all C++ Compiler work for about 8 years. Eventually, his work morphed into working on the opensource infrastructure for .NET Core — which is what he's doing now!

In today's episode, Jeffrey and Matt are taking a look into DevOps on the .NET Core Engineering Services Team! Matt dissects what Engineering Services is and what they're responsible for, some of the different system types within .NET Core, an overview of the .NET Core infrastructure and how they go about building and testing, and much more! Tune in to hear all of Matt's key insights around .NET Core and the Engineering Services Team.

Topics of Discussion:

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

[:48] Jeffrey gives a few quick announcements.

[1:00] About today's guest, Matt Mitchell!

[1:20] Jeffrey welcomes Matt on to the show!

[1:26] Matt speaks about his career journey and how he landed his current position at Microsoft.

[3:02] Matt dissects what Engineering Services is, how it differs from .NET Framework Engineering Services Team and other teams, and what exactly they're responsible for.

[6:16] How many Git repositories overall make up .NET Core? And how do they organize that?

[13:58] Matt explains some of the different system types within .NET Core.

[17:11] With having 20 repositories now, does Matt foresee an event where they might have to introduce a 21st repository? And does his team provide guidance on how that would need to be set up if that was needed?

[20:05] A word from Azure DevOps Podcast's sponsor: Clear Measure.

[20:30] Jeffrey makes some announcements about upcoming events!

[21:09] Matt provides an overview of the .NET Core infrastructure and how they go about building and testing.

[26:00] Architecturally, the MS build tasks are the way that individual teams are provided with the tools to call so they don't have to duplicate that logic in their build scripts. So, for YAML files, is it just template guidance but that logic is duplicated in each repository?

[32:20] Matt explains why choosing the right number of repositories is one of the biggest ways to absolve some difficulties.

[35:16] Matt provides some examples of content-based systems.

[38:19] Matt recommends some resources to check out after listening to this week's podcast!

Mentioned in this Episode:

Azure DevOps

Clear Measure (Sponsor)

.NET DevOps Bootcamp 2020 — January 16th & 17th in Austin, T.X.

.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!

"The Evolving Infrastructure of .NET Core," by Matt Mitchell (on the Microsoft .NET Blog)

Announcement of .NET Core Repository Consolidation

Timeline for Runtime Repository

Microsoft Phoenix

Midori

Roslyn Compiler
BuildXL GitHub Repository

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.


Download this episode (MP3, 41:25, 39.8 MB)

Watch this episode on YouTube

This episode on the AI DevOps Podcast site

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 Setup
Suz 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.


Download this episode (MP3, 45:47, 43.9 MB)

Watch this episode on YouTube

This episode on the AI DevOps Podcast site

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: @JeffHollan
Azure 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.


Download this episode (MP3, 37:50, 36.3 MB)

Watch this episode on YouTube

This episode on the AI DevOps Podcast site