Lagoon

OpenSource Build & Deployment System for OpenShift & Kubernetes w4Ds

BadCamp 2017

Michael Schmid

@Schnitzel

CTO amazee.io

CTO Amazee

michael@amazee.com

History

  • 2015
    • Local Development on Vagrant
  • 2016:
    • Too much pain - need something faster
    • Local Development in Docker
    • Decoupled Requirements
    • First Production Site in Docker
  • 2017:
    • We like that!
    • Open Source FTW - Lagoon

Open Source

Proprietary Hosting

vs.

Proprietary Hosting 

Open Sourceness of Drupal Hosting

  • ✅ Drupal
  • ❌ Hosting Platform
  • ✅ PHP
  • ✅ Nginx
  • ✅ MySQL
  • Operating System
  • ✅ Linux

Lagoon is fully Open Source

  • All Docker Images
  • All Service Configurations
  • Build & Deploy Scripts
  • Test Infrastructure

Lagoon uses Open Source

  • OpenShift
  • Kubernetes
  • Alpine Docker Images

TL;DR;

Local

OpenShift
Kubernetes

Lagoon

Too Short; Want More.

Local

OpenShift 

Kubernetes

Lagoon

  • Reads docker-compose.yml
  • Build Images
  • Setup OS Projects
  • Push Images to OS Registry
  • Configure Resources
  • Monitor Deployments

Develop with docker-compose

Notifications

Webhooks

Git Push

Orchestration

Microservices

Runs itself in OpenShift

Lagoon deploys Lagoon

Lagoon is integration tested

  • Ansible
  • Starts new OpenShift & Lagoon
  • Creates fresh git repo
  • Commits Node.js code with random string
  • Let's Lagoon deploy from that git repo
  • Checks if deployed App contains random string

Lagoon runs Docker Images

  • Whatever you can put into Docker
  • It deploys with Lagoon
     
  • Lagoon itself:
    • Node, SSH, Elasticsearch, MongoDB, Kibana, Logstash
  • Existing Templates for:
    • Drupal, Node

Lagoon is locally developed

  • Minishift for OpenShift
  • docker-compose for services
  • Ansible for testing

Demo

How to run it

  • Needs Open Shift (use included MiniShift for playing)

Wanna help?

  • https://github.com/amazeeio/lagoon
  • Don't worry - everything tested
  • Native Kubernetes support?
  • More CMS support?
  • Your ideas!
Made with Slides.com