Cloud, een eufemisme voor het Internet. Internet, een virtuele samenleving zonder overkoepelend bestuur. Anarchie! Hoe kunnen we er toch voor zorgen dat dat blijft werken?
Voor velen is het misschien een verrassing, voor de ingewijden niet: De fysieke wereld is opgedeeld in landen, met elk hun eigen bestuur en het Internet is één globale virtuele wereld. De Internet goeroes vinden ook dat dat vooral zo moet blijven. Het Internet is zelfsturend.
Bestuurloos?
Toch is er natuurlijk wel een aantal kaders waarbinnen het Internet zich ontwikkelt. Globale afspraken over onder andere domeinarchitectuur waren toch wel nodig. De goede keuzes die daar in het begin zijn gemaakt, bleken erg belangrijk. Wel lopen we af en toe eens vast. Denk hierbij aan de beperkingen van ip-nummering. Laten we voor eens en voor altijd nu eens onthouden: als je als ontwikkelaar denkt ‘nah, dat moet groot genoeg zijn’, vermenigvuldig het dan minimaal met duizend voortaan. Maar dat terzijde.
Architectuur is uitgevonden om met name in de fundering rekening te houden met toekomstige zaken. Anders storten dingen in. Maar zeker in de ict betekent architectuur ‘het kunnen omgaan met verandering’. Een goede architectuur kan jarenlang mee. Tot de eventuele volgende paradigmaverschuiving.
Loos bestuur?
Is architectuur dus nodig? Ja. Kan het werken in een anarchistische omgeving als het Internet? Zeker. Mits je er rekening mee houdt dat er altijd rebellen zijn die zich niets aantrekken van je architectuur en je bouwsel gewoon met graffiti bespuiten. Of een dakterras op je platte dak bouwen. Door tegen betaalbare kosten rekening te houden met het ergste kan een architectuur zich prima staande houden. Maar zoals gezegd kan een volgende grote uitvinding in de ict wel het één en ander teweeg brengen. Een bit wat bijvoorbeeld zowel 1 als 0 kan zijn is iets waar we even over na moeten denken voor we het breed uit gaan rollen.
Ik ben van mening dat met de huidige manier van ontwikkelen van gedistribueerde oplossingen we een heel eind op weg zijn om onder een goede architectuur te werken die prima kan landen in de anarchistische cloud. Microservices-architectuur is een uitstekende manier om in deze chaos te kunnen gedijen. Microservices-architectuur is eigenlijk anarchitectuur! En wat zijn dan de DevOps eigenlijk?
p.s. Titel met dank aan Skunk Anansie.
Zo kan ik alles wel tot anarchistisch verklaren.
Het internet heeft in essentie twee adresseermethoden die echt een enorme hiërarchie (waar dus een gedachte achter zit, en er dus sprake is van een architectuur). Het IP nummer (of dat nu versie 4 of versie 6 is) en het DNS (Domain Name System). Dat deze indeling niet overeenkomt met landsgrenzen heeft daar niets mee te maken. Overigens zijn er zat mechanismen binnen de IT, die ogenschijnlijk niet op voorhand een bepaald stramien volgen, neem de gevirtualiseerde omgevingen, waarbij op een moment in de tijd, de verwerkingskracht, de opslag en netwerkbandbreedte willekeurig is.
En dat het internet zelfsturend is niet waar. Als de root servers ( de punt in elk DNS-naam aan het eind) allemaal zouden falen, heeft de wereld een groot probleem. En dat zijn geen luchtspiegelingen. Op het moment dat er weer eens een trans-Atlantische (of andere oceaan) kabel aan gort wordt getrokken, ligt een groot deel van het internet in die gebieden plat.
Is architectuur nodig is een gewetensvraag. Er zijn mensen die een muziekinstrument oppakken en direct de moeilijkste muziekstukken ten gehore brengen. Zonder enig plan, zonder enig idee, zonder enige voorbereiding. Ik ken ICT-ers die een heel eind in deze vergelijking mee kunnen komen. Maar……. (of beter “en” volgens communicatiedeskundigen)
Een muziekstuk hoef je alleen maar te beluisteren en dat was het eigenlijk wel. ICT (en zelfs verder technologie) wordt gebruikt door anderen en heeft vaak een relatie met de gang van zaken in onze samenleving. Het effect van de ICT (of technologie) moet gestuurd zijn en geen eigen leven gaan leiden.
Om dat te bereiken zal je architectuur moeten bedrijven, en dan bedoel ik hier Architectuur (met de grote A), dus niet het ontwerp van de ICT of de architectuur van de ICT, maar ook Enterprise Architectuur. Hierin worden alle aspecten die relevant zijn voor het maatschappelijke (of organisatie) vraagstuk ter harte neemt. Al deze aspecten tezamen en integraal beschouwd bepaald hoe, met welke andere middelen (behalve ICT) het gewenste effect bewerkstelligd dient te worden. Edoch met architectuur alleen zal je er niet komen: veel heeft te maken met de beroemde belangen van de stakeholders. Deze zijn niet in welk systeem dan ook te vangen, daar niet alle stakeholders het achterste van hun tong laten zien.
Overigens dat van die grenzen van landen, daar trekken al die vluchtelingen zich niet zo veel van aan……
En als er iets over belangen gaat is dit vraagstuk wel….
Als je als ontwikkelaar in de cloud werkt dan hoef je niet meer te denken ‘nah, dat moet groot genoeg zijn’.
Dat is de grootste reden voor de cloud, het schaalt mee met de hoeveelheid gebruikers.