{stackbot}

Kubernetes, Elixir e DevOps

# Introdução

O software que construimos é fodido

  • muitas peças envolvidas
  • dificuldade em replicar produção
  • dificuldade em ter visibilidade sobre o código
  • manter ambientes locais é difícil, e caro em termos computacionais
  • sincronizar com QA é difícil
  • outras coisas exóticas que não são integradas com a developer experience sem lutar

A solução tem sido Docker

# Introdução
  • funciona bem
  • "works on my machine" transplantado para outros
  • muitas ferramentas disponíveis

Podemos fazer melhor?

Soluções

V7 e outros

O que (não) funciona agora

Deploybot (V7)

"remote Docker"

  • instance no EC2 grandinha
  • resolve o problema do Docker no macOS (lento)
  • pessoas dependem da coisa (em especial frontenders)
Soluções

Deploybot (V7)

Soluções

Deploybot (V7)

Problemas

  • "pet project" do CTO
  • não há ownership da coisa, fixes demoram
  • quando não funciona, frontenders e QAers param
  • não sincronizam com o Github, precisam de refresh
  • não desligam automaticamente, ocupam recursos muito depois de serem úteis

Todos estes problemas fazem sentido, a V7 não é uma empresa de ferramentas de DevOps!

Soluções

Outras cenas

Soluções

"Preview environments"

  • Players a começarem a crescer
  • Mercado ainda "verde"
  • Uffizzi, render.com, Qovery, etc

https://www.qovery.com/blog/why-preview-environments-are-the-new-thing-in-devops

DevOps em geral é um caos

Soluções
  • Bom potencial para algo que resolve problemas gerar brand loyalty
  • Baixo risco
    • price tag upfront (nada de freemium)
    • não temos clientes? não temos contas de hosting
  • Bom problema para resolver com poucas pessoas
Stackbot

Stackbot

Ideia geral e plano

Visão geral

Stackbot
  • Ferramenta para criação de preview environments
  • Integrações com AWS/Azure/GCP/Github/Slack/Teams
  • Hosted por nós ou BYOK (Bring Your Own K8s)

Visão geral

Stackbot

Stack builder / importer

Stackbot
  • Drag-and-drop `docker-compose.yml`, parse duma "Stack" deployable
  • Parse de Dockerfiles em Github repos para construir a coisa num editor

Integrations

Stackbot
  • AWS/Azure/GCP para BYOK ou storage dos artefactos
  • Github/Gitlab/etc para integracao com source
  • Slack/Teams/webhooks normais para triggering de builds

k8s interface

Stackbot
  • Ligação a um cluster nosso que corra builds dos users
  • Ligação ao cluster dos clients
  • Operador custom escrito com Bonny* para gestão de workloads
  • ingress custom para gerir acesso aos previews (VPNs? etc)

*https://github.com/coryodaniel/bonny

MVP

Stackbot
  • Webapp básica com logins, etc
  • Integração com um cluster nosso (na AWS?)
  • Integração com Github e Slack
  • Gestão de lifecycle dos environments (time to live, etc)

*https://github.com/coryodaniel/bonny

Meet the Team

Idiota (bué ideias)

Elixir, k8s, devops

Bruno

O talento

Elixir, ferra

André

Wunderkind

Elixir, Kierkegaard

Hugo

TEAM

Price $??? /mo

One team

Two stacks

7-day turnaround

Premium support

BUSINESS

Price $??? /mo

Up to three teams

Two stacks/team

7-day turnaround

Premium support

BEST

Services & Pricing

PODRES

Price $??? /mo

Up to five teams

Three stacks/team

3-day turnaround

24/7 support

Addons: more stacks, more teams, DB retention, etc.

1

Discovery dos requisitos

2

Pesquisa sobre o mercado

3

Criação de plano para o MVP

5

Closed beta

4

Iterar sobre milestones ate ao MVP

6

Open beta / soft launch?

Stackbot

By Bruno Antunes

Stackbot

  • 8