Björn Urban

  • About Me
  • Projects
  • Blog

Related Projects

Developing Go Operator for large-scale DBaaS

The customer is a cloud provider that offers large-scale Database-as-a-Service for multiple database products like PostgreSQL, MongoDB, and MSSQL. The customer databases are run across a large number of different Kubernetes clusters. I was part of the engineering team that created the Kubernetes operators, written in Go, which manage every database product's infrastructure. We developed the existing unreliable operators from the ground up, defining a new, reliable, and extensible architecture, as well as thorough quality assurance with various testing levels from unit to end-to-end tests, thereby increasing maintainability and robustness.

Go
Helm
Kubernetes
SQL
MongoDB
PostgesQL
ArgoCD
Azure DevOps
Ansible

Customer in financial sector/B2B Payment Services

In this project for a client in the financial sector, the primary focus was on replacing the existing core software that processed a high volume of transactions and documents. This software plays a key role in the client's day-to-day operations, in document regulation, and due date determination – essential processes in the exchange between industry and trade. Additionally, payment transactions needed to be processed, necessitating strict compliance with compliance requirements.

The technology stack consisted of Kotlin/Java and Spring Boot, leveraging Kubernetes and the Azure Cloud as the platform. One aspect of the project, besides implementation, was the creation of architectural concepts that ensure scalability and robustness.

Furthermore, it was crucial to ensure compliance with complex tax and legal requirements, necessitating the development of efficient mechanisms for the creation and management of report documents. Moreover, comprehensive modernization and optimization of the existing code were advanced.

Java
Kotlin
Helm
Kubernetes
Azure
React
Spring
SQL

KubeVoyage - An Kubernetes Authentication Proxy

KubeVoyage is a program that I set up to learn Go. Additionally, I wanted to test how well the programming functionalities of ChatGPT are suited for writing a completely new application from scratch. My motivation was to replace Basic Auth in Kubernetes clusters with a solution that is less complicated than full-fledged auth proxies like Keycloak, yet still provides a simple form of authentication, including a graphical user interface. One use case is to facilitate the deployment of non-public websites to third parties, for example, during the development phase. For this purpose, there is the option to generate access codes for external persons or to sign in via Single Sign-On through various providers, as well as by email and password, and then request access to a site. The tool does not have rights management; it is solely about providing non-public access to various sites as simply and flexibly as possible. Unlike Basic Auth, it is much easier to release different user data for different ingresses.

Go
Helm
Kubernetes