Architectuurredeneermodel Afgewogen keuzes maken
Robert Deckers
SASG okt 2012 v3
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 – model driven - … 3
Een voorbeeld: migratie naar de cloud TCO omlaag en geen verlies in functionaliteit
Klantbehoefte 2 maanden piek
Toepassing Applicatie migreren T naar Azure
Extra servers 2 maanden nodig, 12 maanden betalen
Organisatie wil ervaring opdoen met Azure
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
Functie
3. Het plan van aanpak bevat taken voor de specificatie en bouw van klassen en interfaces
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
Wie zegt iets over waar in het model? Eindgebruiker IT manager Business manager
QA manager
Klantbehoefte
Applicatiebeheerder
Toepassing
Klant van de klant
Functie
T
Personeelsmanager
Business architect
Projectlid
Concurrenten
Project manager
ICT / infra architect SW engineer 13
Een voorbeeld: migratie naar de cloud 1. 2 maanden piek TCO omlaag en geen verlies in functionaliteit
Klantbehoefte 6. In stand houden van functionaliteit en functionele kwaliteit
8. Storage: vast bedrag per Gb 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.
14
Architectuurkeuzes? Klantbehoefte Toepassing
Systeem T
Beredeneer het antwoord en leg het uit 15
Vragen?
• Praktische handvatten • Situatiespecifiek maken • Startpunt andere aanpakken
Voor architecten
Meer info:
[email protected] [email protected] 16
staat voor resultaat
17
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?
18
DYA® 2010, NL
- Architectuurproces
- Just enough, just in time architecture - Marktleider in Nederland op enterprisearchitectuur
2008, NL 2007, NL
2007, NL 2006, Eng
2005, Eng 2004, NL 2001, NL
19
Wat doet softwarearchitectuur? Hoofdontwerp : functioneel, technisch, aanpak Architectuurprincipes Bieden van
oplossingsrichting Business doelen - Uniek - Juiste kwaliteit
voor
belangrijkste eigenschappen Niet standaard , Wat ging er vorige keer fout? Meerdere afdelingendie – disciplines - systemen het
moeilijkste te realiseren zijn 20