Blog
Home

Another update about my AZ-400 practice project!

25 April 2026 · 48 views

I recently added a new detect-language capability to my Python api, and it was a nice step forward in preparing the platform for more advanced deployment strategies. At the same time, I invested in the groundwork around it by extending unit-test coverage and making sure those tests also run against the main branch, so changes are validated earlier in the flow. I used Aider + Qwen to create base unit tests fast and after that solved errors and failing tests myself.

I also created a dedicated feature-branch flow to support where I want to go next: first blue-green, then canary deployments. That progression makes sense to me because blue-green gives a safer transition path, while canary requires stronger automated validation and more confidence in the test suite.

On the pipeline side, I improved the deployment flow by splitting build and push into separate jobs and only executing them when code in the related service actually changed. Conditional execution and parallel jobs are both well-established ways to reduce unnecessary work in Azure DevOps pipelines, and they help cut pipeline time and resource usage.

A small but useful lesson learned from today's debugging: in a Flask app started with CMD ["python", "app.py"], route definitions need to be placed before the if __name__ == '__main__': app.run(...) block, because app.run() blocks execution and code below it may never be reached during startup. Moving the detect-language route above that section fixed the issue immediately.

Always nice when a feature works in the end, especially when it correctly detects Dutch too 😄

Total execution time of pipeline 2 to 3 minutes for 3 deployments!

Detect-language endpoint test, correctly returning

Co-authored with Claude.

If this was useful, you can buy me a coffee.

New articles: follow via RSS.

Related articles

Comments

← All articlesView as Markdown