Posts
Zero-downtime deployment for Azure functions - 'how to' guide.
I found it useful to highlight the approach of zero-downtime deployment in context of Azure Functions as well as a few “pain points”, because the standard documentation does not explain all nuances (there are a lot of nuances by the way).
WireMock case study: how to reduce delivery lead time
During the last half of the year, my team have done a lot in the context of automated acceptance testing for our services. The text below is an attempt to formalize what was done and what we’ve achieved as a team.
Nuke.Build + Azure Pipelines: how to publish code coverage artifacts correctly
On my current project we’ve started use Nuke.Build for buld and deployment pipeline for our services. Througout last few months we did a great job for creating fully operation template for a service, allowing to spin up new services in a 10 minutes. At the same time there are still many issues that we need to address. On this article I want to describe one of the issue, which we’ve been trying to solve a long time.
Azure Durable Functions: performance tips
I’ve been using Azure Durable Function for a long time for developing a high load ETL process. And I have to mention that it’s very useful library that allows you write stateful functions in a serverless compute environment. Also it not worse to mention that programming model allows you to write code in a same way you write asynchronous code using
async
andawait
keywords. At a first look it might seem that there is no difference between regular async calls and durable calls, but it’s not true.Cosmos DB: does DISTINCT COUNT really work?
For a while ago during UAT testing for one of our monitoring app we’ve found strange behaviour in one of cosmos queries. The query performs count against distinct elements returned by inner sub-query. The query itself looks like below:
Azure managed identities: specificities for local development under .Net Core
Managed identities for Azure resources provides automatic managment for identities in Azure AD in order to authenticate to any resources without having any credentials in the code. I guess a reader is already familiar with managed identities. Just in case here is a link to appropariate page to start with.
Implementing retry policies for Gremlin.NET
At the time of writing this article, Gremlin.NET client library does not support retrying after transient faults. This is a big issue when client communicate with graph services which have to provide some kind of SLA agrrements.
Composition and separation of concerns
Lets talk a bit about SOLID or rather SRP (Single responsibility principle). How do you think does this piece of code follow SRP principle?
Building modular applications
Have you ever seen projects where all entities, models, domain objects, repositories, services are placed in one place based on class types: all entities are on a single project, repositories are all in a another project and so on? Does it pretty familiar for you? ;) I would say this is worst approach that I can imagine. Why it is bad? Well, there are many reasons…
Cosmos DB: Configure indexing to perform range queries for string values.
By default, the
CosmosDB SDK
serializesDateTime
values asISO 8601
string. So, that’s a problem if you want to execute ranges or ORDER BY queries based on DateTime properties, because by default Cosmos DB engine creates HASH-based indexes for string values.Setup code coverage for VSTS and .NET Core.
Let’s imagine that you have VSTS build pipeline for continuously build and test you project. Moreover your project can also has many (or not) tests. To understand what places in your code are covered and what not, you might want to gather coverage code coverage statistic for your tests. Let’s take a look how we can do this using out-of-box solution in VSTS.
subscribe via RSS