Skip to content

Gökhan Gökalp Posts

DevEx Series 03: Laying the Azure Focused Platform Foundation for an IDP with ASO and KRO

In the first two parts of this DevEx series, I tried to show how golden paths in Backstage can enable developer self‑service without chaos and how extending the catalog into copilots with MCP servers transforms discoverability into a conversational experience. Both of these steps were…

DevEx Series 02: From Catalog to Copilots. Boosting Backstage with MCP Server

In the first part of this DevEx series, I tried to explain Platform Engineering and DevEx and showed how Backstage can help make an organization’s assets discoverable while creating golden paths that enable developer self-service without chaos. The goal is to increase developer productivity. In…

DevEx Series 01: Creating Golden Paths with Backstage, Developer Self-Service Without Losing Control

As an architect involved in platform engineering and DevEx transformation within a large-scale organization for the past few years, I’ve seen firsthand how developer experience directly shapes not just the speed and quality of software delivery, but also how effectively teams can adopt governance, security,…

Overcoming Event Size Limits with the Conditional Claim-Check Pattern in Event-Driven Architectures

In today’s technological age, we typically build our application solutions on event-driven architecture in order to make them as scalable, resilient, and flexible as possible. While event-driven architecture sounds good, it also brings along many complexities and limitations. In my previous articles, I also tried…

Securing the Supply Chain of Containerized Applications to Reduce Security Risks (Policy Enforcement-Automated Governance with OPA Gatekeeper and Ratify) – Part 2

In the first part of the article, we talked the importance of Software Supply Chain security and the measures that can be taken throughout the SDLC processes to mitigate the security risks of containerized applications. In this context, we emphasized the importance of the shifting-left…

Securing the Supply Chain of Containerized Applications to Reduce Security Risks (Security Scanning, SBOMs, Signing&Verifying Artifacts) – Part 1

As we know, the adoption of containerization in modern software development environments has significantly changed the way applications are built and deployed. The lightweight and self-contained nature of containers provides various advantages and flexibilities, such as the ability to easily move applications consistently across different…

Delegating Identity & Access Management to Azure AD B2C and Integrating with .NET

As we know, when developing a product, taking advantage of as many different cloud solutions as possible not only saves time and complexity but also allows us to minimize various administrative costs. Nowadays many of us are developing cloud-native applications or migrating to the cloud.…

Providing Atomicity for Eventual Consistency with Outbox Pattern in .NET Microservices

As we know, adapting to microservice architecture has many benefits, but unfortunately, it also has some challenging points. Especially on the data consistency side. For example, in the monolithic world, we can use ACID database transactions to easily perform multiple operations in a consistent way.…

Building Microservices by Using Dapr and .NET with Minimum Effort – 02 (Azure Container Apps)

In the previous article, we talked about the Dapr project, its benefits and developed two sample microservice with .NET 6 as self-hosted mode in the local environment. (If you haven’t read the first article, you can find it here.) Within the scope of this article,…

Building Microservices by Using Dapr and .NET with Minimum Effort – 01

As we know, technology and our habits are constantly changing day by day. Especially after the pandemic, the trend towards digitalization and technology has increased considerably. Due to these changes, we as developers, also pay attention that the applications we develop are portable and scalable…

Building OCR Workflow on Azure By Using Azure Function, Logic Apps and Computer Vision API

I think we are all aware of the importance of digital transformation and the benefits that we can achieve with it. As we know, many organizations are also taking different steps towards digital transformation. However, as we can imagine sometimes we may also encounter different…

Working with Persistent Volumes by Using Azure Files in Azure Kubernetes Service

Applications that we develop as cloud-native sometimes may have to deal with data related operations such as accessing, storing or sharing a data between applications. As we know, our applications that we host on Kubernetes as containerized are ephemeral and stateless by nature. In other…

Calculating Code Coverage Metrics in .NET Applications and Integrating with CI Processes

Code coverage metric is an important indicator of how healthy and reliable our project is, and how quickly we can adapt to changes. Basically code coverage determines how many of the lines of the code we have written are verified by writing tests. Of course,…