FP Complete

Intro to Devops on GovCloud

What I would have wanted to know about AWS GovCloud While assisting a US municipal government with their cloud migration, we recently had the opportunity to deploy a complete hosting platform to the GovCloud Region. Our task was to provide a platform based on kubernetes, running within a secure VPC built on private subnets and with […]

Manage Secrets on AWS with credstash and terraform

Motivation During automatic infrastructure deployment on AWS, a common question is: what is the best way to deliver sensitive information over to EC2 instances or, more precisely applications running on them. There are numerous solutions, such as placing the information into user-data initialization script or simply SFTPing them onto the instance. Although these are perfectly […]

Functional Programming and Modern DevOps

In this presentation, Aaron Contorer presents on how modern tools can be used to reach the Engineering sweet spot.   Do you know FP Complete At FP Complete, we do so many things to help companies it’s hard to encapsulate our impact in a few words. They say a picture is worth a thousand words, […]

Continuous Integration: an overview

While exact definitions of Continuous Integration vary, the idea is that your software project is automatically built and tested very regularly, often many times per day. In practice, this usually means every time a developer pushes their code to a central repository, the CI process is performed. Ideally, this is performed on every branch, even […]

Immutability, Docker, and Haskell’s ST type

In managing projects at FP Complete, I get to see both the software development and devops sides of our engineering practice. Over the years, I’ve been struck by the recurrence of a single word appearing repeatedly in both worlds: immutability. On the software side, one of the strongest tenets of functional programming is immutable data […]

QuickCheck and Magic of Testing

Haskell is an amazing language. With its extremely powerful type system and a pure functional paradigm it prevents programmers from introducing many kinds of bugs, that are notorious in other languages. Despite those powers, code is still written by humans, and bugs are inevitable, so writing quality test suites is just as important as writing […]

Containerizing a legacy application: an overview

An overview of what containerization is, the reasons to consider running a legacy application in Docker containers, the process to get it there, the issues you may run into, and next steps once you are deploying with containers. You’ll reduce the stress of deployments, and take your first steps on the path toward no downtime […]

Devops best practices: Multifaceted Testing

Even among skilled enterprise IT departments, it is too rare that software is thoroughly tested before deployment. Failed deployments mean costly downtime, service failures, upset users, and even security breaches. How can we verify that a solution is actually ready to deploy, free of serious defects? You probably need more kinds of tests We’ve all […]

Devops best practices: Immutability

FP Complete builds on cutting-edge open-source devops technologies, providing devops solutions and consulting to a number of companies in life sciences & health, financial services, and secure Internet services. This exposure has given us a chance to work with some of the best engineering practices in devops. As we bring more companies forward into the […]

Docker demons: PID-1, orphans, zombies, and signals

There are a number of corner cases to consider when dealing with Docker, multiple processes, and signals. Probably the most famous post on this matter is from the Phusion blog. Here, we’ll see some examples of how to see these problems first hand, and one way to work around it: fpco/pid1. The Phusion blog post […]