From four hours to four minutes:
Neofonie reaps the benefits of microservices on Giant Swarm

Download PDF

"With Giant Swarm we successfully implemented a continuous delivery pipeline within a few weeks. It saves us time and money."

—Jan De Cooman, former Lead Developer Neofonie

Neofonie was tasked with breaking down a monolithic application into microservices for one of their bigger customers.

By choosing Giant Swarm they could build up a continuous delivery pipeline, enabling them to deploy their microservices several times a day.

They succeeded in moving one of their biggest projects, a monolith used in six portals, to microservices in a matter of months. Giant Swarm took care of the infrastructure to run and scale their Docker containers in production while Neofonie focused on the development work.

Neofonie is a full-service provider for digital solutions, offering a wide range of services from conceptualization and consulting to design, development, operation and hosting.
Neofonie is a full-service provider for digital solutions, offering a wide range of services from conceptualization and consulting to design, development, operation and hosting.

Deployments used to take four hours

The original monolith, grown over 10 years by 144 different people over its lifespan, made up of over 100,000 lines code took more than 4 hours to deploy. Because of complexity and a lack of automation, the monolith was only deployed at most once a week - often less. The complexity was multiplied by six different portals that each were using an instantiation of this monolith.

Automation and Zero downtime deploys through Giant Swarm's programmable infrastructure

Neofonie moved from manual deployments to a faster and safer automated deployment process, using a continuous delivery pipeline that would integrate with the staging and production environments on the infrastructure.

Using the Giant Swarm API, Neofonie can automate deployments and build up a continuous delivery pipeline, which integrates directly with their staging and production environments on their Giant Swarm cluster. As their production cluster consists of several machines they can scale their services horizontally in a highly available manner using the scaling features of the Giant Swarm platform. They further use Giant Swarm's update strategies to roll out updates to their services with zero downtime.

New requirements unlock new features for everybody

As part of their move to microservices, Neofonie had already chosen Consul for service discovery in development. In order to achieve 100% parity from developer's laptop to the production environment the infrastructure we provided for them needed to support Consul and make discovery available to all containers.

In addition, they wanted to be able to run a highly available MongoDB cluster to ensure resilient data storage for their services. However, MongoDB needed some additional features to ensure that a new node joining the cluster would only be queried once it had finished syncing with the cluster.

Giant Swarm worked closely with Neofonie in order to support these requirements. In doing so we unlocked a new set of use cases for our private cluster setup. We integrated Weave's Software Defined Networking solution in the deployed infrastructure stack, so that containers in the cluster would be able to use multicast networking to talk to each other. We also implemented a feature to allow containers to signal their readiness at a later point in time. With this feature, Neofonie could ensure that members of their MongoDB cluster were only queried once they actually had synced with the cluster, an important requirement for a highly-available MongoDB cluster.

From hours to minutes — a 60x improvement

Neofonie built a continuous delivery pipeline based on a Giant Swarm private cluster in our data center in Frankfurt. All this while being able to focus on moving their product to resilient and scalable microservices instead of having to worry about the underlying infrastructure. Their 100K lines of code monolith is now broken down into more than 20 services with only about 750 lines of code, always using the best fitting technology. Deployment times are down by a factor of 60 from 4 hours to just 4 minutes, and they are now deploying several times a day instead of once a week at most.

For one of our #microservices: 380 deployments last year. #ContinuousDelivery rules! (Thx to @docker and @giantswarm)

—Damien Plard, Systems Engineer Neofonie, via Twitter

Key Technologies

  • Giant Swarm's 1st generation private cluster based on CoreOS, Fleet, and Docker
  • Weave Software Defined Networking to enable multicast virtual networking between Docker containers
  • Consul for a feature-rich Service Discovery incl. health checks
  • Giant Swarm signal-readiness functionality to enable highly available MongoDB clusters
  • Giant Swarm API to automate deployments and integrate with continuous delivery pipelines
  • Giant Swarm scaling and update functionality to enable resilient deployments and rolling updates with zero downtime.

About Neofonie

Neofonie is a full-service provider for digital solutions, offering a wide range of services from conceptualization and consulting to design, development, operation and hosting. With 180 employees in Berlin and Hamburg, Germany, Neofonie develops solutions in areas like data analytics, text mining, search, web portals, content management systems, e-commerce and mobile solutions.

Visit Neofonie: www.neofonie.de