FP Complete

Canary Deployment with Kubernetes and Istio

Istio is a service mesh that transparently adds various capabilities like observability, traffic management and security to your distributed collection of microservices. It comes with various functionalities like circuit breaking, granular traffic routing, mTLS management, authentication and authorization polices, ability to do chaos testing etc. In this post, we will explore on how to do […]

Confused about Cloud-Native? Want to speed up your dev team’s productivity?

You hear “go Cloud-Native,” but if you’re like many, you wonder, “what does that mean, and how can applying a Cloud-Native strategy help my company’s Dev Team be more productive?” At a high level, Cloud-Native architecture means adapting to the many new possibilities—but a very different set of architectural constraints—offered by the cloud compared to […]

Announcing Amber, encrypted secrets management

Years ago, Travis CI introduced a method for passing secret values from your repository into the Travis CI system. This method relies on encryption to ensure that anyone can provide a new secret, but only the CI system itself can read those secrets. I’ve always thought that the Travis approach to secrets was one of […]

An Istio/mutual TLS debugging story

Last week, our team was working on a feature enhancement to Kube360. We work with clients in regulated industries, and one of the requirements was fully encrypted traffic throughout the cluster. While we’ve supported Istio’s mutual TLS (mTLS) as an optional feature for end-user applications, not all of our built-in services were using mTLS strict […]

Deploying Rust with Windows Containers on Kubernetes

A few years back, we published a blog post about deploying a Rust application using Docker and Kubernetes. That application was a Telegram bot. We’re going to do something similar today, but with a few meaningful differences: We’re going to be deploying a web app. Don’t get too excited: this will be an incredibly simply […]

Our history with containerization

FP Complete has been working with containerization (or OS-level virtualization) since before it was popularized by Docker. What follows is a brief history of how and why we got started using containers, and how our use of containerization has evolved as new technology has emerged. Brief history Our first foray into containerization started at the […]

Deploying Postgres based Yesod web application to Kubernetes using Helm

Yesod is one of the most popular web frameworks in the Haskell land. This post will explore creating a sample Postgres based Yesod web application and then deploying it to Kubernetes cluster. We will create a Helm chart for doing our kubernetes release. Note that the entire source lives here: Sample yesod application Helm chart […]

Deploying Rust with Docker and Kubernetes

Deploying rust with Docker and Kubernetes Hello! My name is Chris Allen and I’m going to use a tiny Rust app to demonstrate deploying Rust with Docker and Kubernetes. Rust and Haskell apps are deployed in similar ways. Much of this is because the compilers for both languages generate native binary executables. Here are the […]

Kubernetes for Haskell Services

Kubernetes (AKA “k8s”) From kubernetes.io: Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. Using the concepts of “labels” and “pods”, it groups the containers which make up an application into […]