DevPanel

Own your hosting infrastructure with DevPanel

Derek Laventure

derek@consensus.enterprises

Land Back!

Guelph is traditional territory:

  • Anishinabewaki ᐊᓂᔑᓈᐯᐗᑭ
  • Haudenosaunee
  • Attiwonderonk
  • Mississaugas of the Credit

Treaties:

  • Treaty 3
  • Haldimand Treaty

Ottawa is traditional territory:

  • Algonquin
  • Haudonsaunee
  • Mohawk

Treaties:

  • Crawford’s Purchase

I offer respect and gratitude to the people who are past, present and future caretakers of this land.

Where are you? https://native-land.ca/

Who am I?

Derek Laventure (he/they)

Portrait of Derek, white face with broad smile and glasses.
  • White middle-class able-bodied (gender)queer settler
  • BSc Computer Science
    (University of Toronto 2000)
  • 25+ years in tech industry trying not to get swallowed by Big Tech(tm)
  • Founding partner of Consensus
  • Tai Chi student and instructor

Consensus Enterprises

We help small teams do big things.

Making open and responsible tech accessible to purpose-driven teams

Drupal Creds

Screenshot of drupal.org profile for Derek Laventure (username spiderman).
  • Building Drupal sites since 4.6
  • Building PHP/MySQL sites for several years prior
  • On Drupal.org for 25 years 1 month (spiderman@drupal.org)
  • Attended many DrupalCamps and several DrupalCons
  • Aegir 3 User/Developer, Aegir 5 Maintainer
  • Contributor to *many* Drupal related projects over the years
  • At Consensus, 8+ years toward Drupal as application framework

Gratitude

Table of Contents

  1. DevPanel?
  2. Tour
  3. Demo
  4. Roadmap

What is DevPanel?

  • "Platform as a Service" (aka PaaS).
  • Site management console on top of Kubernetes.
  • Runs your sites in your own cloud provider (AWS, DigitalOcean, Azure)
  • Provides development and deployment workflows for web software
  • Not just for Drupal!

DevPanel Concepts

  • Workspaces
  • Projects
  • Branch deployments
  • Custom domains
  • Development Workflow
  • Auto-deployments

DevPanel Architecture Diagram

Tour: Workspaces & Projects

  • Workspaces are a connection to a Kubernetes cluster.
  • Workspaces are a container for Projects
  • Workspaces integrate Devpanel with a Cloud Provider (eg. AWS, OVH, DigitalOcean)

Workspaces

Workspace listing

Workspace projects

Projects

  • Projects are a connection to a Git repository.
  • Projects are a container for deployed site instances.
  • Any branch can be deployed into the cluster.
  • Projects can be custom or from a templates.

Projects listing

Projects deployment

Tour: Branch deployments

  • Every branch in your repository can be deployed
  • Each deployment can be configured differently
  • Min/Max container resources
  • Auto-Pause (for dev deployments)

Listing of branches to be deployed

Deployed branch overview

Custom domains

  • Attaching a custom domain to a deployed site instance

Custom domain configured on deployed branch

Development

  • Create a dev/QA environment for any branch
  • Attach to VSCode server to make development changes
  • Integrate with CI systems to auto-deploy

VSCode server interface

Auto-deployments

  • Configure CI webhooks for GitOps CD functionality
  • Updating a deployed instance with new changes

CI workflow code configuration

Demo

  1. Create a Workspace
  2. Create a Project
  3. Deploy a Branch
  4. Add a Custom Domain
  5. Attach to VSCode and make a change
  6. Auto-deploy a change

DevPanel Architecture Diagram

Roadmap

  • Extending integration with other Kubernetes providers (GCP is almost ready).
  • Consensus & DevPanel partnership.
  • Deeper integration with DrupalForge.
  • Enable cost reduction, enabling users to own their infrastructure.
  • Middle-ground shared hosting service?

Thank you!