Home
About Us
Why Digitalis
Solutions
By business capability
Real-time streaming
Always-on platforms
Time-series data
Enterprise SaaS
Data for AI
By industry
Financial services
IoT & connected devices
Energy & utilities
Telecoms & media
Technology & SaaS
All solutions →
Services
Data Engineering Solutions
AI Services
Consulting Services
DevOps Services
Migration & Modernisation
Move to Open Source
Managed Services
Managed SIEM
All services →
Technologies
Apache Cassandra
Apache Kafka
PostgreSQL
Elasticsearch
ClickHouse
Kubernetes
Scaleway
Cloud Agnostic
All technologies →
insights
Case Studies
Blog
Contact
Let’s Talk
< ALL BLOG POSTS
Author:
Sergio Rua
View all
Category one
Category two
Category three
Category four
Category
Should we be writing software for humans or models?
AI models now read our Ansible roles, Terraform modules and libraries more than we do. What they need is what we always needed: types, units, side effects and examples.
Read more
Category
Surviving 47-day certs: automate renewal
Public TLS certificates drop to 47 days by 2029. Where renewal on VMs breaks, and how to automate it safely for Kafka, Cassandra and web servers.
Read more
Category
Your UK cloud region still answers to Washington
A UK region doesn't put your data beyond the US CLOUD Act or US sanctions. See what breaks if your account goes, and how to keep keys and a copy outside.
Read more
Category
Migrating Cassandra and Kafka off ingress-nginx: what ingress2gateway misses
ingress2gateway converts HTTP Ingress but misses the tcp-services ConfigMap behind Cassandra, Kafka and ClickHouse. Rebuild it with TCPRoute and TLSRoute.
Read more
Category
Encrypting .env files with OpenBao Transit
Encrypt each .env value with OpenBao Transit, give CI encrypt-only and apps decrypt-only access, and rotate keys without redeploying.
Read more
Category
Secure access to AWS with OpenBao
Replace long-lived AWS access keys with short-lived STS credentials from OpenBao that expire on their own, and keep the root key out of reach.
Read more
Category
Dynamic credentials with OpenBao and Vault
Swap static database passwords for dynamic credentials: users created on request and dropped when the lease ends. How we run it on OpenBao and Vault.
Read more
Category
Migrating from HashiCorp Vault Enterprise to OpenBao or free Vault
Most teams leaving Vault Enterprise only use features OpenBao and free Vault already have. The hard part is configuration, so we built a tool to migrate it.
Read more
Category
Choosing a language when the AI writes the code
You no longer need to know a language to ship code in it. That doesn't make every language an equally good bet.
Read more
Category
What Kubernetes can and cannot see about process death
When PID 1 in a container isn't your workload, Kubernetes only sees what the wrapper reports. Where that goes wrong and how to make process death visible.
Read more
Category
Understanding Racks and DCs
Racks and data centres decide where every copy of your Cassandra data lives. A practical guide to getting the topology right before the first node starts.
Read more
Category
How Kafka tiered storage moves old segments to object storage
How Kafka tiered storage moves closed segments to object storage: what it changes, the plugins you supply, enabling it per topic and what it costs.
Read more
Category
Scaling the Stack: ClickHouse, Pyroscope, and What's New in terraform-k8s-monitoring
Extending our open-source Datadog alternative with ClickHouse for traces and logs, Grafana Pyroscope for profiling, and new terraform-k8s-monitoring features.
Read more
Category
Immutable virtual machine images, part deux
Turn one hardened golden image into a fully configured, environment-specific node on first boot with cloud-init, systemd and vals, with no configuration drift.
Read more
Category
Running virtual machines on your own metal: libvirt and KubeVirt after VMware
Escape rising VMware costs by migrating virtual machines to license-free open-source alternatives like KVM, libvirt, or KubeVirt v1.8 on bare metal.
Read more
Category
Hardening the Software Supply Chain
A practical guide to hardening your software supply chain using Cosign, Kyverno, Harbor, SHA digests, and SBOMs.
Read more
Category
Why we'd rather run monitoring ourselves on Kubernetes
Self-hosting a monitoring stack on Kubernetes is more cost-effective, private, and scalable
Read more
Category
A practical guide to post quantum encryption
A practical engineering guide to future-proofing server access by enabling ML-KEM hybrid post-quantum key exchange in OpenSSH 9.9 and 10.0.
Read more
Category
AI Assisted Programming
How We Mastered AI-Assisted Development: Planning, Agents, and the Power of CLAUDE.md
Read more
Category
Kubernetes and Wireguard: CNI vs VM
Kubernetes CNI-native WireGuard encryption versus a VM-level WireGuard underlay: the technical differences, pros and cons, and how to choose for your cluster.
Read more
Category
Kafka in Kubernetes with AxonOps and Strimzi
Strimzi automates Kafka on Kubernetes and AxonOps adds deep observability. Together they make a production-ready stack for running and monitoring Kafka.
Read more
Category
Meshing with Cassandra - Cloud-Agnostic Resilience Blueprint
A blueprint for multi-DC Apache Cassandra across sovereign European infrastructure, using a WireGuard mesh for data autonomy and vendor-neutral security.
Read more
Category
Back to basics: routing
Achieve European cloud sovereignty by mastering multi-cloud routing with OSPF.
Read more
Category
Hybrid mesh networks
Mesh networks provide a resilient, scalable, and cost-effective alternative to traditional VPNs
Read more
Category
Immutable servers: security and repeatability all in one
Build immutable server images with Packer and Ansible instead of patching live boxes over SSH, for more secure, repeatable infrastructure.
Read more
Category
Plugging the Gaps: Achieving Cloud Sovereignty Through OpenBao’s Modular Architecture
In an era where proprietary licensing can threaten operational stability, OpenBao emerges as a vendor-neutral alternative for secrets management.
Read more
Category
Encryption by default: Managing SSL generation in Kubernetes
Stop managing certificates manually. Learn how to automate Kubernetes SSL/TLS for Ingress and internal services using cert-manager, Vault, and OpenBao.
Read more
Category
Full Observability in One VM: Deploy a Scalable, Cost-Effective Monitoring Stack on AWS
Deploy a production-ready Prometheus, Grafana, Mimir, Loki and Tempo monitoring stack on a single AWS VM with a pre-configured AMI and setup wizard.
Read more
Category
Why We Automate (Nearly) Everything
Manual processes create deployment bottlenecks, errors and knowledge loss. Why we automate nearly everything, and where we draw the line.
Read more
Category
Stop Waiting, Start Developing: Why a Pre-Configured Kubernetes AMI Is Your Team's Next Must-Have
Skip hours of Kubernetes setup with a pre-configured AWS AMI that gives developers a ready-to-use sandbox, development and training environment.
Read more
Category
Choosing a secrets storage: HashiCorp Vault vs OpenBao
Discover how OpenBao, the open-source alternative to HashiCorp Vault, delivers secure, community-driven secrets management.
Read more
Category
What's new in Kubernetes: my most awaited features
The Kubernetes features we were waiting for, including in-place pod resizing and native sidecar containers, and what they change for performance and security.
Read more
Category
Beyond Datadog: How to Create a Scalable, Cost-Effective Monitoring Solution
Ditch the SaaS bill and take control of your data! This post walks you through building your own powerful observability platform using open-source tools
Read more
Category
Why and How I Use Distributed Inference to Run a Large Language Model (LLM)
As large language models (LLMs) become more powerful and complex, efficiently running them for real-world applications is increasingly challenging.
Read more
Category
Kubernetes: downscale your costs
Kubernetes makes it easy to overspend. Where the hidden costs come from and practical ways to downscale clusters and control your cloud bill.
Read more
Category
Securing Access to Kubernetes with Rancher
The built-in ones are good for most use cases. They are pretty granular covering access to Rancher itself down to individual projects or…
Read more
Category
Kubernetes Network Policies with Calico
We’re going to look at how to manage network policies in Kubernetes with Calico.
Read more
Category
Kubernetes Network Policies
An introduction to Kubernetes Network Policies: how to isolate workloads and control pod-to-pod traffic, with practical examples you can apply.
Read more
Category
Vals-Operator: Managing Kubernetes Secrets
Introducing vals-operator — an opensource tool for managing secrets in Kubernetes
Read more
Category
Kubernetes Capacity Planning with Vertical Pod Autoscaler
Learn about capacity planning in Kubernetes with Vertical Pod Autoscaler
Read more
Category
Rancher: break in case of emergency
Plan for losing Rancher: create an emergency service account and kubeconfig so you can still reach the Kubernetes API when Rancher is down.
Read more
Category
Managing Terraform Code
Terraform is a brilliant tool to manage Infrastructure as Code we at Digitalis both love and hate in equal measure.
Read more
Category
SUSE Rancher: why?
At Digitalis we have embraced SUSE Rancher and became Gold partners with SUSE Rancher. Do you want to know why? Keep reading.
Read more
Category
Kubernetes Security and Compliance in the Financial Sector
Want some security tips and context for cloud-native platforms in financial services?
Read more
Category
Amazon MSK autoscaling
I’ve been using Amazon MSK for some time and today I encountered an interesting problem with autoscaling. Read more to find out!
Read more
Category
Kubernetes: how do we do it
The core stack Digitalis uses to build and run Kubernetes for customers: Terraform, Rancher, Vault, ArgoCD, Traefik, Linkerd, OpenTelemetry and more.
Read more
Category
Rotating database credentials
How we remove static database passwords with HashiCorp Vault dynamic credentials and the vals-operator DbSecret, so access expires within an hour.
Read more
Category
Thoughts on KubeCon 2022
Highlights from KubeCon + CloudNativeCon Europe 2022 in Valencia: OpenTelemetry, service mesh, eBPF, GitOps, operators, data on Kubernetes and cost.
Read more
Category
Vals-Operator 0.6.2
Vals-Operator 0.6.2 syncs secrets from external stores into Kubernetes secrets. This release updates core libraries and adds secret templates.
Read more
Category
Monitoring Cassandra on Kubernetes with AxonOps
How to add AxonOps monitoring to Apache Cassandra running on Kubernetes with the k8ssandra operator, from agent install to the dashboard.
Read more
Category
Cassandra SSL certificates rotation
Rotate Apache Cassandra SSL certificates often using HashiCorp Vault as the CA and consul-template, reloading SSL without restarting nodes.
Read more
Category
Why I decided to use Karpenter
Why Karpenter is now a default on our EKS clusters: right-sized node provisioning, better use of spot instances, and the trade-offs to know.
Read more
Category
The case for bare metal and hybrid cloud
Cloud is fast to start but expensive for data workloads. We compare price and performance of cloud, bare metal and hybrid, and how to choose.
Read more
Category
Traefik Ingres with Mutual TLS in Kubernetes
How we secure Kubernetes ingresses with mutual TLS using Traefik TLSOptions, cert-manager and HashiCorp Vault, plus the gotchas we hit.
Read more
Category
Strimzi Kafka with Traefik Ingress and custom CA
Secure external access to a Strimzi Kafka cluster on Kubernetes using Traefik ingress and your own certificate authority instead of self-signed certificates.
Read more
Category
Why is monitoring so difficult
Why monitoring is harder than it looks, from a managed services team that runs it daily: the common traps and what good monitoring needs.
Read more
Category
KubeCon and CloudNativeCon EU 2023
Takeaways from KubeCon + CloudNativeCon EU 2023 in Amsterdam: OpenTelemetry, GitOps, data on Kubernetes, service mesh and the Gateway API.
Read more
Category
CloudNative-PG: running PostgreSQL in K8s
Running PostgreSQL on Kubernetes with the CloudNative-PG operator: what works well, what is missing, and how it fared in operational testing.
Read more
Category
CockroachDB: a DevOps story
A DevOps look at CockroachDB as a PostgreSQL alternative for a multi-region AWS project: clustering, users, backups and missing features.
Read more
Category
Terraform: keeping your code dry
Keep Terraform DRY across multiple environments: how we structure code for clouds, Cloudflare, Kubernetes and more without copy-pasting.
Read more
Category
Kubernetes: look mum, no Load Balancer
How to run Kubernetes on-premises or in the cloud without a cloud load balancer, and how to handle ingress, with a working code example.
Read more
Category
How to add CORS to S3 with CloudFront
A working CloudFront and Lambda configuration for adding CORS headers to S3 content, and the misleading errors the AWS examples produce.
Read more
Category
Custom Virtual Machine images for Azure and AWS
Build hardened custom Linux VM images for AWS and Azure with Packer to speed up deployments and meet security standards such as PCI-DSS.
Read more
Category
Running containers without load balancers
Following our Kubernetes approach, how we run containers on AWS ECS without load balancers by using Cloudflare to route traffic.
Read more
Category
Back to foundations: SSH
Back to basics with SSH: using SSH agent for key management, proxying connections through jump hosts, and security best practices.
Read more
Category
How to mount a Google bucket to a Kubernetes pod
Mount a Google Cloud Storage bucket inside a Kubernetes pod to get scalable, durable storage and save on block storage costs. Step-by-step setup.
Read more
Category
Tricks of the trade: working with environments
How a managed services team switches safely between many customer workloads and environments without running commands against the wrong one.
Read more
Category
Why and how we collect logs
Why log collection is more than a compliance checkbox, and how we collect logs to gain insight into security, performance and reliability.
Read more
Category
Scaling New Heights: Modernising Your Application with Kubernetes
Kubernetes is no longer just for tech giants. A step-by-step approach to modernising your application with Kubernetes, whatever your company size.
Read more
Category
The risks of AI to your data
Pasting company data into public AI tools carries real risk. What can go wrong with AI and LLMs, and how to protect your organisation's data.
Read more
Category
Future-Proof Your Cloud: Considering European Options Beyond the Hyperscalers
US politics and tariffs are prompting organisations to rethink hosting. European cloud options beyond the hyperscalers and what to consider before moving.
Read more
Category
Collecting metrics, traces and logs
Our simpler standard for collecting metrics, traces and logs: why we moved away from the legacy model and what a lean observability setup looks like.
Read more
Category
How to run Kubernetes on premises for beginners
Moving Kubernetes to bare metal? Choose between bare metal and VMs, then deploy with Rancher, K3s, Kubespray, Kops or kubeadm. Tips for beginners.
Read more
Category
Using Molecule to Test Ansible Roles
This blog looks at how to use Molecule to test roles in isolation, as no one is perfect and we all make mistakes but many can be avoid with careful planning.
Read more
Category
Cassandra with AxonOps on Kubernetes
How to deploy Apache Cassandra on Kubernetes with AxonOps management tool. AxonOps provides the GUI management for the Cassandra cluster.
Read more
Category
Ansible Versioning
How to manage Ansible projects with version control: approaches to versioning playbooks and roles, and handling dependencies across projects.
Read more
Category
Ansible: Variables scope and precedence
Ansible variable scope and precedence can surprise you. A real scenario where a playbook picked an unexpected value, and how to predict which wins.
Read more
Ready to Transform
Your Business?
Let’s Talk