De manier waarop we apps bouwen, uitrollen, beheren en beveiligen blijft in beweging. Agile ontwikkeling vergroot de druk op operations, waardoor bedrijven devops omarmen om de twee functiegebieden dichter bij elkaar te brengen. Hierdoor komt security onder druk te staan, waardoor bedrijven doorschuiven naar een devsecops-model.
Daarnaast is de complexiteit van een gemiddelde omgeving aanzienlijk toegenomen. Apps draaien op een virtuele server in AWS, de ci/cd-pipeline draait in een andere cloud, er is een managed waf (web applicaion firewall) en er worden SaaS-producten gebruikt van weer andere leveranciers. Verder werken er verschillende teams aan app- en web-ontwikkeling, plus dat de mensen in deze teams bij verschillende releases en business units betrokken zijn. Hoe beoordeel je in dit ingewikkelde geheel waar de mogelijke problemen zitten en hoe speel je er snel op in als ze daadwerkelijk optreden.
Dit is de voedingsbodem voor chatops, ook wel conversation-driven collaboration, of conversation-driven devops genoemd. Het is een oplossing om gegevens te delen tussen diverse stakeholders en om alle leden van het uitgebreide, multifunctionele team op een lijn te houden. Het is bedoeld om problemen die vrijwel zeker gaan optreden al in een vroeg stadium in het ontwikkelproces op te vangen.
Chatops gebruikt chat-clients, chat-bots en realtime communicatie-tools om devops, en devsecops te ondersteunen. De chat-client dient als primair communicatiemiddel voor alle belanghebbenden. Het biedt inzicht in de juiste informatie op de juiste tijd om snel beslissingen te kunnen nemen en eventuele issues op te lossen. Zo’n omgeving bouwen vereist tools als Slack of Microsoft Teams, aangevuld met plug-ins en specifieke kanalen. Tools die al in gebruik zijn door ontwikkelaars en operation managers moeten geïntegreerd worden om ticket-tracking en response-tijden te verbeteren. Door alle communicatie in een omgeving onder te brengen vergroot je het inzicht die je nodig hebt voor applicaties, netwerkbeveiliging en andere infrastructuren als DNS en TLS.
Teams samenbrengen
Het mooie van chatops is dat het ‘gewone’ tools meer waarde geeft dan simpel berichtjes sturen. Het integreert alle applicaties die het ontwikkelproces ondersteunen zodat je volledige zichtbaarheid hebt gedurende de lifecycle. Je maakt een koppeling met de dev toolchain, je sprint-tool, je hele ecosysteem van applicaties. In een chat-based productiviteits-tool zijn alle apps geïntegreerd. Je ziet de sprints, je ziet de teams; doordat alles op één plek is, kunnen teams makkelijker samenkomen om een triage uit te voeren. Om een nieuwe waf-policy te introduceren, kan dat direct vanuit de tool. Als je ziet dat iets fout gaat, kan je binnen een kanaal de meest recente logs en alerts inzien. Wanneer blijkt dat er een security-incident is, kan het security-team in het eigen kanaal werken om het op te lossen, terwijl andere groepen zich blijven richten op hun taken. Het gaat erom teams zo snel mogelijk samen te brengen om iets uit te zoeken en dan de juiste groep aan te wijzen om het op te lossen.
Vervolgens is dit idee te optimaliseren door chatops-omgevingen te automatiseren en middels artificiële intelligentie (ai) extra functionaliteit te geven. De chatbot is ontwikkeld om als assistent te dienen. Hij is geprogrammeerd om terugkerende patronen te herkennen en een automatisch antwoord te geven. Dit kan het proces van de juiste mensen verzamelen sneller maken.
Bedrijven als Microsoft, Google en Amazon bieden een chatbot met basisfunctionaliteit aan in hun ai-platformen. Voor de wat meer gevorderde gebruikers zijn deze te downloaden en te integreren in andere samenwerkingstools en ze zo te programmeren dat ze de meest voorkomende events herkennen en de initiële acties in de chatops-omgeving kunnen oppakken.
Tijdwinst
De meeste organisaties die een chatops-omgeving openen zitten echter nog niet in deze fase. Het trainen van een bot om de top vijftien meest voorkomende issues te herkennen, is nog best een uitdaging, en vraagt ook tijd van de ontwikkelaars, terwijl ze aan andere projecten werken. Toch zullen we de combinatie van chatops en steeds slimmere ai-toepassingen vaker gaan zien. Het is een van de makkelijkste manieren om met de complexiteit van werken met al die teams om te gaan.
Er zijn tal van incidenten die niet noodzakelijk de alarmbellen laten rinkelen, maar wel opgelost moeten worden. It-collega’s kunnen zomaar te maken hebben met een TLS-certificaat dat niet goed werkt, een verkeerd geconfigureerd security-apparaat dat de website trager maakt en code van derden die voor vertraging zorgt. Niks om je direct zorgen over te maken, maar de oorzaken vinden kost het team uren. Tijd die beter besteed kan worden aan het optimaliseren van een app of iets dergelijks. Stel dat je die tijd van acht uur naar zeven uur kan brengen, of zelfs naar een paar minuten in sommige gevallen. In dat geval werkt chatops als een overgang naar volledig, vlekkeloos werkend devsecops, met veel snellere probleemoplossing. Of die problemen nu security-gerelateerd zijn of niet.
De complexiteit van software ontwikkeling zit vooral in een teveel aan tools, vroeger had je genoeg aan een editor en een compiler. Met 64KB aan geheugen deed je hetzelfde waar moderne code-klutsers met alle eye candy van grafische omgevingen al meer dan 64MB aan geheugen voor nodig hebben. De gemiddelde ontwikkelaar heeft dan ook een laptop nodig die ondertussen meer kost dan de lease-auto.
Ik weet niet of scriptmatige invulling van de F5 functie de statistieken bij Computable nog beïnvloed maar met een Raspberry Pi van €25 zijn dingen mogelijk waar sr. System Engineer geen weet van heeft. Een simpel script dat de pagina 50.o00 keer ververst binnen een uur levert problemen met de bandbreedte op. En de kosten van I/O zijn met name bij de ontwikkeling van IoT dan ook nogal belangrijk.
Gelukkig zijn er ook legio system engineers die wel weten dat er raspberry Pi’s bestaan, en die gelukkig ook weten dat 64KB niet meer van deze tijd is.
Vroeger was alles beter blijkbaar, maar als we nog steeds op de 64KB pc’tjes zaten te hobbyen nu, dan hadden we nu ook niet naar deze pagina gekeken
Tja…waar zal ik eens beginnen ? Heb mijn verhaal in deze al zo vaak gedaan.
Ik ben ooit eens bij een werkgever naar HR gegaan om te melden dat mijn grens toch echt wel ver gepaseerd was.
Als je als ontwikkelaar niet zo getalenteerd bent als je zelf denk is een ding,
maar van je colega’s verwachten dat ook zij maar op kleuterklas niveau moeten werken omdat je het zelf niet snapt gaat mij echt te ver.
Duurde ook niet lang voor ik mij bedankt heb.
@PaVaKa uiteraard chargeerd Ewout enigzinds, ik klots source code files bijeen die al meer dan 64kb beslaan, zwijgen over een heel project.
Feit is dat ik geen tool nodig heb die mij aan het handje houdt, net zomin heb ik een omgeving nodig die mijn gebrek aan vakkennis moet verdoezelen.
Jazeker, ik heb totaal geen problemen met het vinden van zeer ervaren, competente en veelzijdige vakmensen, maar wat ik als regel bij bedrijven tegenkom valt daar iha bepaald niet onder.
Zijn er überhaupt nog Nederlandse ITers te vinden die zonder anglicismen Nederlandse volzinnen weten op te schrijven?
Wat ontwikkel omgevingen betreft. De beste methode is degene die werkt (en blijft werken).