Als groot fan van cloud computing loop ik nogal tegen wat weerstand aan. It'ers die zich bedreigd voelen of bang zijn voor uitbesteding, of vinden dat cloud computing niet veilig is en leidt tot een onbeheersbare wildgroei. En natuurlijk de groep die zich afzet tegen technologie en overheersing uit de Verenigde Staten. Daar bovenop is er ook nog kritiek op de technologie zelf die te kort zou schieten. Tijd om dit in perspectief te plaatsen.
Wat is de gedachte achter cloud computing eigenlijk? In de basis eenvoud, flexibiliteit en snel leverbaar zonder investering vooraf. Merk op dat ik niet kostenbesparing noem, daar om ik later op terug.
Zelfbediening
Voor een klant van mij heb ik jaren geleden maatwerk software geschreven voor het administratief verwerken van bedrijfstrainingen. Door een sterke focus op digitaal en pro-actief heeft deze klant een sterk onderscheidend vermogen opgebouwd ten opzichte van concurrenten. De werkelijke vooruitgang vondt pas plaats toen we zelfbediening realiseerden. Waarom zou je een klant niet steeds meer zelf in staat stellen om zaken te regelen? Daar zit een enorme hefboom in. Als je dit goed doet maakt het namelijk niet erg uit of je honderd of duizend of zelfs tienduizend klanten hebt, zeker als een groot deel van de keten digitaal is. Door een application programming interface (api) te maken op basis van een webservice was een digitaal portaal snel geregeld. Overigens zonder vendor lock-in, de logica zat namelijk in de webservice en zorgde voor real-time communicatie. Zo’n webservice maakt het ook gemakkelijk om dingen uit te besteden.
Deze gedachten en werkwijzen zijn niet anders dan hoe cloud computing providers werken. Zonder menselijke tussenkomst en handmatige handelingen klanten in staat stellen dingen te doen. Waarbij je alleen betaald voor wat je gebruikt zonder lange termijn verplichtingen. Hoe kun je hier nu tegen zijn?
Privacy?
Dus een overheid kan bij je data? So what? Banken kunnen ook bij je data, net als de belastingdienst, dus waar ben je precies bang voor? Hackers en heel misschien de mogelijkheid dat belangrijke kennis doorgespeeld wordt. Maar een gebrek van privacy? Maak dat nu eens concreet.
Nu hackers steeds sterker worden en je ertegen verdedigen steeds moeilijker zie ik als een sterk argument om je it-infrastructuur in ieder geval zo min mogelijk zelf te doen, tenzij het je specialiteit is.
Eenvoud en snel zijn winnaars. Wie dit niet aan kan bieden verliest. Het is dus echt heel belangrijk om een strategie te hebben die dit adresseert. Vooral dit is de reden waarom cloud computing zo snel terrein wint. Wat zijn de grootste beperkingen om cloud computing te omarmen?
It-afdeling als beperking
De grootste in mijn ogen is legacy, ofwel de huidige spullenboel die in de basis goed functioneert, maar verouderd is, zeker ten opzichte van de snelle ontwikkelingen van cloud computing. Maar legacy is niet de grootste uitdaging, bij lange na niet. De grootste uitdaging zit namelijk in de it’ers. De mensen die je zo hard nodig hebt om de huidige legacy in stand te houden. Aan de ene kant is er een technische schuld in het verleden opgebouwd in de it. Door budget, organisatorische onkunde, complexiteit zijn er beslissingen gemaakt die het ontvlechten en vervangen van de bestaande it zeer kostbaar maken. Die schuld moet een keer worden afgelost. It’ers hebben het al moeilijk zat om zichzelf te handhaven, maar ook geloven ze er vaak niet in dat het fundamenteel wijzigen van opvattingen mogelijk is. De huidige ellende die ze vaak ervaren is ook ontstaan door krappe budgetten, strakke deadlines en verkeerde beloften door ‘de business’ aan klanten. Zij geloven er niet in dat cloud computing nu de oplossing gaat bieden, cloud computing is in hun ogen vaak een extra middel om er een zooitje van te maken en dat is zeker niet onterecht om dat te denken.
Toch staat het los van de gedachte. Eenvoud, snel en zelfbediening. In tegenstelling waar dat voor staat is dit helemaal niet gemakkelijk te realiseren. Zoals alles in it, ergens wordt moet de complexiteit uitgevoerd worden. De kunst is alleen dat het voor de afnemer eenvoudig, snel en op basis van zelfbediening kan. Dat er een wereld voor verzet moet worden om dit te realiseren wordt vaak niet gezien.
Scrum als agile implementatie
Neem nu Agile en Scrum. Dit is een de facto standaard van tegenwoordig om systemen te realiseren. Dit zijn namelijk typisch zaken die ‘easy to learn, hard to master’. Scrum board ophangen, dagelijks aan iedereen vragen; ‘wat heb je gister gedaan? wat ga je vandaag doen? waar loop je tegenaan?’ en de user stories iteratief verplaatsen om een sprint af te ronden. Hoe moeilijk kan dat zijn? Heel moeilijk. De methode moet namelijk slank blijven en de methode vergt regelmaat en discipline, maar ook inhoudelijk vergt het nog steeds diepere inzichten en een goed team.
Cloud computing als Lean-implementatie
Het implementeren van de cloud computing gedachte zorgt ook voor schaalbaarheid. Wat in het klein werkt, werkt ook nog in het groot. Zelfbediening goed ingezet is een element wat nauwelijks overschat kan worden. En daarmee kom ik terug op het kosten aspect. Het adopteren van cloud computing door de dingen zoals je ze altijd deed in een cloud te doen zal geen besparing opleveren, hooguit wat gemak in de marge, maar daar komt bij gebrek aan regie een oerwoud voor terug én een stukje complexiteit omdat er ineens hybride gewerkt wordt. Zelfbediening is ook iets wat mogelijk is binnen de interne organisatie. Door criteria en procedures op te stellen wordt het mogelijk om de organisatie ‘leverage’ te geven, en binnen kaders de basis van it zelf te realiseren. Extreem doorgetrokken een app-store. Een goed toehoorder zegt dan ‘Maar dit kun je ook zonder cloud computing!’. Dat klopt en daarmee maak ik mijn conclusie af. Het gaat niet zozeer om de techniek van cloud computing maar de gedachte erachter door complexiteit te doorgronden en it in kleine stappen simpel en snel te maken vanuit het perspectief van de afnemer. En dat lijkt wel heel erg op Lean.
Henri,
Wordt het niet eens tijd om onderscheid te maken tussen maatwerk door ICT (3GL,4GL) versus maatwerk door de business (5GL)?
Je stelling “Cloud computing is Lean” maakt het mijns inziens onmogelijk om dit onderscheid te kunnen maken.
Want zoals blijkt uit je alinea onder het kopje “IT-afdeling als beperking”:
IT-ers heb je nodig om de legacy in stand te houden, en
IT-ers heb je nodig om de legacy te ontvlechten en te verclouden; blijkbaar door met 3GL/4GL-talen en een agile/scrum-aanpak zoveel mogelijk legacy-maatwerk te vervangen door dertien in een dozijn commodities uit de cloud.
Daarmee krijg ik alsnog jouw antwoord op een stelling die ik eerder formuleerde:
Ontvlechten (of ontkoppelen) van data, functionaliteit en flow uit de legacy doe je met SOA en niet met cloud computing.
Nu bedoel ik met SOA uitdrukkelijk Service Oriented Architecture, dus niet Process Oriented Architecture (POA, lees BPM), of Rules Oriented Architecture (ROA, lees BRM).
En deze *ware* SOA, gecombineerd met beslissingstabellen (en dus beslist niet met BPM-flowcharts), levert precies de zo gewenste 5GL!
Het tegenovergestelde van legacy is dus 5GL, namelijk alles wat:
1. onder architectuur gebouwd, ofwel SOA, is en
2. qua realtime-“verwerking” niet procesmatig (oa. BPM) en niet regelgebaseerd (BRM) is, en
3. waarbij functionaliteit in de vorm van selfservice aan zowel de interne- als externe klant wordt ontsloten.
Bovendien is
4. de functionaliteit ook nog zelfbeschrijvend, om tegemoet te komen aan punt 2 van Louis.
Hoe 5GL *niet* moet, kun je nog eens nalezen in het artikel “5GL springlevend” in 2 delen uit 2007.
Legacy moderniseer je mijns inziens niet met IT-ers + 3GL/4GL-talen + scrum/agile-aanpak + cloud(-computing), maar met bedrijfsmedewerkers en 5GL/SOA.
Wat betreft de overbrugging van de kloof tussen ICT en de business is 5GL/SOA in mijn optiek het fundamentele en primaire principe en cloud computing “slechts” secundair. SOA maakt een ontkoppeling van bedrijfsdata, bedrijfsfunctionaliteit, bedrijfsflow en presentatie/GUI mogelijk, en binnen iedere architectuurlaag is cloud computing en/of het afnemen van functionaliteit uit de cloud vervolgens toepasbaar.
Het is dus goed mogelijk om de bedrijfsdata in het eigen rekencentrum te houden; de bedrijfsfunctionaliteit deels uit de cloud te betrekken, en de middleware- en frontend-lagen zelfs volledig op basis van cloud computing te realiseren.
Hoeveel architectuur zit er nu helemaal in jouw visie als je stelt: “de logica zat namelijk in de webservice en zorgde voor real-time communicatie”. Je hebt het overduidelijk niet over een selfservice-portaal van waaruit het hele onderliggende functionaliteitenlandschap (of applicatielandschap) kan worden ontsloten via flow services, composite services en basic services.
Tip: spreek anno 2014 niet meer van logica maar van functionaliteit 🙂
@Jack,
Mooie theorie hoor. De boel abstraheren tot functionaliteit (want logica is niet innovatief, dus legacy ofzo ?) en das dan overal implementeerbaar, nietwaar? Om goed aan wendbare businesseisen te kunnen voldoen krijgen we een soort functionaliteitenscrum? Of is scrum eigenlijk ook al legacy geworden?
Zoveel mensen zoveel meningen. Bij voetbal geloven sommigen in een sterk middenveld waarbij verdediging en aanval vanzelf tot stand komt. Anderen zoals de bondscoach sturen aan op een compacte verdediging die de aanvallers direct bedient zonder de overhead van middenveld. De lange bal als korte lijn zeg maar. Lekker lean ook. Korste weg naar de goal.
Felix, man, ik kijk uit naar een artikel van je in plaats van een serie erg knappe reacties. Knap hoor wat je schrijft en hoe je het schrijft.
Jack,
Er zit teveel in je reactie om inhoudelijk te reageren op dit moment, maar hier is wat ik denk:
Met SOA kun je prima legacy maken. Legacy is in de regel geen 1 stuks software, maar een systeem. Juist verwevenheid leidt tot legacy.
Lean is een methodiek waarin medewerkers kleine verbeteringen aandragen die verspilling tegengaan en de focus hebben op dingen van waarde voor de klant. Dit is volledig los van specifieke techniek.
Functionaliteit en logica zijn in mijn optiek twee heel verschillende dingen, ik vind het dan moeilijk om alleen over functionaliteit te spreken terwijl ik logica bedoel, maar goed, ik zal eraan denken.
5GL, APaas, ofwel zonder code applicaties bouwen is leuk, maar ik twijfel nog aan de volledigheid. Daarnaast is 5GL maar een deel van de code die nodig is om een eindgebruiker functionaliteit te bieden. Veel van de 5GL implementaties hebben vaak een Spartaanse interface en doen maar een stukje van het geheel. Daarnaast heb je vroeg of laat ook domweg code nodig, dat kan bijna niet anders, ook moet ergens iemand iets programmeren, ook voor 5GL.
SOA is prachtig, ik doe bijna niet anders, maar met SOA kun je nog steeds troep bouwen, sterker nog, als je niet goed onder architectuur bouwt (ook NA de initiële oplevering) en de business betrekt dan wordt het troep.
Er zit een hefboom in generiek (denk aan beslissingstabellen), maar dit heeft ook een keerzijde. Je organisatie moet erop zijn ingesteld. Denk bijv. aan Sharepoint; een zwitsers zakmes wat heel vaak op tegenvallende resultaten leidt. Het kan alles, maar als je daar geen goede regie op voert wordt het een onbruikbaar gedrocht.
En nogmaals legacy staat los van technologie alleen. Als je te complexe beslissingstabellen met onderliggende afhankelijkheden opbouwt en later blijkt daar te weinig flexibiliteit in de inrichting te zitten, dan kun je niet zomaar even sleutelen en klaar, als je bij X iets veranderd kan dat gevolgen hebben voor Z, wat kan leiden tot een verouderd systeem wat niet meer voldoet, hence: legacy.
SOA hoeft zeker niet op basis van cloud computing te zijn en ook niet extern belegd te worden. Maar de gedachte achter cloud computing, daarin zit de bruikbaarheid.
Niettemin dank voor je inzichten en toevoeging.
Welk 5GL pakket heeft jouw voorkeur?
Wanneer je ergens fan van bent moet je gaan uitkijken dat je wel realistisch blijft. Wie kent het niet, hysterisch gillende meisjes, in de rij liggen voor een nieuwe iPad…..
Cloud is ook zo’n hype woord, het is helemaal niet nieuw want het bestond al in iets anderen varianten misschien maar het komt allemaal op hetzelfde neer.
Het probleem met ‘cloud’ is niet zozeer de hackers, overheid of anders maar het feit dat je bedrijfsdata (en eventueel applicaties) overlevert aan de kwaliteit van derden. Dus wanneer je provider het laat afweten dan ben je totaal onthand. Je kunt er niets aan doen. Het is een extra bedrijfsrisico. Wat gebeurt er als je even de rekening niet kunt betalen, verzin maar wat. Je maakt je extra afhankelijk.
Laatst een keer met Google, heel het Google lag plat, een uur lang. Je kunt nergens meer bij en het enige wat je kunt doen is wachten. Dan zie je meteen de ‘power’ van afhankelijkheid.
Bij het centraliseren op grote schaal van data en applicaties schuilt een groot gevaar en dat is afhankelijkheid. Voor een backup is het misschien wel handig maar ook dat zou ik anders doen omdat bij een calamiteit de oplossing voor handen moet hebben en niet afhankelijk moet zijn van een derde partij.
Ik zou dus nooit mijn bedrijf laten leunen op dit soort zaken, hoe gemakkelijk of goedkoop ook.