Member-only story

12 Factor Apps in Practice

Nik Stehr
29 min readSep 20, 2020

This is a practical look at 12 factor apps and how to engineer them for real.

A simple Java microservice is evolved architecturally, from a single process app, to a multi process Docker containerised app leveraging a redis cache, first running on the container orchestration platform Kubernetes, and then rolled out to Red Hat OpenShift.

It’s hands-on-keyboard, with exercises to work through, technical prerequisites:

  • JDK and maven are installed (along with a decent IDE like IntelliJ)
  • Docker is installed

Take a bit of time up-front to read the introductions to Docker containers and Kubernetes, whilst lots of links to more specifics are scattered throughout the blog. Here’s what we’ll be looking at:

  1. Introducing the mood service
  2. Dependencies
  3. Codebase
  4. Config
  5. Process and state
  6. Backing services
  7. Containers and dependencies
  8. Running on docker
  9. Port binding
  10. Declaring dependencies to other services
  11. Running on Kubernetes
  12. Orchestration and process execution
  13. Concurrency
  14. Config and Kubernetes
  15. Deployment to Red Hat OpenShift
  16. Wrap Up

Introducing the mood…

Nik Stehr
Nik Stehr

Written by Nik Stehr

A software engineer who works hard to create simple solutions.

No responses yet

Write a response