De Pecha Kucha presentatie van Mattias Geniar, Support Manager bij Nucleus, over het belang van DevOps voor stabiele en schaalbare omgevingen: "it is all about communication".
#2:A tale of Dev & Ops
Waarom samenwerking nodig is
Verdeling skillset
Deling van informatie
#3:Vroeger was 't gemakkelijk
Iemand was de "webmaster", die maakte de website
Van design tot technische uitwerking
Hij of zij was de Project Manager, de Technical Architect, de Server Guy, deed de 24/7 escalatie, all-in-on
#4:Maar de site groeit, niet alleen in grootte maar in belangrijkheid
Een website is al lang meer dan "gewoon een website", voor vele zaken is het 100% van hun omzet
De website *is* de business
En naarmate die groeit, groeit ook de complexiteit
#5:Die ene webmaster merkt al heel snel een overload
Te veel werk om de site te onderhouden
Nieuwe features = nieuwe complexiteit = nieuwe technologie
De oude werkwijzes werken niet meer: er moet innovatie zijn om efficienter te kunnen werken
#6:De "business" ziet een oplossing
Splits het werk op: één team doet het beheer van de servers
Het andere team concentreert zich op de site, de inhoud, de ontwikkelingen
Dat begint altijd met de beste bedoelingen
#7:Maar al snel escaleert zoiets
Er is geen duidelijke lijn te trekken tussen het "server team" en de "webmaster team" of de programmeurs
Het werk van de ene heeft duidelijk een impact op de andere
En als er iets niet werkt: wiens fout is het? Wie lost het op?
#8:Vandaag breng ik jullie de oplossing
De "silver bullet" waarmee alles miraculeus opgelost is
Geen vingergewijs meer
Vlotte samenwerkingen
Communicatie problemen zijn van de baan
Iedereen begrijp elkaar
#9:Just kidding, utopia bestaat niet
Een website die niet werkt, een deploy die voor downtime zorgt, hardware die ergens faalt, ... dit zijn geen technische problemen
Het probleem is bijna altijd communicatie
Of liever: een gebrek aan communicatie
#10:De virtuele muur die tussen het server & development team zit moet weg
We hebben hetzelfde doel: de business draaiende houden - wat de business ook mag zijn
Gedeelde verantwoordelijkheid
#11:Die oplossing heet "DevOps"
Door kennis, ideëen, best practices te delen, wordt iedereen slimmer
Bijvoorbeeld: sysadmins gebruiken nu ook unit en integration tests om server configuraties te maken, dat concept komt van ontwikkelaars
#12:Case: Amazon
DevOps = recommendation engine bouwen, de server-side moet nauw integreren met de programma code: feedback & overleg van beide teams
DevOps = search engine bouwen, de server side moet nauw integreren met de programma code
#13:Case: Pukkelpop
Als de code van Inventis gewoon online werd gezet, had de site offline gegaan
Als onze server configs gewoon online werd gezet, had de site offline gegaan
#14:Spaghetti
Bedoeling van DevOps is om de verwarring bij alle partijen weg te halen, door begrip te introduceren
Begrip van sysadmins over hoe de applicatie werkt & andersom
#15:SQL
Goed voorbeeld: SQL performance
Devs: SQL queries zijn traag, sysadmins moeten hun servers krachtiger maken
Operations: SQL queries zijn traag, developers moeten hun query tweaken - of indexes
Klassiek wordt er met de vingers gewezen, terwijl hier gewoon over praten vaak de oplossing is
#16:Devops = automatisatie
Development meets Operations
We introduceren concepten van developers bij operations: versie controle, pull requests, approvals & comments
Klinkt logisch, maar onze industrie heeft lang geduurd om op dit punt te staan
#17:Devops = metrics
Uitwisselen van metrics
Sysadmins tonen server-side metrics: CPU, memory, disk, I/O
Developers tonen applicatie metrics: aantal signups & errors per minute
In één dashboard: alle metrics bij elkaar & pinpointen van problemen worden eenvoudiger
#18:Devops = advies
Door dev & ops kennis te laten uitdelen komt er automatisch advies
Best practices van developers komen tot bij operations & andersom
#19:Devops = consistentie
Acceptatie & productie server zijn identiek
We gebruiken geautomatiseerde processen
Geen "configuration drift"
#20:Gemeenschappelijk doel: de business doen groeien
Maakt niet of je developer of sysadmin bent, het belangrijkste is de business
Dat betekent uptime op de servers, kwaliteit in de code, nieuwe features & automatisatie
#21:Als je één ding onthoudt: collaboration
In-house sysadmins? Zet ze samen in een hok met de developers, laat hen praten
Uitbesteed aan managed hosting providers zoals Nucleus? Laat operations met developers open communiceren & kennis delen. Er zijn geen geheimen onderling, delen van kennis moet natuurlijk worden.