To cloud or not to cloud
Afgewogen keuzes maken met DYA|Software
Robert Deckers
Engineering World 2011 v1
Architectuur: technologie in perspectief Klantbehoefte
Toepassing
Systeem T
2
Vele wegen die naar … ergens leiden
Bewuste afgewogen keuzes • Architectuur realiseerbaar • Dient (business) doel • Later traceerbaar
buy – make – outsource – cloud - open source agile – waterfall - … 3
Een voorbeeld Architectuur Redeneermodel 2 maanden pieken
Klantbehoefte
Toepassing Applicatie migreren T naar cloud
Cloud ervaring opdoen
4
Goede architectuur is…. Correct : het past in de omgeving
ROI
Art. 4.11
Eindgebruiker
Business manager
Overheid
t
Consistent : het zit Project goed in elkaar
functionaliteit
Functioneel beheer
Systeem Architectuur
HRM
Software engineer Tester
Ontwikkelaar
Programma manager
Netwerkbeheer
geCommuniceerd : iedereen weet wat hij moet weten 5
ARM Opbouw (1): systeem en omgeving Indirecte omgeving Directe omgeving Relatie tussen systeem en omgeving De wereld Systeem
6
ARM Opbouw (2): meerdere dimensies Het probleem Waar dient het voor?
Systeem De wereld
De oplossing Hoe ziet het in elkaar? Gebruik van middelen
De verandering Hoe wordt/blijft het werkelijkheid? 7
Toepassing Klantbehoefte Toepassing Functie
T
Welke klantbehoefte? Business doelen Ondersteunde processen Hoe wordt het systeem gebruikt? Gebruiksomstandigheden Use cases
Wat doet het systeem? Systeemfuncties Functionele kwaliteit
8
Constructie
Welke onderdelen en ontwerpaspecten? logische componenten, interfaces, ontwerpprincipes
T
Waarmee is dat opgebouwd? software componenten, toegepaste ontwerppatronen, koppelingen, te bouwen software Waar moet het systeem op passen? te gebruiken technologieën, te koppelen systemen infrastructuur, platform 9
Realisatie
Door welke activiteiten/gedrag? hoofdtaken, fases, mijlpalen
Wie doet wat wanneer? Planning, roadmap verantwoordelijkheden, werkpakketten
T
Welke organisatie/mensen? teamsamenstelling, kennis/vaardigheden opleidingen 10
Een (simpel) voorbeeld Klantbehoefte
Toepassing 2. In het technisch ontwerp worden interfaces en klassen apart gemodelleerd
1. Het systeem is in C# geprogrammeerd
Het systeem moet draaien op het .Net platform
3. Het plan van aanpak bevat taken voor de specificatie en bouw van klassen en interfaces
Systeem T 4. De programmeurs met C#kennis worden toegewezen aan de bouwtaken van klassen en interfaces Onze organisatie beschikt over programmeurs met C#-kennis en -tools 11
Waar hoort het te staan? Klantbehoefte Toepassing Functie
T
Markttrends, Componentenbibliotheek, Technisch ontwerp, Arbeidsmarkt Projectplan, Systeemkwaliteiten, Business eisen, Use cases, Ontwerpaspecten, Locatie personeel, Ontwikkeltaken Gebruikte Change requests, concurrerende referentie architecturen, ontwerppatronen, Technologietrends en cultuur van projectbezetting functioneel ontwerp procesmodellen service models interfaces opleidingen werkpakketten softwarecomponenten Problem reports diensten Infrastructuur systeemdecompositie ontwikkelaars
12
Een voorbeeld: migratie naar de cloud 1. TCO omlaag en geen verlies in functionaliteit
Klantbehoefte 6. In stand houden van functionaliteit en functionele kwaliteit
8. Storage: vast bedrag per maand
Toepassing 5. Ontwerp aanpassen?
9. Nu database, maar disk?
7. database: betalen per Gb en per transactie
2. Extra servers: 2 maanden nodig, 12 maanden betalen
4. Migreren?
Applicatie migreren T 11. Gegevens verplaatsen van naar Azure
3. Organisatie wil ervaring opdoen met Azure
database naar disk
10. Aanpassen kost 1 manweek. Geen deadline gevaar.
13
Meer afwegingen rond Cloud… • Hoe ga ik zorgen dat mijn gegevensopslag voldoet aan de privacy wetgeving? • Hoe garandeer ik de eisen aan een keten van cloud- en niet-cloudapplicaties? • Hoe garandeer ik de beloofde kostenbesparingen? • Kan de internetverbinding van mijn bedrijf de verschuiving naar buiten aan? • Hoe gaat mijn Single-Sign-On mee de cloud in?
14
Klantbehoefte Toepassing
Systeem T
To cloud or not to cloud?
Beredeneer het antwoord
staat voor resultaat
16