Lang geleden, toen het internet nog in kinderschoenen stond, was hardware duur en heette de internetverbinding een inbelverbinding. Er werd zuinig met dure middelen omgegaan zodat een beperkte set servers werd ingericht. Hiermee konden vele eenvoudige werkstations verbinden en zo samenwerking faciliteren. Deze oplossing staat bekend als het client-servermodel. Met de groei van het internet werd ook deze oplossing omarmd en immens populair.
Moderne ontwikkelingen laten dit model niet los. Ook cloud-oplossingen bouwen voort op het principe dat alle informatie op centrale servers wordt opgeslagen en communicatie via centrale punten verloopt. Ook software-as-a-service oplossingen centraliseren online dienstverlening. Logisch vanuit het oogpunt van eenvoud. Minder logisch, gezien recente beveiligingsproblemen bij bijna elke grote internetspeler. Beveiligingsproblemen die juist door centrale opslag en doorvoer van informatie mogelijk zijn geworden.
Single point of failure
Als hele organisaties van enkele servers afhankelijk worden, dan heeft onbereikbaarheid hiervan enorme gevolgen. Als we allemaal vertrouwen op de informatie die hier is opgeslagen, zijn de gevolgen groot als deze niet integer blijkt te zijn. Als iedereen zijn informatie toevertrouwt aan een centrale, is het een ramp als deze informatie ontvreemd wordt; door hackers of door de NSA. Centralisatie introduceert een single point of failure.
Terug naar het begin van het internet. Die tijd dat hardware kostbaar was en de internetverbinding beperkt. Die tijd bestaat niet meer. Een tablet heeft meer rekenkracht dan high-tech servers van toen! Een 4g-verbinding is tientallen malen sneller dan de inbelverbinding en bovendien verbindt deze mobieltjes permanent met het internet. Hardware is goedkoop geworden en internetverbindingen sterk verbeterd. De oude argumenten om te kiezen voor het client-servermodel zijn verouderd.
Jouw data nog steeds veilig
Als alternatief voor dit verouderde model moeten we taken van de server verschuiven naar gewone user devices. Door de verbazingwekkende rekenkracht en opslagcapaciteit, in samenwerking met een snelle permanente internetverbinding, kunnen mobieltjes en tablets veel functionaliteit van servers overnemen. Het grootste voordeel van deze nieuwe set-up: geen single point of failure. Als jouw device crasht, kunnen anderen met hun eigen systemen doorwerken. Als iemand anders apparaat gehackt wordt, is jouw data nog steeds veilig.
Dit klinkt nieuw maar dit is gewoon het peer-to-peer-model. Peer-to-peer heeft door partijen als The Pirate Bay en de link met illegaliteit geen aanzien gewonnen. Maar we kunnen veel leren van een model waarbij verantwoordelijkheden worden gedeeld. Waar het functioneren van een service niet afhangt van individuele service providers.
Nieuwe start
Internet: trek die kinderschoenen toch eens uit. Stap over van het client-servermodel naar een peer-to-peer-alternatief. Nu veel internetgiganten te maken hebben gehad met beveiligingsincidenten en nu de macht van diezelfde internetgiganten steeds meer gewantrouwd wordt, is het tijd om het internet langzaam te hervormen. Een nieuwe start naar een veiliger internet.
@Henri,
Volgens mij kun je peer2peer met zn allen de data hosten, slim gedeeltelijk redundant, encrypted met access management. Je kunt dus data hosten zonder dat je zelf die data kan decrypten, maar het overliggende algoritme weer wel.
– High Availability : een aantal nodes kan uitvallen waarbij de service nog onverminderd doorgaat, hooguit wat minder performance.
– Security : opslaglocatie en toegang kunnen zijn gescheiden
– Access : IAM is mogelijk
denk aan raid6 met 8 disks, waarbij je gewoon 2 disk kan verwijderen terwijl de data beschikbaar blijft. Daarover kun je weer encryptie op data niveau toepassen en daarover weer network encryptie. Daarbij dan nog access management. Straks ook Distributed.
ik denk dat clustering voor enterprise toepassingen bijna dezelfde voordelen heeft maar niet de nadelen. Maar dan was het weer geen innovatief artikel geworden met entameer aspecten enzo 😉
Cloudcomputing lost alle SPOFs op? Ewouuuuuuuttttt !!!
Arie,
Wat een merkwaardig artikel! Veel zaken hierin kloppen naar mijn mening niet, je reactie en toelichting blijven ook uit. Gebaseerd op wat er nu ligt kan ik voorzichtig zeggen dat ik je artikel maar een grote onzin vind!
1- [….] ook software-as-a-service oplossingen centraliseren online dienstverlening.
Een SaaS is zeker geen centralisatie van diensten vooral als je als afnemer van verschillende SaaS diensten bij verschillende providers gebruik maakt.
2- […]Centralisatie introduceert een single point of failure!
beveiliging van diensten moet je in de keten bekijken. In dit kader als je je diensten decentraliseert maar de beveiliging niet in de keten goed geregeld hebt dan heb je het probleem niet opgelost.
3- Je voorstel omtrent verschuiven van taken van de servers naar clients heeft geen waarde (zoals Henri zei) We hebben vandaag de dag een grote variatie van client OS en configuratie. De kosten van implementatie, realisatie en beheer van een oplossing waarmee je de taken van centrale plek naar decntrale plek en op verschillende client hardware/os brengt wegen niet op tegen de voordelen (ik zie eigenlijk geen voordelen!)
Waarom vind ik voorzichtig dit artikel maar een onzin? Omdat ik me niet kan voorstellen dat iemand op WO niveau en werkzaam bij Cap zo iets vreemds zomaar publiceert!
Ik ga ervanuit dat hij zijn artikel ergens op baseert. Pas na zijn reactie kan ik of mijn woorden terugtrekken of sterker bevestigen.
Up to you Arie!
Ik moet ook zeggen dat ik met verbazing dit artikel heb gelezen. ALs je puur kijkt vanuit het uitwisselen van bestanden (Documenten, Powerpoints etc) dan is P2P Networking best interessant. Maar daarvoor is ook het Client-Server Model nooit uitgevonden. Daarvoor had (en heb) je File Servers. Deze zijn niet CLient-Server, omdat je het WOrd-documentje op de File Server nog steeds met de Word-applicatie op je PC bewerkt. Client-Server is uitgevonden om er voor te zorgen dat veel gebruikers (CLients) van dezelfde gegevens in een applicatie gebruik kunnen maken. Dat aspect kan je nooit met P2P bewerkstelligen, omdat je dan alle P2P informative realtime met alle CLients moet synchroniseren. Voor het leeuwendeel van internet-services, Cloud-Services en SAAS oplossingen is P2P gewoon geen alternatief. ALs mijn tabletje uit een Eigen, locale P2P Database bij 15 webwinkels de voorraad en prijs van de laatste Harry Potter moet checken, dan heft ‘ ie daar toch wel moeite mee. En evenzo wordt ik er niet blij van als mijn Tablet accu wordt leeggetrokken of mijn bandbreedte wordt opgegeten door een P2P Database die komt kijken of ik stukjes data heb.
Ik denk dat Arie eerst maar eens moet onderzoeken wat het CLient-Server model nou eigenlijk betekend, en hoe data in CLient-Server omgevingen zich manifesteerd, en hoe het gemanipuleerd wordt. En dan daarmee zijn artikel maar eens moet herzien. Eerlijk gezegd is het een beetje Klok en Klepel verhaal
Hmm, dat doet wat stof opwaaien.
Het probleem dat we zien is dat onze data en gegevens nog vaak gestolen worden. Grootschalige gegevensdiefstal is mogelijk door centrale opslag en doorvoer van informatie.
Om dit op te lossen zou decentralisatie een goede oplossing kunnen zijn. Peer-to-peer biedt decentralisatie. Door p2p is er geen single-point of failure met betrekking tot dataopslag en vertrouwelijkheid. Dit klinkt voor mij op het eerste gezicht redelijk. Natuurlijk zijn er vraagtekens te zetten.
Peer-to-peer traag? Er bestaan slimme routing algoritmes om snel de juiste informatie terug te vinden. Geen business-rules mogelijk met p2p? Misschien zou een soort super-peer een policy kunnen afdwingen. Veel synchronisaties nodig? Als elke peer slim metadata publiceert kan synchronisatie selectief plaatsvinden. Is niet iedereen in het P2P-netwerk te vertrouwen? P2P biedt vergelijkbare manieren om access control in te regelen als het client-servermodel.
Interessant is WebRTC. Een technologie in ontwikkeling die browsers peer-to-peer functionaliteit geeft. Dit zou de ontwikkeling van p2p-applicaties een boost kunnen geven.
Overigens is p2p een oplossing op de netwerklaag. Qua user-interface hoeft er niets te wijzigen. Nog steeds kan gewoon een www-adres gebruikt worden. De verandering zit enkel op het gebied van datadoorvoer en dataopslag.
Natuurlijk vraagt dit wat van lokale devices. O.a. een permantente internetverbinding, snelle hardware, voldoende opslagcapaciteit en een goede accu. Elementen die allemaal sterk zijn verbeterd te afgelopen jaren.
De voorgestelde oplossing is radicaal. Werken met tussenvormen is op korte termijn een beter haalbaar alternatief.
@Felix
Cloud is een SPoF alleen zorgt fail-in-place ervoor dat je dat niet merkt, precies zoals je zo mooi beschrijft met RAID.
Henri heeft dus wel gelijk maar hij geeft het probleem ook al aan met (data)integriteit waar je dus algoritmen voor nodig hebt om te voorkomen dat hetzelfde object op het hetzelfde moment door verschillende gebruikers gewijzigd wordt. En Henri weet nu ook dat tijd daarin dus een SPoF kan zijn;-)
@Arie
Cryptographic bit splitting is een interessante techniek maar kent wel wat nadelen zoals een toenemende overhead als het aantal ‘scherven’ toeneemt. Tussen functionaliteit en efficiëntie kan een gapend gat ontstaan en je reactie voegt naar mijn opinie dan ook weinig toe als je met wat vage antwoorden komt. Werken met tussenvormen is bij beveiliging een doodzonde, net als blind vertrouwen op techniek trouwens.
Dappere poging Arie, waarmee je wel weer Reza’s vragen beantwoordt.
Niet het Internet maar jij moet je kinderschoenen toch eens uittrekken.
Alle technische onderbouwingen komen uit de reacties. Niet best als je Information Security Consultant bent met een technische WO opleiding.
Bewaar voortaan die malle verhalen voortaan maar voor tijdens de vrijdagborrel 😉
De verandering zit enkel op het gebied van datadoorvoer en dataopslag..
Toch benieuwd naar je Masterscriptie.
Arie,
Het spijt me maar met dit artikel en deze reactie betwijfel ik je kundigheid, je kennis/ervaring en ook je nuchterheid.
Het kan ook aan mij liggen dat ik je boodschap niet doorkrijg maar met wat ik hierboven in je artikel en je reactie lees keur ik je stelling en je oplossing van alle kanten af.
De vraag die je moet stellen is: Welk probleem los je op?
Daarnaast: beschrijf nu eens een scenario waarin decentraal werken beter is dan decentraal (er zijn genoeg scenario’s te bedenken), en onder welke condities dit wel of niet goed is.
In je reactie lees ik vooral dat je het over bestanden hebt en niet verwerking.
Even een aardig doordenkertje: Stel je werkt decentraal met bestanden en verdomd er is een storing en veel van de gebruikers heeft geen toegang tot het internet, maar wijzigt/maakt/verwijderd bestanden. Nu krijgen deze gebruikers weer verbinding met elkaar. Hoe los je de merge conflicten op? Welke volgorde houdt je aan? Succes!