Blog

Negen onderdelen van een succesvolle devops architectuur

Kubernetes en het gebruik van microservices zorgen ervoor dat veel systemen nu worden vervangen door een cloud-gebaseerde omgeving. Voor sommige organisaties is dat de eerste keer dat er cloud native gewerkt wordt en er gebruik gemaakt wordt van bijbehorende technologie. Naast de overgang naar werken volgens de DevOps methode, komen organisaties hierdoor ook voor het eerst in aanraking met het bouwen van een platform volgens DevOps architectuur.

Zo’n DevOps platform ziet er anders uit en bestaat uit andere componenten dan een server-gebaseerd platform. In dit artikel benoemen we negen verschillende onderdelen van zo’n architectuur en geven we tips bij het gebruik ervan.

1. Cloud-native infrastructuur

Er is nog steeds plaats voor servers in veel gevallen, maar probeer vooral ook gebruik te maken van de beschikbare componenten die het cloud platform standaard aanbiedt. Doordat je componenten daardoor niet zelf hoeft te bouwen verminder je zowel de complexiteit als de onderhoudskosten. Wees je wel bewust van hoe cloud-agnostisch die componenten precies zijn om te voorkomen dat je in een vendor lock-in belandt.

2. Storage

Storage betreft zowel bestanden als database informatie. Voor ieder development project of onderdeel zou het team zelf moet kunnen kiezen hoe en waar data optimaal kan worden opgeslagen en welk databasesysteem je gebruikt. Waak ervoor om cloud-vendor-specifieke oplossingen te gebruiken voor bedrijfskritische data, maar gebruik storage gebaseerd op open standaarden. Ook hier bestaat het risico op vendor lock-in, maar dan op wel je belangrijkste bezit: je bedrijfsdata.

3. Sleutelbeheer

Jouw applicatie zal op verschillende plekken gebruik gaan maken van cryptografische sleutels. Voor toegang voor gebruik en componenten onderling, maar ook voor deployment en configuratie. Zorg dat je goed bedenkt hoe je daarmee omgaat, waar je sleutels opslaat en waar je gebruik ervan logt. Je verhoogt daarmee de veiligheid en voldoet aan compliancy vereisten.

4. Cloud identity and access management (IAM)

Met IAM bepaal je welke gebruikersrollen er nodig zijn binnen jouw landschap en welke taken hierbij horen. Zorg ook dat je processen en procedures definieert voor het provisionen en deprovisionen van gebruikers. Zet logging en auditing op het wijzigen van rollen en rechten, maar ook voor succesvolle en gefaalde toegangspogingen. Denk na over het regelmatig roteren van sleutels.

5. Monitoring

Monitoring verzorg je bij voorkeur vanaf een andere omgeving dan de applicatie zelf voor hogere betrouwbaarheid en stabiliteit. Niet alleen op je endpoint, maar ook als (automatisch) onderdeel van je deployment pipeline. Als er dan iets misgaat, weet je sneller waar je moet zoeken. En controleer niet alleen de beschikbaarheid, maar ook andere zaken zoals performance, security en of je applicatie ook daadwerkelijk correct functioneert.

6. Development tools

Gebruik de CI/CD tools die voorhanden zijn in de omgeving waar je bouwt, maar bewaar je intellectuele eigendommen (je code) en hoe infrastructuur moet worden deployed in een centrale omgeving (een git repository, eventueel extern gehost).

7. Code security

Zorg dat je niet alleen de kwaliteit van je code bewaakt, maar ook de veiligheid ervan. Kijk naar tools die je daarbij kunnen helpen door je code bijvoorbeeld te controleren op kwetsbaarheden uit de OWASP Top 10, zowel je eigen code als die van derden die je gebruikt.

8. Webapplication firewall (WAF)

Hackers liggen overal op de loer om misbruik te maken van jouw webapplicatie, dus het is verstandig om zo goed mogelijk voorbereid te zijn. Het gebruik van security groups en firewalls is een vereiste, maar overweeg om ook gebruik te maken van een WAF. Het levert veel aanvullende bescherming op en is zelfs veelal een eis van partijen die gebruik willen maken van jouw dienstverlening. Je kan er beter vroeg dan laat in investeren.

Met een WAF bescherm je jezelf tegen veelgebruikte exploits, zoals SQL injecties, XSS en andere security zwakheden. Je krijgt daarnaast de beschikking over audit logs en kunt verkeer over verschillende onderdelen in de gaten houden en verbanden daartussen leggen.

9. Management console

De intelligentie van je applicatie en deployment zit in je code, maar het gebruik van een intuïtieve management interface kan je helpen om makkelijk inzicht te krijgen voor het beheren van Kubernetes en het optimaliseren van onderhoudsprocessen.

Cyso devops on demand

Zoals je ziet, er zijn behoorlijk wat zaken om bij stil te staan qua architectuur. Vooral als je hier voor het eerst mee te maken krijgt, kan dit een behoorlijk complexe puzzel opleveren en is de kans op fouten groot. Cyso’s devops on demand dienst is er voor dit soort vraagstukken. Wij begeleiden jouw DevOps team bij het ontwerpen, implementeren en optimaliseren van de architectuur voor jouw cloud applicatie.

Wil je op de hoogte blijven van de laatste ontwikkelingen op IT gebied. Meld je dan hier aan voor de nieuwsbrief.

Benieuwd naar de mogelijkheden? Let’s talk!

Cyso stories

Cloud referentiearchitectuur
14/09/2023

Cloud Hosting: welke oplossing past het best?

In dit artikel bekijken we de verschillende vormen van cloud hosting, we geven aan waar je op moet letten, hoe de kosten opgebouwd worden en hoe het zit met regels en beheer
25/06/2013

Auto Deploy met VMware en Chef – Inleiding

In dit artikel leggen wij uit hoe wij bij Cyso ervoor hebben gezorgd dat development van onze core applicaties op één platform staat.
12/08/2019

Rapport state of container and kubernetes security gepubliceerd

Het Amerikaanse StackRox heeft onderzoek gedaan naar de status van de beveiliging en acceptatie van container- en Kubernetes-platformen.

Interesse in een van onze diensten?

Wat is je vraag? Neem nu contact met ons op.

Wil je dat wij contact met jou opnemen? Laat je gegevens achter en wij bellen je terug.

Cyso contact