<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	
	<channel>
		<title>SjaakLaan.nl</title>
		<link>http://www.sjaaklaan.nl/index.php</link>
		<description>Visie op IT infrastructuur, architectuur en security</description>
		<language>en</language>
		<managingEditor>sjaak.laan@gmail.com</managingEditor>
                <copyright>Copyright 2010</copyright>
		<generator>Pivot Pivot - 1.40.1: 'Dreadwind'</generator>
		<pubDate>Mon, 15 Mar 2010 13:21:49 +0100</pubDate>
		<ttl>60</ttl>
		
		
		
		
		<item>
			<title>Proof of concept</title>
			<link>http://www.sjaaklaan.nl/pivot/entry.php?id=126</link>
			<comments>http://www.sjaaklaan.nl/pivot/entry.php?id=126#comm</comments>
                        <description><![CDATA[ <p>
<em><img src="http://www.sjaaklaan.nl/images/proof_of_concept.jpg" style="float:right;margin-left:10px;margin-bottom:5px;border:0px solid" title="" alt="" class="pivot-image" />Enkele jaren geleden (ik denk dat het 2002 was) was ik betrokken bij een project om een Business Intelligence systeem voor een Short Message Service (SMS)&nbsp;centrale te ontwikkelen. </em>
</p>
<p>
De oplossing&nbsp;laadde een kopie van de logboek records van de SMS centrale in een Oracle database en gebruikte die gegevens om rapportages voor de marketing afdeling van de telecom provider te maken (bijvoorbeeld om patronen te vinden in de demografie - op welke tijd van de dag sturen de meeste tieners SMS'jes naar hun vrienden). Het systeem kon ook gebruikt worden door de helpdesk van de provider om vragen te beantwoorden van eindgebruikers (bijvoorbeeld wanneer een SMS-bericht is verzonden, maar niet geleverd, waarom is het niet geleverd en waar is het bericht nu?). 
</p>
<p>
Het project was al een paar maanden bezig en BI-specialisten werkten aan gegevens modellen, rapportages, user interfaces en dergelijke toen ik&nbsp;werd gevraagd te kijken naar de infrastructurele aspecten. E&eacute;n van de eerste vragen die ik stelde was hoeveel logrecords van de SMS centrale in de&nbsp;Oracle database moeten worden ingeladen en verwerkt. Het antwoord was schokkend: 
</p>
<p>
10.000 records per seconde. 
</p>
<p>
Het systeem moest 10.000 records per seconde invoegen in een Oracle-database, iedere seconde weer&nbsp;en dat 24 uur per dag. Natuurlijk was mijn volgende vraag hoe ze zouden gaan doen. Het antwoord was ook prachtig: 
</p>
<p>
Door de logrecords gewoon&nbsp;te inserten in Oracletabellen. 
</p>
<p>
Het project had zich nooit gerealiseerd dat dit een hele uitdaging was. Bij het zoeken naar informatie over de maximum snelheid waarmee records konden worden inserted in een Oracle-database vond ik dat een maximale snelheid die op dat moment gemeld was ongeveer 1000 inserts per seconde was, ofwel 10 keer te langzaam voor ons. 
</p>
<p>
Ik stelde voor om een proof of concept uit te voeren om erachter te komen hoe snel we records konden invoegen in onze database setup. 
</p>
<p>
Het resultaat: 500 records per seconde.
</p>
<p>
Een beetje teleurstellend en een duidelijke bedreiging voor de voortgang van het project. We konden het probleem deels oplossen door het toepassen van een aantal mooie trucs op de Oracle database en uiteindelijk bereikten we met dezelfde proof of concept setup&nbsp;een acceptabele 5000 inserts per seconde (ik denk een wereldrecord in die tijd). 
</p>
<p>
Het punt is dat het project blijkbaar een architect nodig had om ze te wijzen op de valkuil in de technische oplossing en dat een proof of concept nodig was om uit te vinden hoe de oplossing zich zou gedragen. 
</p>
<p>
Zo'n proof of concept had natuurlijk moeten worden gedaan aan het begin van het project. Ik heb goede ervaringen met het gebruik van een proof of concept in projecten. Een&nbsp;proof of&nbsp;concept kan worden gebruikt om de meest uitdagende onderdelen van uw oplossing te testen, al aan&nbsp;de begin van het project. 
</p>
<p>
Dit is wat onnatuurlijk om te doen. De meeste mensen beginnen liever&nbsp;met het deel van het project waarmee zij zich het meest vertrouwd voelen. Het meer uitdagende deel komt vaak pas in een later stadium. Maar deze uitdagende onderdelen moeten toch worden aangepakt en een tegenvaller kan leiden tot een vertraging in het project of zelfs het einde van het project. 
</p>
<p>
Een proof of concept toont technische onmogelijkheden aan op een moment dat nog niet al te veel geld is&nbsp;besteed en toont het projectteam en de klant dat het&nbsp;hoogste&nbsp;techniche projectrisico is gemanaged.</p> ]]></description>
			<guid isPermaLink="false">126@www.sjaaklaan.nl</guid>
			<category>default</category>
			<pubDate>Sun, 07 Mar 2010 20:49:00 +0100</pubDate>
		</item>
		
		
		
		<item>
			<title>Een consistente back-up? Nergens voor nodig.</title>
			<link>http://www.sjaaklaan.nl/pivot/entry.php?id=117</link>
			<comments>http://www.sjaaklaan.nl/pivot/entry.php?id=117#comm</comments>
                        <description><![CDATA[ <p>
<img src="http://www.sjaaklaan.nl/images/backup-tape.jpg" style="float:right;margin-left:10px;margin-bottom:5px;border:0px solid" title="" alt="" class="pivot-image" /><em>Over het algemeen wordt veel aandacht besteed aan het maken van een consistente back-up. Specifieke back-up tools en -agents worden geconfigureerd die ervoor zorgen dat databases naar disk worden geflushed zodat ze consistent worden geback-upt. </em>
</p>
<p>
Uiteraard is dit heel belangrijk. Inconsistente databases kunnen leiden tot het niet goed opstarten van de database na een restore. Een voorbeeld hiervan is een indexbestand dat niet overeenkomt met de onderliggende tabellen. Ook moeten database transacties correct worden afgehandeld voordat een back-up wordt gemaakt om te voorkomen dat de database wel goed start na een restore, maar dat de applicatie die de database gebruikt niet meer consistent werkt. Een voorbeeld is een inkooporder die vermeldt dat een product is binnengekomen, maar waarvan een tegenboeking in de administratie ontbreekt. 
</p>
<p>
De vraag is of het nuttig is om op een hoger niveau consistentie in back-ups af te dwingen. Ik denk dat dit veel moeite kost (als het &uuml;berhaupt al mogelijk is), maar dat het weinig oplevert. 
</p>
<p>
Systemen staan tegenwoordig zelden alleen. Ze maken meestal deel uit van een keten van interne en externe systemen. Inkooporders komen binnen door orderinvoer in een SAP systeem, maar kunnen ook binnenkomen via resellers via webservices of via een verkoop site via Internet. 
</p>
<p>
Deze systemen zijn gekoppeld en het ligt voor de hand om ze integraal te back-uppen. In de praktijk is dit bijna onmogelijk. Om een integrale back-up mogelijk te maken moeten alle systemen in een consistente staat worden gebracht. Niet alleen intern, maar ook onderling. Dit kan eigenlijk alleen als alle gekoppelde systemen worden gestopt. Niet alleen is dit meestal niet haalbaar (een internet pagina kan niet worden afgesloten voor een back-up actie), het is bovendien tijdrovend. Als &eacute;&eacute;n van de systemen in de keten niet kan worden gestopt omdat een langlopende transactie bezig is, moeten alle andere systemen hierop wachten voordat een back-up kan worden gemaakt. En dan heb ik het nog niet over ketens die over meerdere partijen lopen. Als er transacties tussen verschillende bedrijven of instellingen lopen, kunnen die bedrijven en instellingen moeilijk allemaal worden stilgelegd als over de hele keten een consistente back-up moet worden gemaakt. 
</p>
<p>
Misschien is het belangrijk eerst vast te stellen waarvoor een back-up eigenlijk wordt gebruikt bij grote systemen (ik heb het nu niet over het restoren van een verloren file op een user directory). Een back-up wordt gebruikt om systemen te restoren die op geen andere manier te repareren zijn. Dat betekent dat een keuze om een restore uit te voeren een grote business impact heeft. Een restore moet dan ook met grote zorg worden uitgevoerd. Van belang hierbij is het om een back-up te hebben die consistent is binnen &eacute;&eacute;n systeem, zodat bovengenoemde problemen van transacties en technische database integriteit niet optreden. 
</p>
<p>
Meestal zijn back-ups &eacute;&eacute;n of meerdere dagen oud. Als na een restore van een back-up het systeem klakkeloos zou worden opgestart dan treden er verschijnselen op die grote gevolgen kunnen hebben. Bijvoorbeeld: Als op het moment van back-up een bericht van een business partners binnen kwam, maar de bevestiging nog in de queue stond, dan zal na een restore de besvestiging van dit oude bericht nogmaals naar de business partner worden verstuurd. Stel dat een betalingsachterstand van een klant is betaald, maar dat op de back-up de situatie staat dat hij nog niet heeft betaald. Als het system wordt restored, dan zal ineens een aanmaning worden geprint. 
</p>
<p>
Dit soort voorbeelden geeft aan dat een restore altijd een delicaat proces is dat met grote zorg moet worden uitgevoerd, vooral waar het een keten betreft. Het is daarom niet nodig om een consistente back-up over een hele set applicaties te hebben: bij een restore gaat het toch wel fout. 
</p>
<p>
Een consistente database en consistentie binnen de applicatie zelf is daarom genoeg.</p> ]]></description>
			<guid isPermaLink="false">117@www.sjaaklaan.nl</guid>
			<category>default</category>
			<pubDate>Sun, 21 Feb 2010 11:21:00 +0100</pubDate>
		</item>
		
		
		
		<item>
			<title>TED talks</title>
			<link>http://www.sjaaklaan.nl/pivot/entry.php?id=125</link>
			<comments>http://www.sjaaklaan.nl/pivot/entry.php?id=125#comm</comments>
                        <description><![CDATA[ <em><img src="http://www.sjaaklaan.nl/images/ted.jpg" style="float:right;margin-left:10px;margin-bottom:5px;border:0px solid" title="" alt="" class="pivot-image" /> Een off-topic onderwerp deze keer. Kent u TED Talks? TED staat voor Technology, Entertainment, Design. Het is een kleine non-profit organisatie die begon in 1984 met het organiseren van jaarlijkse conferenties over de hele wereld.</em> 
<p>
Op hun website <a href="http://www.ted.com/talks"  target='_blank'>TED.com</a> publiceren ze gratis video's van de beste presentaties en optredens van TED. Meer dan 450 TEDTalks zijn nu beschikbaar en elke week mkomen er meer bij. De video's kunnen worden bekeken op de website, maar zijn ook te downloaden als podcast. Sinds meer dan een jaar download ik de video's op mijn iPod om ze te bekijken wanneer ik wat tijd over heb. 
</p>
<p>
De meeste presentaties duren ongeveer 15 minuten. De&nbsp;presentaties zijn altijd inspirerend, gebracht door inspirerende mensen, meestal onbekend, maar af en toe zijn er ook presentaties van bekende mensen als Bill Gates, Al Gore en Bill Clinton.
</p>
<p>
Sterk aanbevolen, niet alleen voor het opdoenb van kennis&nbsp;en voor bewustwording, maar zeker ook om te leren hoe u een goede presentatie&nbsp;kunt geven aan een publiek! 
</p>
<p>
Enkele van de meest inspirerende video's zijn <a href="http://www.ted.com/talks/hans_rosling_reveals_new_insights_on_poverty.html"  target='_blank'>deze</a> en zeker ook <a href="http://www.ted.com/talks/jill_bolte_taylor_s_powerful_stroke_of_insight.html"  target='_blank'>deze</a>. Sterk aanbevolen!</p> ]]></description>
			<guid isPermaLink="false">125@www.sjaaklaan.nl</guid>
			<category>default</category>
			<pubDate>Sun, 07 Feb 2010 20:37:00 +0100</pubDate>
		</item>
		
		
		
		<item>
			<title>Measuring Enterprise Architecture Maturity</title>
			<link>http://www.sjaaklaan.nl/pivot/entry.php?id=124</link>
			<comments>http://www.sjaaklaan.nl/pivot/entry.php?id=124#comm</comments>
                        <description><![CDATA[ <p>
<em><img src="http://www.sjaaklaan.nl/images/e2amm.jpg" style="float:right;margin-left:10px;margin-bottom:5px;border:0px solid" title="" alt="" class="pivot-image" /> Capability Maturity Model (CMM's) worden gebruikt om de volwassenheid van organisaties op verschillende manieren te meten. Er zijn CMM's beschikbaar voor onder andere software/engineering, systeem/engineering, projectmanagement, software-onderhoud, risicobeheer,&nbsp;informatietechnologie (IT), diensten, bedrijfsprocessen in het algemeen en human capital management. </em>
</p>
<p>
Omdat al die verschillende CMM's kunnen worden gebruikt in een organisatie is een meer algemene CMM&nbsp;gemaakt, genaamd Capability Maturity Model Integration (CMMI), die een algemeen volwassenheidsviveau aangeeft&nbsp;van een organisatie. 
</p>
<p>
De termen CMM en CMMI zijn ontwikkeld door de Carnegie Mellon University. 
</p>
<p>
CMM's hebben meestal 5 niveaus: 
</p>
<ol>
	<li>Initial </li>
	<li>Repeatable </li>
	<li>Defined </li>
	<li>Managed </li>
	<li>Optimized </li>
</ol>
<p>
Bij het zoeken naar een kwaliteitsmodel voor enterprise architectuur, vond ik een aantal architectonische CMM's: 
</p>
<ul>
	<li>US DoC ACMM </li>
	<li><a href="http://www.gao.gov/new.items/d03584g.pdf"  target='_blank'>US GAO EAMMF</a></li>
	<li><a href="http://www.enterprise-architecture.info/Images/E2AF/E2AMMv2.PDF"  target='_blank'>E2AMM</a></li>
</ul>
<p>
Al deze modellen bevatten&nbsp;een matrix die het niveau van volwassenheid aangeeft en die onderwerpen beschrijven om de volwassenheid te meten. 
</p>
<p>
Ik vond de E2AMM matrix het meest bruikbaar. Met behulp van de matrix kunnen architecten&nbsp;de volwassenheid van hun architectuur meten en ontdekken welke maatregelen moeten worden genomen om de kwaliteit van hun enterprise architectuur organisatie te verbeteren. 
</p>
<p>
Als de matrix&nbsp;wordt ingevuld is het niet ongewoon om verschillende niveaus van volwassenheid hebben op de in de matrix genoemde thema's. Een consistent volwassenheidsniveau over alle thema's heen&nbsp;is niet noodzakelijk;&nbsp;ondernemingen kunnen beslissen om de waarde van sommige thema's belangrijker in te schatten dan de waarde van andere thema's. Ze kunnen bijvoorbeeld besluiten om een generiek volwassenheidsniveau van 3 na te streven, maar een volwassenheidsniveau van 4 voor die onderwerpen die de onderneming belangrijk vindt. 
</p>
<p>
Het zou een interessante exersise kunnen zijn om de E2AMM volwassenheidsmatrix (of een andere matrix als u dat liever heeft) voor uw eigen organisatie eens in te vullen, gewoon om te zien waar&nbsp;u&nbsp;staat en wat er zou kunnen worden verbeterd.</p> ]]></description>
			<guid isPermaLink="false">124@www.sjaaklaan.nl</guid>
			<category>default</category>
			<pubDate>Sun, 24 Jan 2010 16:12:00 +0100</pubDate>
		</item>
		
		
		
	</channel>
</rss>
