Vroeger was alles beter, zo laat mijn goede vader mij nog dikwijls weten. In de tijd dat cpu-cycles nog netjes aangevraagd dienden te worden en bugs nog echte insecten waren was alles nog goed te overzien. Het mainframe was een entiteit waar rekenkracht – op aanvraag – kon worden ingezet om bepaalde (bedrijfs)processen op uit te voeren.
Na een korte tijd met servers en desktops een meer individuele aanpak te hebben gehanteerd lijken we deels weer terug te vallen op de oude denkwijze waarbij het internet steeds meer de services en cpu-rol op zich gaat nemen.
Google, Microsoft, Yahoo en vele anderen richten zich op deze verandering voornamelijk onder de term ‘cloud computing'. Naast het voorzien in de meer primaire automatiseringsbehoeften (bijvoorbeeld Office, crm, e-mail, etc.) wordt niet alleen een applicatie beschikbaar gemaakt, maar ook de interface om deze applicatie, of delen ervan, als dienst in te zetten en te koppelen aan eigen of externe processen.
En dat is waar het echt interessant wordt. Kosten gaan drastisch omlaag (je hoeft niet langer zelf een compleet systeem te ontwikkelen en door te delen deel je ook in de kosten), voorzieningen ten behoeve van de beschikbaarheid van de omgeving zijn doorgaans beter (geen eigen infrastructuur te onderhouden en redundant te maken) en door meer kennis en ervaring zijn ook zaken als veiligheid beter geregeld.
Natuurlijk zullen veel juristen zenuwachtig worden bij het idee dat functionaliteit vanuit een zeer breed scala van aan elkaar gekoppelde diensten tot stand komt. Zeker als ze horen dat die diensten niet door ‘in house' computersystemen geleverd worden. Waar ligt de grens van verantwoordelijkheid en dus aansprakelijkheid?
Het kan nóg een stapje verder. Amazon biedt tegenwoordig met S3 ‘storage-as-a-service' en met EC2 ‘server-as-a-service'. Google doet mee en biedt (voorlopig nog) Google App Engine wat neerkomt op een ‘applicatie platform op basis van Python-as-a-service'. Hierdoor kan men op termijn op een veel abstracter niveau te werk gaan. Het ontwikkelen van functionaliteit (oftewel een applicatie) zal – op een paar kleine onderdelen na – worden gedaan door personen die door middel van diverse generieke services functies aan elkaar koppelen. Wanneer voor de specifieke onderdelen van de applicatie gebruik wordt gemaakt van een EC2- of GAE-platform kunnen diezelfde diensten eenvoudig weer aangeboden worden als services voor andere bedrijven. Een gigantische ict-kostenbesparing ligt op de loer.
Er zijn natuurlijk ook risico's. Wolken hebben de neiging samen te smelten; kleinere aanbieders van cloud computing-diensten zullen opgaan in een kleine groep grote bedrijven die een breed scala aan functionaliteiten gaat aanbieden. Hierdoor ontstaat een machtspositie. Maar goed, dergelijke afhankelijkheden bestaan al veel langer; elk bedrijf heeft immers ook elektriciteit nodig om haar diensten te leveren. Daarnaast zorgt het principe van de zwakste schakel ervoor dat alle diensten die afhankelijk van elkaar zijn op hetzelfde service- en response niveau moeten worden ingericht. De kwaliteit van de uiteindelijke applicatie, die vrijwel volledig bestaat uit aan elkaar geschakelde services, verschuift van het ontwerpen, programmeren en onderhouden van software bijna volledig naar het opstellen en bewaken van service level agreements. Vroeger was alles beter, maar vroeger is niet voor niets het gisteren van vandaag.
Eelco van Beek
Managing Director
IC&S Group B.V.
Nou nou, zo relax is een SOA nou ook weer niet.