Lagoon

OpenSource Build & Deployment System for OpenShift & Kubernetes

DrupalCamp
Montreal 2018

Pain points of Development

  • Locally not the same as in Production
  • Every site needs something different
  • Branches & Pull Requests but no testing for them
  • Deployments are scarry

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

  • Start of OpenShift cluster
  • Builds newest Images
  • Runs deployments of Drupal, Nginx, etc.
  • Tests all features
  • Only tested images are pushed

Lagoon runs Docker Images

  • Whatever you can put into Docker
  • It deploys with Lagoon

Lagoon runs allows your processes

  • No forced workflows
  • Define your own tasks during build & rollout

Lagoon is for Developers

  • Locally the exact same Configs, Services and Versions as in Production
  • Individual Sites for every Branch & PullRequest
  • Automated Testing

Lagoon is for Site Builders

  • Full support for Configuration Management and Features
  • Want to change something in Production but unsure? Create a Test Site and test first!

Lagoon is for Clients

  • Happy Developers :)
  • Automated deploy system makes releases easy and painless

Demo

Wanna help?

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

Lagoon DrupalCamp Montreal 2018

By Michael Schmid

Lagoon DrupalCamp Montreal 2018

  • 197

More from Michael Schmid