Anton Sizikov

Paying your technical debt.

Configure WSL2 limits on Windows 10

on 2021-02-03

WSL2 on Windows 10 has some issues, but I still prefere it to run my docker containers locally. One of the problems which used to bug me a lot was the memory consumption by Vmmem process. The memory consumption goes though the roof. Even on 32GB machine you may run out of memory. I can’t fix the problem, but at least I know how to patch it up. Here is what I do:

#devops

Read more of Configure WSL2 limits on Windows 10

Configure CD for Azure WebApp with Terraform Provider for Octopus Deploy

on 2021-01-27

In this post, I’m going to configure the continuous delivery process for Azure WebApp (Azure Function in this case, but that’s pretty much the same) with Octopus Deploy. To make it a little bit interesting I’m going to use Configuration-as-Code approach with a brand new Octopus provider for Terraform. Buckle up and let’s get started… Tools Terraform I’m going to need terraform on my machine: Octopus Deploy For this post, I’ve signed up for a free tier of Octopus Deploy SaaS offering.

#devops #octopus deploy #terraform

Read more of Configure CD for Azure WebApp with Terraform Provider for Octopus Deploy

Using GitHub Container Registry with Kubernetes

on 2020-10-08

GitHub Container Registry was introduced on the 1st of September 2020. It’s still in the Beta stage, so it’s rather not recommended to use it in production. However, it offers us free private storage for our Docker images, at least until the end of the Beta period. Private storage, free and unlimited download… looks like a good enough option for local development. In this post, I’m going to configure my local Kubernetes cluster to pull images from my GitHub Container Registry.

#devops #kubernetes #github

Read more of Using GitHub Container Registry with Kubernetes

Docker image tests

on 2020-09-29

Today we’re going to set up a CI/CD GitHub Action with a Container Structure Test step which will help us to enforce the certain quality policies for the images which we build and ship. It’s a good idea to review your docker images. First of all, it can save time, disk space, and money. When our images are lean the build time is reduced as well as the pull and startup time.

#docker #devops

Read more of Docker image tests

Fix console logs for Azure Functions running in a Docker container

on 2020-07-10

Local development of C# Azure Functions on macOS is still a bit painful. Even the simple-ish logging might cause issues. Let’s assume that we have Azure Functions Core Tools installed and we have a basic function app with one TimerTrigger function created. With the default Run/Debug configuration We can compile and run our function Our function will start and log to console as expected. I wish all the functions were that simple, right?

#azure #docker #serverless

Read more of Fix console logs for Azure Functions running in a Docker container

Provision your Azure environment with Terraform and Octopus Deploy

on 2020-03-21

My current project has reached the point where we have to manage our infrastructure in a more organized way rather than ad-hoc manual configurations. Current landscape We use a pretty standard setup for a .NET web application. We keep our code in one monorepo hosted in internal GitLab. We use TeamCity to build our code and we use Octopus Deploy to run our deployments to Azure. We have several environments (let’s call them feature, test, and prod) and they all are different.

#devops #octopus deploy #terraform #azure

Read more of Provision your Azure environment with Terraform and Octopus Deploy

Connecting SQL Operations Studio to SQL Express server in Parallels VM

on 2018-01-12

In this post, I’m going to show how to marry SQL Operations Studio running on macOS with MS SQL Express running on Windows VM in Parallels. Even though SQL Ops Studio is not a fully mature project it’s already sufficient enough to perform simple and quick actions. Motivation Since I’m running most of the apps on a host macOS and I’m trying to keep my windows VM as lean and possible, I think SQL Ops Studio is a good choice for most of my SQL related tasks.

#tools

Read more of Connecting SQL Operations Studio to SQL Express server in Parallels VM

You are mocking it wrong.

on 2017-12-23

Well, probably you are not, but let me grumble a little bit anyway. Mockingbird knows how to mock. I’ve been working with various code bases throughout of my career, and there is one pattern which I see rather often. As you may have already guessed it’s the unit-tests and mocking I’m going to talk about here. To give it a nice catchy start, I’d claim here, that mocks should be used when you have to, but not when you can.

#programming

Read more of You are mocking it wrong.

Investigating unexpected MSBuild behavior

on 2016-12-24

Recently I took latest changes from git, merged dev to my current branch and decided to run few integration tests. You know, just to be sure. What do I see? well… this. Could not load file or assembly ‘Microsoft.Data.Edm, Version=5.6.4.0, Culture=neutral, PublicKeyToken=... or one of its dependencies. That doesn’t sound right, though it’s typically easy to fix. The first reaction is to consolidate NuGet packages in my Solution. All the installed packages have same version 5.

#tools

Read more of Investigating unexpected MSBuild behavior

Write code for the reviewer, not for the compiler

on 2016-09-24

I’ve been doing code reviews on a daily basis for several years for now. This activity is very different from what I do as a developer. Most of the time I try to understand, debug, fix or update existing code. Less often developers write new code from scratch. I think it’s safe to say that we all know how to work with a code written by another human. One might want to say that if we know how to work with other people’s code, we can be good at reading and understanding it during the code review process.

#programming

Read more of Write code for the reviewer, not for the compiler