Working with Habitat as a cloud native developer, part 1

In the last two months, I've worked together with Chef (the company) to evaluate Habitat from a cloud native developer perspective. This is the first blog in a series of three where I'll share my experiences. The other two blogs will be about how to run the Habitat supervisor on top of Kubernetes, and how to create a Highly Available Redis cluster with automatic failover on top of [...]

Anne Currie Teams Up With Container Solutions

LONDON — 21 March 2017 — Anne Currie and Container Solutions to join forces to further their aim of helping SMEs and Enterprises reap the benefits of Cloud Native. Anne Currie will be working with Container Solutions on a public project to encapsulate the current state of Cloud Native and Programmable Infrastructure. They'll be talking to Enterprises across Europe and the US about their [...]
;

Monitoring Kubernetes with DataDog

Monitoring is a crucial part of any production application, and it’s importance is increasing as we move towards cloud native. For all the benefits of distributed, microservice applications, there are challenges which come along as well. The complexity of the system has increased considerably. The number of pieces involved (applications, datastores, services, etc) has multiplied, and they are [...]
minimesos;

minimesos 0.13.0 – Support for Marathon application groups

Today we released minimesos 0.13.0. In this version we have added support for Marathon group deployments. With this change you can quickly deploy application groups using the minimesos install command. Deploying an application group In minimesos the install command is used to deploy applications on the cluster. With this version you can install entire groups using the --group flag. See the [...]

Accidental Rewrite of a Microservice

This is a guest post by Robert Hensing. In this blog post, I describe my experience adapting a microservice for use with AWS' DynamoDB. Background The Sock Shop is Weave Works' reference microservice implementation. For their customers, they want to demonstrate that their cloud solutions for deployment, monitoring and more work well on Amazon Web Services. Therefore the task is to [...]
;

Introduction to gRPC

The hot new buzz in tech is gRPC.  It is a super-fast, super-efficient Remote Procedure Call (RPC) system that will make your microservices talk to each other at lightspeed, or at least that’s what people say.  So this article will take a quick look at what it is, and how or when it can fit into your services. What is gRPC gRPC is a RPC platform developed by Google which was announced and [...]
minimesos;

minimesos 0.12.0 – Local DNS for development with the .mm domain

Today we released minimesos 0.12.0. In this version we have added support for Mesos DNS and an integration with dnsmasq. With this change the minimesos containers and Marathon apps are available on the .mm domain. You can install the new version using the usual installer command: curl -sSL https://minimesos.org/install | sh. The Docker images are available on Docker Hub and the jar is [...]
minimesos;

minimesos 0.11.1 – Docker on Mac and improved default resources

Today we released minimesos 0.11.1. In this version we made a couple of improvements. Docker on Mac is now supported, the default resources of a new minimesos cluster are increased and the Marathon command is now configurable. You can install the new version using the usual installer command: curl -sSL https://minimesos.org/install | sh. The Docker images are available on Docker Hub and the [...]
;

Kubernetes Quick Tip: Whitelisting source IP with Ingress in Kubertenes

If you are using Ingress on your Kubernetes cluster it is possible to restrict access to your application based on dedicated IP addresses. One possible use case would be that you have a development setup and don't want to make all the fancy new features available to everyone, especially competitors. In such cases, IP whitelisting to restrict access can be used .This can be done with specifying [...]
;

Surprise at Golang Thread Scheduling

A few days ago I had a problem with high CPU usage in one of my Go-based microservices. The microservice has evolved into two distinct components: a HTTP web-app and a batch processing service. At some point, we'll probably split these out. But in its current guise, we were seeing HTTP request latencies of greater than ten seconds. It turns out that the reason is due to the Go scheduler not [...]
;

RAFT Explained – Part 3/3: Safety and Liveness Guarantees, Conclusion

This series of three blog posts will give readers an overview on why the Raft consensus algorithm is relevant and summarizes the functionality that makes it work. The 3 posts are divided as follows: Part 1/3: Introduction to the problem of consensus, why it matters (even to non-PhDs), how the specification of the Raft algorithm is an important contribution to the field and a peek at the [...]
;

RAFT Explained – Part 2/3: Overview of the Core Protocol

This series of three blog posts will give readers an overview on why the Raft consensus algorithm is relevant and summarizes the functionality that makes it work. The 3 posts are divided as follows: Part 1/3: Introduction to the problem of consensus, why it matters (even to non-PhDs), how the specification of the Raft algorithm is an important contribution to the field and a peek at the [...]
;

RAFT Explained – Part 1/3: Introduction to the Consensus Problem

This series of three blog posts will give readers an overview on why the Raft consensus algorithm is relevant and summarizes the functionality that makes it work. The 3 posts are divided as follows: Part 1/3: Introduction to the problem of consensus, why it matters (even to non-PhDs), how the specification of the Raft algorithm is an important contribution to the field and a peek at the [...]

Zoover Goes Cloud Native with Kubernetes

We teamed up with Zoover to help them build a new production environment using Google’s hosted version of Kubernetes (GKE), with a Continuous Delivery pipeline based around CircleCI. In this blog, we’ll describe the system we built and explain the decisions we took. We’ll also have a look at workflow we settled on. GKE We picked GKE because it has all the features we need. It is easy [...]

My Top 7 favourite features of Spring Boot

I've always said that Spring, Maven, and IntelliJ are my weapons of choice. People's response on more than one occasion has been that I'm far too old fashioned and conservative. I don't care, they might be right, but to de-risk any project it's always a good idea to not bring on more than 10% new technology: Stick to what you know and only experiment with one or two new components. Two years [...]