Met de komst van cloud staan steeds meer organisaties voor de keuze applicaties naar de cloud te verplaatsen. Maar cloud betekent niet dat alles dan direct maar in de cloud gezet zal worden. Er is immers veel geïnvesteerd in bestaande IT-systemen en die worden niet zomaar aan de kant gezet. Toch is het wel interessant om te kijken welke bestaande applicaties in aanmerking komen om naar de cloud te migreren zodat deze efficiënter gebruikt kunnen worden en er bespaard kan worden op de IT-kosten. Besparingen die weer gebruikt kunnen worden voor nieuwe IT-ontwikkelingen in de organisaties. Maar hoe bepaal je als organisatie of IT-afdeling welke applicaties geschikt zijn voor de cloud?
Er zijn standaarden om kwaliteit van software te meten, waarvan ISO 25010 de bekendste is (tot 2011 bekend als ISO 9126). Zo’n model kan helpen bepalen welke applicaties geschikt zijn voor de cloud. Met dit model kan een applicatielandschap tegen het licht gehouden worden en kunnen applicaties beoordeeld worden op hun geschiktheid voor migratie naar een cloud-omgeving. Het referentiekader dat wij hierbij gebruiken is het Windows Azure cloud-platform voor maatwerksoftware dat Microsoft biedt, maar de aanpak kan natuurlijk voor elke cloud-omgeving toegepast worden.
In de traditionele IT-wereld zijn de eisen die aan een applicatie worden gesteld bepalend voor de architectuur die gekozen wordt en de hardware die daarvoor aangeschaft moet worden. De keuze voor de hardware is weer afhankelijk van het aantal gebruikers, het gewicht van de applicatie en of er bepaalde piekmomenten zijn. Daarnaast zullen er geregeld backups uitgevoerd moeten worden en zijn er nieuwe updates of securitypatches die geïnstalleerd moeten worden. Zomaar een paar zaken die bepalend zijn voor de beschikbaarheid van de applicatie zodat gebruikers er productief en efficiënt mee kunnen werken.
Uit diverse onderzoeken blijkt dat slechts 20% van de IT-systemen daadwerkelijk gebruikt wordt en de overige 80% niet of nauwelijks benut wordt, terwijl hier wel veel in geïnvesteerd is. Bijvoorbeeld de applicatie die verzekeringsmaatschappijen gebruiken wanneer verzekeringen geprolongeerd moeten worden, wordt niet het hele jaar gebruikt terwijl hier wel voor betaald wordt. Dit soort applicaties lenen zich uitstekend om naar de cloud te migreren.
Het grote voordeel van de cloud is ‘pay-per-use’. Dat betekent dat organisaties alleen betalen voor wat ze daadwerkelijk gebruiken. Windows Azure is het besturingssysteem voor de cloud, ook wel Platform-as-a-Service (PaaS). Organisaties kunnen nieuwe applicaties op dit platform bouwen en/of bestaande applicaties ernaartoe verplaatsen. Windows Azure biedt geautomatiseerd servicebeheer en wereldwijde beschikbaarheid van datacenters, zodat organisaties sneller kunnen reageren op de behoeften van klanten, hun concurrentievoorsprong kunnen vergroten en nieuwe markten kunnen aanboren.
Kwaliteitsattributen in software architectuur
In software-architectuur zijn kwaliteitsattributen, ook wel niet-functionele requirements (NFR) genoemd, nodig om de geschiktheid van een architectuur te bepalen. ISO 25010 bevat een indeling van kwaliteitseigenschappen voor het meten of opstellen van niet-functionele requirements. ISO 25010 maakt onderscheid tussen productkwaliteit en gebruikskwaliteit. We richten ons hier op productkwaliteit. Dit deel van ISO 25010 kent acht hoofdcategorieën met elk een aantal kenmerkende eigenschappen. Door deze lijst als checklist tegen de bestaande on-premises applicaties aan te houden, kan beoordeeld worden of de applicatie geschikt is voor de cloud.
De hoofdcategorieën van ISO 25010 zijn:
functionele geschiktheid: de geschiktheid van de applicatie om de gewenste functionaliteit te bieden
prestatie-efficiëntie: de snelheid en het resourcegebruik van de applicatie onder gedefinieerde condities
uitwisselbaarheid: de mate waarin gegevens met andere systemen uitgewisseld kunnen worden
bruikbaarheid: hoe eenvoudig moet de applicatie te gebruiken zijn
betrouwbaarheid: in welke mate moet de applicatie zonder verstoringen functioneren
beveiligbaarheid: de mate van informatiebescherming van een applicatie
onderhoudbaarheid: hoe eenvoudig moet het zijn om het systeem aan te passen
overdraagbaarheid: in welke mate moet de applicatie naar een andere omgeving overgezet kunnen worden.
Per hoofdcategorie lichten we toe waarop gelet kan worden als beoordeeld wordt of een applicatie wel of niet naar het Windows Azure-platform gemigreerd kan worden.
Functionele geschiktheid
Het kwaliteitsattribuut ‘functionele geschiktheid’ omvat zaken als compleetheid, correctheid en toepasbaarheid. Aspecten waarop een cloud-omgeving weinig zal toevoegen/veranderen, het is in deze categorie vooral zaak te bepalen of er negatieve impact wordt verwacht.
Prestatie-efficiëntie
Het kwaliteitsattribuut ‘prestatie-efficiëntie’ gaat over het efficiënt omgaan met systeemresources. Efficiënt gebruik van hardware is één van de kernkarakteristieken van een cloud-omgeving. Een applicatie die één keer per maand een zeer complexe berekening doet, is een goed en bekend voorbeeld van een applicatie die in de cloud heel efficiënt met resources om kan gaan. Naast CPU-gebruik moet daarbij ook naar het gebruik van opslag, netwerk en geheugen gekeken worden. Een applicatie die tijdelijk grote hoeveelheden opslag nodig heeft om tussenresultaten op te slaan, kan ook een kandidaat voor cloud-migratie zijn en zal dus hoog scoren op dit onderdeel. Cloud verandert echter niets, als een applicatie nog steeds inefficiënt met toegewezen resources omgaat. Maar een cloud-omgeving zal dit wel extra inzichtelijk maken doordat dit leidt tot hogere maandelijkse kosten. In Windows Azure wordt dit gedetailleerd op behoorlijk niveau gemeten en kan er dus proactief gestuurd worden op efficiënt resourcegebruik.
Uitwisselbaarheid
Hieronder vallen beïnvloedbaarheid en koppelbaarheid. Koppelbaarheid van applicaties die integreren met applicaties van klanten, leveranciers en partners zijn hier zeker relevant. Voor applicaties waarbij het aansluiten van nieuwe partijen een infrastructurele uitdaging is, biedt de cloud een mogelijke oplossing en zo kunnen deze applicaties hoog scoren op geschiktheid voor een cloud-migratie. Applicaties die slecht resources delen kunnen ook profiteren van een cloud-omgeving door de inherente verregaande scheiding van resourcegebruik.
Bruikbaarheid
Het kwaliteitsattribuut ‘bruikbaarheid’ valt uiteen in een aantal aspecten, zoals aantrekkelijkheid, begrijpelijkheid, bestuurbaarheid en leerbaarheid. Voor eindgebruikers zullen deze aspecten bepaald worden door de applicatie zelf en zal cloud hierin geen verandering brengen. Voor beheerders daarentegen kan de cloud het verschil maken. Applicaties die kandidaat zijn voor migratie, zijn vooral applicaties waarvan het technisch beheer complex is. Een Windows Azure-applicatie wordt namelijk ingepakt met de noodzakelijke settings voor installatie. Installatie en configuratie gebeurt daarna geautomatiseerd. In de traditionele IT-wereld moet een beheerder bij het toevoegen van een extra server de juiste software selecteren, een operating system (OS), systeem software en software installeren, firewalls moeten geconfigureerd worden naast loadbalancers en nog een aantal zaken. In de cloud is dit bijna letterlijk een druk op de knop, er hoeft maar één setting aangepast te worden. Windows Azure biedt daarmee een hoge gebruiksvriendelijkheid voor beheerders.
Betrouwbaarheid
Bij het kwaliteitsattribuut ‘betrouwbaarheid’ is het belangrijk dat een applicatie blijft functioneren zonder technische storingen. Hier spelen zaken als bedrijfszekerheid, foutbestendigheid en de herstelbaarheid een grote rol. Applicaties die onder de maat presteren op dit onderdeel zijn bij uitstek kandidaat voor migratie, zeker als de oorzaken hiervan infrastructureel van aard zijn. In een cloud-omgeving is de infrastructuur verregaand gestandaardiseerd en gestabiliseerd en worden hardware-falen en systeemcrashes automatisch opgelost. Dit levert grote infrastructurele betrouwbaarheid. Indien de lage betrouwbaarheid zijn oorsprong heeft in de applicatiesoftware of het applicatiegebruik, zal cloud hier geen verandering in brengen en zal een applicatie neutraal scoren.
Beveiligbaarheid
Hieronder vallen zaken als vertrouwelijkheid, integriteit en verantwoording. Applicaties die een hoge mate van vertrouwelijkheid vereisen, zijn bijvoorbeeld van nature minder geschikt om a gemigreerd te worden. In deze categorie kunnen ook juridische aspecten meegenomen worden, zoals de geografische binding van data aan een land of werelddeel.
Onderhoudbaarheid
‘Onderhoudbaarheid’ gaat over de inspanning die nodig is om een applicatie aan te passen. Hierbij spelen analyseerbaarheid, testbaarheid en wijzigbaarheid een grote rol. Applicaties die in aanmerking komen voor migratie, zijn applicaties die voortdurend releasecycli kennen, waarbij het releaseproces complex en foutgevoelig is.
In Windows Azure is veel gestandaardiseerd. Indien de acceptatie-omgeving en de productie-omgeving in Windows Azure draaien zal een applicatie die getest wordt in een acceptatie omgeving, vrijwel zeker draaien in productie. De variatie is dermate klein geworden dat een upgrade van acceptatie naar productie zelden problemen geeft. Ook is er standaard infrastructuur voor diagnostics, die helpt om problemen met applicaties te onderzoeken.
Overdraagbaarheid
Het kwaliteitsattribuut ‘overdraagbaarheid’ gaat over het overzetten naar een andere hardware/software-omgeving en omvat aspecten als installeerbaarheid, aanpasbaarheid en vervangbaarheid. Applicaties die hoog scoren op deze onderdelen, zijn van nature geschikt voor cloud-migratie omdat zo’n migratie voorspelbaar zal zijn. Applicaties die laag scoren op dit onderdeel zullen leiden tot complexe en risicovolle migratietrajecten en de cloud moet dus grote voordelen hebben om zo’n migratie te kunnen verantwoorden. Een goed middel om applicaties op deze onderdelen te beoordelen, is het bekijken van een installatiehandleiding. Een dikke installatiehandleiding met veel handmatige stappen is een belangrijk signaal dat een applicatie laag scoort.
Cloud-geschiktheid van applicaties bepalen
Met de kwaliteitsattributen in de hand kunnen alle bestaande applicaties op acht categorieën beoordeeld worden om hun cloudgeschiktheid te bepalen. Deze aanpak zorgt ervoor dat alle aspecten meegewogen en inzichtelijk gemaakt worden, waardoor er minder verrassingen zullen zijn. Op basis van de scores van applicaties kan een roadmap gemaakt worden waarin begonnen wordt met de applicaties die het meest baat hebben bij een cloud-migratie. Dit zorgt voor een succesvolle introductie van cloud-technologie en de beste return on investment.
Die ‘meetinstrumenten’ zullen gemiddeld wel bruikbaar zijn, maar ik zie dat ICT-pakketten die toch wel problemen geven, plots in die ‘cloud’ de oplossingen geven waar iedereen op wacht: geen problemen meer?