Jak zostać Dev w DevOps?
Czyli o tym jak zwiększyć niezależność
zespołów developerskich
Michał Kaleta
DevOps Engineer
Gliwice, 27.06.2024
Agenda
1. Wrzuciłem sekret do repozytorium - Dlaczego Ja?
2. I znowu nie sformatowany kod, I znowu zmarnowany dzień
3. On-prem dla testów, chmura dla produkcji? - Trudne Sprawy
4. Co, jak i dlaczego robi moja aplikacja? - Ukryta Prawda
5. “Na moim komputerze działa” - Niesamowite Historie
1 Nowe repozytorium, ale
co dalej?
Git hooks i inne bajery
● Formatter przed git commit
● Linter przed git push
● Conventional Commit Messages
● Git Leaks
Repozytorium
2 Continuous integration,
delivery and deployment
Continuous integration
● CI wszędzie, zawsze, od samego początku
● Jeden stack? Jeden CI!
● Chyba że to JS - różne implementacje
● Czas trwania musi zadowalać zespół
● Pełny CI musi pokryć pełen zakres
CI
Continuous delivery,
czy może już deployment
● Deliver at least, deploy at most
● Czym częściej, tym lepiej …
● … chyba że nie działa …
● … no to rollback.
● Produkcja - automatycznie czy on-demand?
CD
3 Skalowalne od początku
Czy skalować można
tylko w górę?
● Kontenery wszędzie i zawsze
● Multi-stage twoim przyjacielem na produkcji
● Gdy możliwe → rootless
● Najlepiej → distroless
● Zabezpieczenie na przyszłość ✓
● Brak vendor lock-in ✓
Konteneryzacja
4 Bezpieczne od początku
Bezpieczeństwo jako
feature, nie wymaganie
● Bezpiecznie od początku
● Least Privilege Principle
● Dependabot i Renovate
● Zainstalujmy kolejną zależność, co złego może się
wydarzyć (xz backdoor)
Security
Monitoring
5
OODA
● Troche developersko, bardziej biznesowo
● Dobre dane, to zazwyczaj dobre decyzje
● Brak danych, to zawsze złe decyzje
● Od czego zacząć?
“A delayed game is eventually good, but a rushed game is
forever bad” ~ Shigeru Miyamoto
OODA
Monitoring i Analityka
● Performance a User Experience
● Analizujmy co dobrze działa
● Monitorujmy jak dobrze działa
● Statystyki platformy vs. aplikacji
Analityka
6 Wiedza plemienna,
a może jednak ogólna?
Zepsuć, naprawić, zapomnieć
● Dokumentacja nie musi być uciążliwym obowiązkiem
● Zepsułeś? Zapytaj czy ktoś widział taki problem
● Naprawiłeś? Zostaw komentarz
● Zapomniałeś? Sprawdź dokumentację
Wiedza plemienna
Podsumowanie
1. Standardowe ustawienia repozytorium
2. CI wszędzie, CD gdzie się tylko da
3. Konteneryzacja jako wspólny format dostarczania softu
4. OODA → analityka i monitoring → OODA
5. Dzielenie się wiedzą, nie tylko na spotkaniach, ale zawsze
Thank you!
Questions?
7 Extras
A co dalej?
● Infrastructure as Code
● Cloud - nieważne który
● Semantic Versioning
Extras

Jak zostać Dev w DevOps? O zwiększaniu niezależności zespołów developerskich w DevOps

  • 2.
    Jak zostać Devw DevOps? Czyli o tym jak zwiększyć niezależność zespołów developerskich Michał Kaleta DevOps Engineer Gliwice, 27.06.2024
  • 3.
    Agenda 1. Wrzuciłem sekretdo repozytorium - Dlaczego Ja? 2. I znowu nie sformatowany kod, I znowu zmarnowany dzień 3. On-prem dla testów, chmura dla produkcji? - Trudne Sprawy 4. Co, jak i dlaczego robi moja aplikacja? - Ukryta Prawda 5. “Na moim komputerze działa” - Niesamowite Historie
  • 4.
    1 Nowe repozytorium,ale co dalej?
  • 5.
    Git hooks iinne bajery ● Formatter przed git commit ● Linter przed git push ● Conventional Commit Messages ● Git Leaks Repozytorium
  • 6.
  • 7.
    Continuous integration ● CIwszędzie, zawsze, od samego początku ● Jeden stack? Jeden CI! ● Chyba że to JS - różne implementacje ● Czas trwania musi zadowalać zespół ● Pełny CI musi pokryć pełen zakres CI
  • 8.
    Continuous delivery, czy możejuż deployment ● Deliver at least, deploy at most ● Czym częściej, tym lepiej … ● … chyba że nie działa … ● … no to rollback. ● Produkcja - automatycznie czy on-demand? CD
  • 9.
    3 Skalowalne odpoczątku
  • 10.
    Czy skalować można tylkow górę? ● Kontenery wszędzie i zawsze ● Multi-stage twoim przyjacielem na produkcji ● Gdy możliwe → rootless ● Najlepiej → distroless ● Zabezpieczenie na przyszłość ✓ ● Brak vendor lock-in ✓ Konteneryzacja
  • 11.
    4 Bezpieczne odpoczątku
  • 12.
    Bezpieczeństwo jako feature, niewymaganie ● Bezpiecznie od początku ● Least Privilege Principle ● Dependabot i Renovate ● Zainstalujmy kolejną zależność, co złego może się wydarzyć (xz backdoor) Security
  • 13.
  • 14.
    OODA ● Troche developersko,bardziej biznesowo ● Dobre dane, to zazwyczaj dobre decyzje ● Brak danych, to zawsze złe decyzje ● Od czego zacząć? “A delayed game is eventually good, but a rushed game is forever bad” ~ Shigeru Miyamoto OODA
  • 15.
    Monitoring i Analityka ●Performance a User Experience ● Analizujmy co dobrze działa ● Monitorujmy jak dobrze działa ● Statystyki platformy vs. aplikacji Analityka
  • 16.
    6 Wiedza plemienna, amoże jednak ogólna?
  • 17.
    Zepsuć, naprawić, zapomnieć ●Dokumentacja nie musi być uciążliwym obowiązkiem ● Zepsułeś? Zapytaj czy ktoś widział taki problem ● Naprawiłeś? Zostaw komentarz ● Zapomniałeś? Sprawdź dokumentację Wiedza plemienna
  • 18.
    Podsumowanie 1. Standardowe ustawieniarepozytorium 2. CI wszędzie, CD gdzie się tylko da 3. Konteneryzacja jako wspólny format dostarczania softu 4. OODA → analityka i monitoring → OODA 5. Dzielenie się wiedzą, nie tylko na spotkaniach, ale zawsze
  • 19.
  • 20.
  • 21.
    A co dalej? ●Infrastructure as Code ● Cloud - nieważne który ● Semantic Versioning Extras