Chasing DevOps

A blog about software development, DevOps, and delivering value.

Category: Development

  • Dependency Injection in Azure Functions

    The simplicity of Azure Functions makes it tempting to avoid following good design practices like dependency injection. The default project template doesn’t even support it. This may be fine for learning and quick experiments but would be a mistake for production code. Simplicity is not an excuse for bad engineering. Luckily, setting up dependency injection […]

    Read More

  • Using Azure.Identity to Connect to Azure SQL

    The new Azure.Identity library hit GA this month. I’ve been wanting to modify a lot of our services to use managed identities and this library, through the use of DefaultAzureIdentity, finally streamlines the experience between local development and running in Azure. So far only the most common Azure SDK packages have first-class support for it, […]

    Read More

  • My job is hurting my career! How do I fix it?

    I recently read a post on a career advice board from a software engineer who was worried his job was hurting his career. He worked with “legacy code” at a boring company where nothing ever changed. They were stuck with outdated systems and poor development/IT practices. He felt behind in the industry and was worried […]

    Read More

  • Paging in Azure Cosmos DB SQL .NET SDK

    Record paging is a really common requirement for APIs that expose a lot of data. Paging in Azure Cosmos DB SQL API is done using continuation tokens. This post demonstrates how to use them to implement a paged API. When querying Cosmos DB through the REST API you can specify a maximum count to return in […]

    Read More

  • Extending SQL Generation in Entity Framework Core

    I’ve been working on a project where we’re migrating a data access layer from an old ORM to Entity Framework Core. The old ORM has some features that EF Core doesn’t support, so I was tasked with seeing if the SQL generation in Entity Framework Core’s SQL Server provider could be extended to support what […]

    Read More

  • Testing Entity Framework Core Migrations

    It’s a good practice to always test your EF migration code when you create a new migration, especially if you are manually tweaking the Up() or Down() code. If that code doesn’t apply the changes properly it could put the database in a bad state and break migrations if you try to run it again. […]

    Read More

  • Use your PowerShell prompt to differentiate between regular and admin sessions

    I often find myself switching between regular and administrator PowerShell sessions. If you have one of each session open, the only way to tell the difference between them is to look for the word “Administrator” in the title bar. I’m not sure if it’s the poor contrast in the title bar or if I’m slowly […]

    Read More

  • Using Message Handlers in ASP.NET Web API

    Using Message Handlers in ASP.NET Web API

    Message handlers are a very powerful yet underutilized part of the ASP.NET Web API framework. In this post, I’ll demonstrate their usefulness in keeping your API clean, maintainable, and testable. Before I get into how to write a message handler you need to know where they fit into the Web API request pipeline and how […]

    Read More

  • Cloud Design Patterns: Retry

    The Problem Cloud applications depend on a lot of interconnected services and resources. These services are generally reliable, but transient failures are simply a reality of the Internet. While providers like Azure and AWS try their best to make sure their services are available they can’t mitigate the risk entirely. Not accounting for this in the […]

    Read More

  • Cloud Design Patterns: Cache-Aside

    Imagine you’ve built and deployed an incredible new application that is taking the Internet by storm. At first, you were amazed at the horde of new users that were registering every day. Now after seeing how taxed your compute and data store resources are you wish it hadn’t happened quite so fast. Even after scaling up resources, you’re […]

    Read More

Jesse Barocio

Software developer, DevOps engineer, and productivity tool nut. Continuously improving. Have a question or problem you need solved? Email me!