
Annejan Barelds
Software Architect - Azure Consultant - 4Dotnet
Roden, The Netherlands
Actions
Annejan has been an avid software developer since 2006. And while his career took him to several non-development roles, he keeps coming back to development: exploring new technologies, building great software with it, and sharing his knowledge with others, is what makes him tick. He currently works for 4Dotnet where he's helping customers build great software on Azure.
Area of Expertise
Topics
Storing Code in a Mono-Repo: Tales from the Trenches
In my most recent project, we've been using a single Git repo for all the apps, services, and shared libraries we built: the so-called mono-repo architecture for source control. For me personally, that was a first. So I learned a lot about how a mono-repo architecture affects dependency management, facilitates refactoring efforts, complicates CI/CD processes, and so on. In this talk, I'll be sharing those lessons with you. Among other things, we'll discuss why proper code organization greatly helped us managing our mono-repo, we'll uncover both the benefits and complexities that come with evolving shared dependencies in a mono-repo, and much more. For technical details, we'll use Azure DevOps and Azure Pipelines as references during the talk, but the generic concepts are applicable for any proper CI/CD toolset. So to everyone interested to learn how repository architecture affects developer workflow, this talk is for you!
Zero-downtime Deployments with Azure Functions. The Good, the Bad and the Ugly
While all the fancy kids these days use containers in some form, some of us stick to Azure Web Apps for all sorts of reasons (good and not-so-good). And where all proper container-based platforms have mechanisms for seamless deployments of new versions, Azure Web Apps have Deployment Slots to achieve the same thing. In this talk, we'll take a lap around these Deployment Slots. Of course we'll touch upon the textbook case of swapping versions of workloads that handle web requests (Web Apps, HTTP-Trigger Functions), and we'll uncover some gotcha's there. For example: did you know that a long name for your Function app can break slot swapping? Yep, that's right. But it gets even more interesting when working with Azure Functions that respond to Service Bus messages. What options do we have to prevent the wrong version handling messages? And can you upgrade the .NET version or the Function Runtime version using deployment slots? For everyone interested in getting these and other questions answered: this talk is for you!
MS Entra ID On-Behalf-Of: Advanced Auth Scenarios for Devs
So you're a developer, and you're using Microsoft Entra ID for user authentication? And you've heard of roles and scopes (and that they're not the same thing) and application access vs delegated access and stuff (but you're not really sure what's what)? And, maybe, sometimes you feel that it would be nice to have user information available in downstream backend services, but it's just too difficult to implement? Then this talk is for you. First off, we'll cover why this thing called On-Behalf-Of authentication is relevant - for meeting auditing requirements, achieving low coupling, and achieving a Zero Trust Architecture. Then, we'll talk about how this actually works in Microsoft Entra ID, based on what you already know as a dev. And of course we'll also demo how to actually implement it using Entra ID and .NET. So whether you're not sure yet if this is worth your trouble, or are already sold on the idea and want to make it happen, this talk is for you.
Tales From The Trenches: Managing Azure API Management Like A Pro
Azure API Management is awesome. It's a great way to publish API's to the outside world and have it act as a one-stop shop to address security concerns, handle caching, rate limiting, transformation and aggregation of requests and responses, monitoring, and so on. But, how do you actually administer API Management itself? In this 'talk from the trenches', we'll be discussing some of the lessons that I learned when building an API ecosystem from scratch using Azure API Management. We'll focus on the challenge of implementing a controlled process for the promotion of API's through the different stages from development to production, and how to handle evolution of those API's over time. In other words: how to do proper DevOps and CI/CD with API Management. After this session, getting started with API Management will not be quite as intimidating anymore.
5 Things Every Developer Should Know About Azure Service Bus
Did you ever have a discussion with your team mates on whether to use Azure Service Bus? And do some team members mainly see the decoupling benefits, while others fear that messaging makes everything way more complicated than REST? In this talk, I look back on some experiences I had with development teams that were facing these questions, and I'll go over some of their objections, concerns and uncertainties. I'll cover some gotchas to be aware of when message ordering is important; how to achieve end-to-end diagnostics; distributed alternatives to traditional database transactions; and more. After this talk, you'll be equipped to use Azure Service Bus as a .NET developer, and you'll be able to help your team adopt decoupling through messaging.
Finding the Root Cause. Distributed Tracing in .NET and Azure
Almost every developer has been bitten by the difficulties of correlating log messages in distributed systems. And most of them, at some point in their career, have built some sort of mechanism to correlate such logs, traces and so on. But getting that right is not trivial. In this talk, we’ll discuss some of the standards that have emerged over the years to make distributed tracing easier. We’ll though upon the built-in instrumentation in .NET, and how that relates to the W3C Trace Context standard to deliver correlation of distributed logs and traces. We’ll talk about how the Azure ecosystem makes using these features easy, both with compatible instrumentation in a lot of SDK’s (to extend distributed tracing to message-based communication for example), and with Azure Monitor as an observability backend to explore all this distributed correlated goodness. And we’ll briefly discuss how the OpenTelemetry initiative plays into all this. After this talk, you’ll never need to write your own custom correlation solution again.
devCampNoord 2024 Sessionize Event
MoveUp
devNetNoord 2023 Sessionize Event
Azure Lowlands 2023 Sessionize Event
MoveUp
Future Tech 2023 Sessionize Event
Azure Lowlands 2022 Sessionize Event
Dutch Cloud Meetup
Future Tech 2022 Sessionize Event
DevCampNoord
DevCampNoord
TechDays
DevCampNoord
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top