Joker22 schreef op dinsdag 9 april 2019 @ 11:27:
Hoi,
Voor degenen die op werk in een DevOps team/omgeving zitten..
Ik ben erg benieuwd naar hoe dat allemaal in de praktijk in z'n werk gaat. Ik heb een basic understanding van wat het inhoudt. Developers en Operations die samenwerken om de time-to-market te verlagen en dus een sterke positie in de markt kunnen aanhouden.
Hoe ziet jouw werkomgeving eruit? Wie zitten er allemaal in de team?
Een open office met een paar scrum teams. Ieder team (8 tot 12 mensen) heeft:
- Een of meerdere front-end developers
- Een of meerdere back-end developers
- Een of meerdere testers
- Een of meerdere UX of UI designers
- Een scrum master
- Een product owner
- Mogelijk business intelligence
- Mogelijk een architect of lead
Daarnaast hebben we de operations mensen die eigenlijk over meerdere teams heen bungelen. In dit geval is dat een zelfstandig team van 4 mensen die zich specialiseren in alle CI/CD zaken en taken.
Zitten jullie in dezelfde kamer?
Definieer "kamer"

Het is een grote "open office" omgeving maar er staan wel veel muren. Ook glazen wanden.
Hoe ziet het traject voor ontwikkelen (van bijv. een product) eruit?
Dat is een erg brede vraag waar je niet zomaar antwoord op kan geven. Maar we gebruiken Scrum/Kanban en de Agile methodologie voor ons dagelijkse werk. Dat houdt in dat we veel plannen en overleggen, en alles redelijk gestroomlijnd verloopt. Je probeert "waterfall" te voorkomen maar ontkomt er niet aan dat dit som plaatsvindt.
Grofweg:
- Maak de keuzes voor technologie
- Bedenk een technisch design & architectuur
- Grafische vormgeving legt een fundament
- Technisch fundament wordt ook gelegd
- Scrum tot het einde der dagen...
En hoe zit het met het beheer?
Dat valt in de omgevingen waarin ik heb gewerkt altijd onder de verantwoordelijkheden van de mensen die er aan werken. Operations (CI/CD) regelen de servers en security, back-end zorgt voor hun databases. Daar zit ook de nodige overlap in; operations kan ook databases optimaliseren, maar dat heeft meer te maken met sharding bijvoorbeeld, niet zozeer met indexes in tabellen.
Zijn er ook knelpunten die het werk belemmeren? (DevOps wilt verspilling verlagen)
Ja, maar persoonlijk merk ik vaak dat vooral Scrum vaak belemmerend werkt. Een kleine feature request levert soms als reactie op: "Oh, dat zullen we inplannen in de volgende sprint, en de sprint daarop kunnen we het misschien meenemen," terwijl ik denk: da's 15 minuten werk, doe het gewoon nu.
Of een bouw-straat die vol hangt met automatische tests voor een deployment. Ja, da's veilig. Maar zodra de software groeit ben je op een gegeven moment 30 minuten bezig voordat je een deployment live krijgt. Deployments zouden altijd selectief moeten testen: test alleen wat daadwerkelijk wordt geraakt door de gemaakte aanpassingen.
Operations en dev/ops zouden altijd moeten streven naar een scenario waar een breaking bug binnen 5 minuten kan worden opgelost. Je moet, vind ik, tientallen keren per dag live kunnen gaan. Ik heb ook gewerkt aan projecten waar je maar 1 keer per 3 maanden live kon gaan...