On the evening of Wednesday 12 February 2025 I went to the Platform Engineering Amsterdam meetup. The opening screen read âHosted by: mogenius, tarmacâ, and both sponsors had banners either side of the stage. mogenius had âEmpower your developers with Kubernetes self-serviceâ, and tarmac had âThe sky is the limit & the cloud is the playgroundâ. There were tarmac flyers on the tables, describing the company as a âpremier nearshore software development partnerâ.
The room was a cosy pub, with beer signs on the walls, round wooden tables and a small stage with a mic stand. There were three talks, all very different: a hands-on policy talk, a talk on how to organise a platform team, and a personal career story that ended on self-service.

The opening screen before the talks: âPlatform Engineering Amsterdam, hosted by mogenius and tarmacâ.
Policy-Driven Cost Optimisation with Kyverno and VPA
The first talk was âPolicy-Driven Cost Optimisation â With Kyverno & VPAâ, given by a Senior Product Manager from Nirmata, one of the companies that maintain Kyverno. It started with an overview of Kyverno as the CNCF policy engine: policy-as-code to automate security and compliance; validate, mutate, cleanup and verifyImages rules; native exception management and reporting; integrated test tools; and support for any JSON payload.

The title slide: Kyverno for policy, the Vertical Pod Autoscaler for right-sizing.
The talk was built around challenges and solutions. Challenge #2 was âDynamic Workloads & Variable Utilisationâ. A monitoring dashboard showed spiky usage graphs, the kind of pattern where a fixed request is either too big most of the time or too small at peak.

Challenge #2: dynamic workloads and variable utilisation.
The solutions came in steps. Step #1 was a diagram: when a Deployment, StatefulSet or DaemonSet goes through admission review, Kyverno generates a matching VPA for it. The slideâs bullets were âAuto-generate VPAsâ and setting max limits based on requests. Step #3 was a ClusterCleanupPolicy (kyverno.io/v2alpha1) named pdb-cleanup. It matches PodDisruptionBudget resources whose target.status.disruptionsAllowed equals 0 and runs on the schedule "15 10,17 * * *", which the slideâs comment described as twice a day, at 10:15 and 17:15.

Solution step #3: a scheduled Kyverno cleanup policy for PodDisruptionBudgets that allow zero disruptions.
My take: I liked this framing a lot. Most people only use Kyverno as a gatekeeper for security. Using generate to give every workload a VPA, and cleanup policies to remove things that get in the way of consolidation, turns the same engine into a FinOps tool. A PDB that allows zero disruptions can stop a node from ever draining, so a policy that finds them is worth having even if you donât delete them automatically.
Building a platform team
The second talk was about organisation rather than YAML. Section 1 was âShadow ITâ, and its âOrganizationâ slide had three points: embedded, find a backer, find a champion. Section 2 was âPlatform teamâ, with a âTeam/workâ slide in four parts:
- Responsibilities: customer centric, growing over time
- Ownership: separation of concerns, modules
- Type of people: sysops, dev mindset
- Knowledge: cloud focused, automation

âTeam/workâ: responsibilities, ownership, type of people and knowledge.
My take: âfind a backer, find a championâ is the part most platform teams skip. A platform that started as shadow IT only survives if someone with budget cares about it, and if at least one product team will publicly say it makes their life easier.
From free kicks to git commits
The third talk, âFrom free kicks to git commitsâ, was a personal one. The âMy Storyâ slide was subtitled âA Journey of Passion, Setbacks, and Growthâ. It traced a path from football to a career in cloud native. A second timeline, âStarting over: the tech journey beginsâ, went from starting from scratch, through embracing the challenge and finding a niche, to becoming a consultant and trainer, and âNow: continuous learningâ.

âFrom free kicks to git commitsâ: a career story from football to cloud native.
The technical part came back to the theme of the evening. The slide âEmpowering developers through self serviceâ put a platform at the centre, connected to Kubernetes, Terraform, Flux, Prometheus, Open Policy Agent, Backstage, Crossplane and GitHub. Two red slides near the end spoke to the audience directly: âYouâre only as good as your ability to share your knowledgeâ and the question âHave you been working on anything exciting recently?â. The closing slide said âBedankt!â.

The platform in the middle, with Kubernetes, GitOps, IaC, policy, observability and a portal around it.
Whatâs next
The evening closed with an âUpcoming Recommended Eventsâ slide: a meetup on 13 February (17:00â20:00), a webinar on 5 March (16:00â17:00) called âPractical Cloud Cost Control: Insights & Strategiesâ, and FastFlowConf on 27 March. After the talks there was food, and the conversations carried on around the tables.

Upcoming events: a meetup, a cloud cost webinar and FastFlowConf.
All three talks came back to the same idea: self-service has to be cheap to run, owned by a real team, and taught by people willing to share what they know. Kyverno and VPA covered the first, the platform-team talk the second, and the free kicks story the third.


