teraz może troche o tym jak wygląda u nas background techniczny w
insy.io
koszt infrastruktury? ok. 600-800 pln brutto /mc
w tej cenie mamy 3 klastry k8s
- produkcyjny
- stage
- fun (klaster, który tworzy dynamicznie środowiska na testy e2e i jest triggerowany pod sesje devbox o których opowiem zaraz)
dużo? mało? rozmawialiśmy z kilkoma dostawcami cloudowymi, ale wiadomo jakie są koszty chmurowe. Jako bootstrapowany startup nie mogliśmy liczyć na duże creditsy, więc postawiliśmy na self-hosted talos os, terraform, helm i argocd.
nasz insy-core 🧠 (serwer organizacyjny) to deklaratywny serwer NixOS z którym komunikują się klastry - tutaj mamy vaultwardena, dexa, żeby logować się po SSO, headscale, grafane itp.
insy-devbox 💻 - to też serwer nixos, który został stworzony niedawno pod uruchamianie wirtualnych sesji devbox dla agentów ai
jak działa taki agent ai?
1. możemy go wywołać z poziomu githuba, discorda, lineara i rozpocząć devbox session
2. agent otrzymuje zwirtualizowane środowisko programistyczne - takie jak nasz zespół techniczny; większość projektów zawiera flake.nix i tam są wszystkie wymagane dependencje, żeby zacząć kodować
3. agent otrzymuje konkretne instrukcje i stara się zrobić swoją robotę poprawnie
4. zmiany wykonane przez agenta są pushowane do devbox branchy i jest tworzony draft pr
5. ci/cd odpala testy i triggeruje klaster insy-fun, żeby zsetupować tymczasowe środowisko pod aktualne zmiany i móc przetestować daną zmianę zrobioną przez agenta
6. zespół może zrobić code review agentowi i poprzez CR triggerować feedback-loop
agent ma dostęp do lineara, ticketów z supportu, dokumentacji, wie jakie obecnie kierunki obieramy w insy
czy to oznacza, że w insy, już nie ma human written code? absolutnie nie! używamy tego jako wsparcie w mniejszych taskach/bugfixach
duże ficzery nadal wymagają designu, wielu iteracji, ręcznego zakodowania, debugowania - wiadomo jak jest 😅
w dev-team są osoby, które nie używają totalnie AI; wolą pracować w terminalu w neovim i kodować w skupieniu, z dokumentacją - po staremu ;)