Bergen, Norway

2024 Conference
Linkerd
Helm
Prometheus
Istio
Kubernetes
Kubernetes
Shipwright
WasmEdge Runtime
Containerd
Operator Framework
Etcd
Kyverno
Harbor
Prometheus
Containerd
Etcd
Flux
Envoy
Backstage
OpenFeature
Jaeger
Containerd
Kubernetes
Istio
Helm
Logging Operator
Prometheus
Istio
Harbor
Flux
Kubernetes
Containerd
Envoy
Envoy
Kubernetes
Operator Framework
OpenTelemetry
Linkerd
Istio
Backstage
Envoy
Prometheus
Cert Manager
Shipwright
Virtual Kubelet
Containerd
Prometheus
Argo
Etcd
David Flanagan

David Flanagan

Rawkode Academy

About

Founder of the Rawkode Academy, open source contributor, and beloved husband and father to my wife, two amazing kids, and a plethora of animals.

David has been developing software professionally for nearly 20 years, starting with embedded systems written in C back in 2004, and has spent that entire time learning the paradigms of different programming languages, including C++, PHP, Java, and Haskell - though more recently preferring to work with Go, Rust, and Pony.

As a professional technology magpie, David was an early adopter of cloud, containers, and cloud-native technologies. During his time as the Director of Development for a rock and metal media organization called TeamRock (now LouderSound), David was responsible for the software, infrastructure, and website during its biggest test: the unfortunate death of Lemmy Kilmister. Fortunately, due to his desire to experiment and play with new technologies, David and his team had already migrated their slow to provision virtual-machine centric infrastructure to containerised workloads running on Amazon Web Services the year prior, 2014, not long after the public launch of Docker.

As much as David enjoys writing software, scaling infrastructure, and leading teams, he quickly realised that his passion was helping others learn and be successful. David started presenting at local user groups in 2016, slowly working up to conferences, before eventually moving into a full-time Developer Advocacy position at InfluxData - where he presented and taught workshops at 42 events in 2019.

Outside of technology, David enjoys reading science fiction, drinking craft beer and whisky, and very-very-very slowly learning to play the piano.

Presentation

Extreme Microservices: One Service Per Database Column with GraphQL Federation

Presentation (40 min)IntermediateEnglish

How far can we push the boundaries of microservice architecture? In this talk, we'll explore the ultimate decomposition strategy: creating a dedicated microservice for a single database column. While this may sound absurd at first, this extreme approach reveals powerful insights about service boundaries, data ownership, and API composition in cloud-native systems.

We'll demonstrate how GraphQL Federation makes this radical architecture not only possible but surprisingly elegant. You'll see how individual column services can be composed into a unified API that maintains performance while providing unprecedented flexibility in scaling, security, and team autonomy.

Through live examples, we'll show:

  • The architecture pattern for column-level microservices
  • How GraphQL Federation seamlessly stitches together dozens of services
  • Real-world benefits: independent scaling, fine-grained permissions, and parallel development
  • Performance considerations and caching strategies

The session culminates in a live demonstration where we'll add a new column to a production system by deploying a new microservice and watching it automatically integrate into the federated graph—all without touching existing services.

Whether you adopt this pattern or not, you'll leave with a deeper understanding of microservice decomposition strategies and the power of GraphQL Federation for composing distributed systems. Perfect for developers and architects looking to push the boundaries of what's possible in cloud-native architectures.

Key Takeaways:

  • Understanding extreme decomposition as a thought experiment for better architecture decisions
  • Practical patterns for GraphQL Federation in production
  • Strategies for managing hundreds of microservices effectively
  • When (and when not) to apply ultra-fine-grained service boundaries
Architecture & Software Patterns