18/01/2024
Best practices voor het beveiligen van Kubernetes
Best practices voor het beveiligen van Kubernetes. Wij geven je 7 tips die je helpen je Kubernetes beter te beveiligen.
Blog
De term DevOps behoort inmiddels tot het standaard IT vakjargon. DevOps is een proces dat als doel heeft softwareontwikkeling en software operaties samen te brengen. Maar hoe zit het met GitOps, ChatOps, NoOps, NetOps, DevSecOps, BizDevOps, DevOps 2.0 en de vele anderen? Een korte samenvatting van de termen en een stukje geschiedenis van de vele varianten van DevOps.
De uitbreiding van DevOps begon met het concept BizDevOps, waar het DevOps team het zakelijk management betrok in het continue integratie proces. Met real time statistieken en API tools kan het management monitoren en interactie hebben met de software terwijl het van idee tot werkende code gaat.
Met DevSecOps ging de uitbreiding verder door het security team toe te voegen aan de mix. In het verleden was de rol van security gerelateerd aan een specifiek team in de laatste fase van development. Dat kon toen nog, omdat de development cycli toen maanden of zelfs jaren doorliepen. Nu is dat anders. DevOps is efficiënter geworden en dat betekent snelle (weken of dagen) en regelmatige development cycli. Desondanks kunnen achterhaalde security practices zelfs het meest efficiënte DevOps teams stil leggen.
Met DevSecOps begin je direct met het bekijken van de beveiliging van de applicatie en achterliggende infrastructuur. Het betekent ook dat er security processen geautomatiseerd moeten worden om te voorkomen dat de DevOps workflow vertraging oploopt. Je kan hierbij kijken naar een integrated development environment (IDE) die security features heeft.
NetOps integreert de filosofie, tools en best practices van DevOps in het bouwen en beheren van het netwerk, om zo snel in te spelen op de behoefte van de gebruiker en applicatie. Dit vereist geautomatiseerde workflows en analyses die het netwerk niet alleen verbinden met de teams en systemen voor het netwerk, maar ook met de engineering teams en systemen voor de applicaties, gebruikers, services en andere infrastructuur.
De verschuiving naar SDN als onderdeel van de private cloud is nog een nieuwe ontwikkeling, en hangt vaak samen met de implementatie van nieuwe datacenters (of verbeteren van bestaande). Deze ontwikkeling, samen met de standaarden voor het verbinden en beheren van fysieke netwerkapparaten (SSH, NETCONF en open API’s) en de beschikbaarheid van virtual machines op netwerkbesturingssystemen, creëert een omgeving voor NetOps.
Netwerk engineers kunnen zo wijzigingen in een virtuele omgeving simuleren en testen voordat ze deze aanbrengen in de productie-infrastructuur, wat leidt tot minder storingen en vertragingen.
GitOps is een manier om Continuous Deployment te implementeren voor cloud native applicaties. De focus ligt bij GitOps op de developer door tools te gebruiken die de developer al kent, waaronder Git en Continuous Deployment tools. Het hoofdidee van GitOps is het hebben van een Git repository die altijd een declaratieve beschrijving bevat van de infrastructuur die op dit moment wenselijk is in de productieomgeving. Plus een geautomatiseerd proces om de productieomgeving overeen te laten komen met wat er beschreven staat in de repository. Als je dan een nieuwe applicatie wilt uitrollen of een bestaande wilt updaten hoef je alleen de repository te updaten, het automatische proces doet de rest.
Misschien heb je ook al gehoord van ChatOps, toegeschreven aan GitHub. ChatOps is conversatie gedreven development. In een chatroom kunnen developers commands sturen naar een chatbot, vaak geconfigureerd door custom scripts en plugins. Commands kunnen zijn het deployen van code, security incidenten opvolging, status updates vragen en collega’s op de hoogte brengen.
We hebben er nu al een flink aantal gehad, maar we zijn nog niet klaar! FinOps is de samenwerking tussen finance en operations. Deze ontwikkeling komt voort uit de cloud transformatie. Waar men vroeger een standaard aantal servers, schijfruimte of RAM nodig had, en je dit gewoon met je rekenmachine kon uitrekenen, was het vrij makkelijk om de uitgaven toe te schrijven aan de juiste kostenpost.
Tegenwoordig met pay as you go en flexibel af- en opschaalbare diensten is dat lastiger. Wat als het aantal gebruikers van jouw SaaS dienst verdubbelt? Hoeveel kost je dat dan? FinOps draait om financiële verantwoording en kostenoptimalisatie.
In de originele definitie van DevOps is testen niet meegenomen. Maar QA is een integraal onderdeel van DevOps. Het continu testen van DevOps 2.0 wordt gefaciliteerd door intensieve samenwerking tussen developers, QA, security en operations. Testen is niet alleen beperkt tot 1 gedeelte, maar overal. Bij planning, branching, code, merge, build, release, deploy, operate, monitor, en dan weer opnieuw. Testen, testen en nog eens testen. Met deze continue test loop zou je het zelfs nog DevTestOps kunnen noemen…
Waar DevOps 2.0 ook verder gaat is de samenwerking tussen de teams. DevOps 2.0 heeft als doel alle eilandjes in de organisatie bij elkaar te trekken en communicatie en samenwerking tussen alle groepen, technische en niet-technische, die betrokken zijn bij het ontwerpen, produceren en onderhouden van software te verbeteren. Een DevOps 2.0 proces omvat ontwikkeling en operatie, QA en security, HR en juridisch, door de gehele organisatie heen.
NoOps (no operations) is het concept dat een IT omgeving zo geautomatiseerd is geworden en losgekoppeld van de onderliggende infrastructuur dat het geen nut meer heeft om nog een toegewezen team te hebben voor management van deze software in het bedrijf zelf. De 2 grootste stuwkrachten achter deze ontwikkeling zijn de toenemende automatisering en cloud computing.
In 2011 schreef Mike Gualtieri, de Vice President van Forrester, “I don’t want DevOps, I want NoOps”. In het artikel zei hij: “NoOps betekent dat applicatieontwikkelaars nooit meer hoeven te praten met operations.” De definitie van NoOps volgens Forrester: “het doel om deployment, monitoring en managen van applicaties en de infrastructuur waarop ze draaien volledig te automatiseren.” Forrester zegt er wel bij dat hoewel sommige operationele functies overbodig zullen raken, er juist andere doorgroeien van een technische oriëntatie naar een meer business-minded focus.
In het uiterste geval is een NoOps organisatie er een die geen Ops personeel in dienst heeft. Er zijn echter ook andere mogelijkheden: sommige Platform-as-a-Service (PaaS) leveranciers noemen hun diensten NoOps platformen.
Eén ding is zeker. DevOps is nog bezig met een groeispurt. Er komen nog meer DevOps varianten aan. Nieuwe technieken en ontwikkelingen zullen allemaal een andere invulling geven aan het DevOps proces. Linksom of rechtsom is er eigenlijk maar een doel: slimme infrastructuur bouwen die weinig onderhoud nodig heeft en processen automatiseert.
Kende je alle termen? Of ken je er zelfs nog meer?
Bij Cyso volgen we de actuele trends om onze klanten hier zo goed bij te adviseren en te helpen. Juist omdat er zoveel verschillende werkwijzen en oplossingen beschikbaar zijn, kan het starten met DevOps op het eerste oog behoorlijk overweldigend lijken. Door klein te beginnen en van anderen leren kan iedereen profiteren van een DevOps werkwijze.
Meer lezen over DevOps? Bekijk ook De toekomst van DevOps