people) that build: • Client-facing APIs • Core Banking Systems • Internal reporting tools • Data • Integrations with other companies • … In the cloud (Azure), using different languages, architectures, development processes, etc Banking Circle 4
public cloud is not feasible, due to several reasons: • Orchestration and scalability • Security and compliance • Observability • Cost • To avoid a “tennis match”, we need: • Developer Experience • Maintainability Banking Circle 6 Kubernetes Platform
own definition • Points in common: IAM, Networking, Security, resource organization • Some also mention: Billing, governance, automation, disaster recovery, observability ChatGPT condensed and summarized their 3 definitions as: “A landing zone is a well-designed, scalable, and secure cloud environment that serves as a foundation for cloud operations, offering modular and subscription-based resource management.” Banking Circle 19 Landing Zone
namespace • An ArgoCD project • A Cilium network policy • A service account Banking Circle 21 • Resources on Azure, Azure DevOps, Entra Id • Credentials • Role assignments • Identities • DNS records • Etc
platform-as-a-service (PaaS) model and offer published contracts between developers and platform teams. The contract might involve provisioning cloud environments, databases, monitoring, authentication and more in a different environment. These tools enforce organizational standards while granting developers self-service access to variations through configuration.” Banking Circle 23 Platform Orchestrator Ref: Platform orchestration | Technology Radar | Thoughtworks
opinions about) how to build and deploy their software For those who don’t, we need to provide a way of getting their code onto our clusters • Pipeline templates • Application blueprints Banking Circle 27
few lines of YAML • We provide blueprints for the most common application topologies (e.g. a simple API, a cronjob, an app with persistent storage) Banking Circle 29
easier to maintain • It’s easy to understand the split of responsibilities between Development and Operations • Different teams can work on different layers Banking Circle 37
Ensure good practice around storing dependencies for charts used in production • Easy and repeatable import of Container Images in Helm Charts • See an example of how to build Golang projects leveraging popular tools • Learn about recent CNCF projects in the domain of vulnerability detection and patching Banking Circle 41
handle when operating in a bank: o No access to public internet in production o OS level vulnerabilities must be patched according to risk policy Banking Circle 45
enable teams to use the best tool available for the job and to take ownership of operational aspects. • Apache Airflow for Data Engineers • Ollama • Etc.. Making developers understand Helm Charts including dependencies, security patching, image signing etc. is not feasible. Banking Circle 46
artifacts for compliance • Selfhosted agents can run from virtual network for registry access • Solution was used to create images going into production for about a year Banking Circle 50
scripting • Difficult to test and develop • One pipeline run per image import does not scale with manual approvals before pushing to production • Huge resource overhead Banking Circle 51
the problem • Build a robust solution with wide compatibility and applicability • What we changed • Replaced dependency on Docker with Oras for OCI • Removed Azure specific code, instead relying on Helm/Docker authentication • Integrated all tools into Helmper • Rewrote the Helmper parsing logic • Goroutines – errgroups, slog etc. • Helmper got a new look • Convinced management to release the code to the community! Banking Circle 52
registries to ensure availability 2. Analyze Helm Charts for OCI artifacts 3. Check status of images in registries 4. Secure container images by patching OS level vulnerabilities 5. Signing images 6. Everything above defined with a declarative spec Banking Circle 55
a problem oGet more companies involved • Roadmap oKubernetes Operator oSBOM oOpenTelemetry • CNCF Sandbox Application Banking Circle 63 https://github.com/christoffernissen/helmper Menti: Quick evaluation of Helmper