<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	
	<channel>
		<title>SjaakLaan.com</title>
		<link>http://www.sjaaklaan.com/index.php</link>
		<description>Vision on IT infrastructure, architecture and security</description>
		<language>en</language>
		<managingEditor>sjaak.laan@gmail.com</managingEditor>
                <copyright>Copyright 2010</copyright>
		<generator>Pivot Pivot - 1.40.1: 'Dreadwind'</generator>
		<pubDate>Sun, 07 Mar 2010 19:37:12 +0100</pubDate>
		<ttl>60</ttl>
		
		
		
		
		<item>
			<title>Proof of concept</title>
			<link>http://www.sjaaklaan.com/pivot/entry.php?id=78</link>
			<comments>http://www.sjaaklaan.com/pivot/entry.php?id=78#comm</comments>
                        <description><![CDATA[ <p>
<em><img src="http://www.sjaaklaan.com/images/proof_of_concept.jpg" style="float:right;margin-left:10px;margin-bottom:5px;border:0px solid" title="" alt="" class="pivot-image" />Several years ago (I think it was 2002) I was involved in a project to create a Business Intelligence solution for a Short Message Service (SMS) system. </em>
</p>
<p>
The solution inserted a copy of the log records from the SMS system to an Oracle database and used the data to create reports for the marketing department of the telecom provider (for instance to find patterns in demographics - when is the time most teenagers use SMS to text to their friends). The system would also be used by the helpdesk of the provider to answer questions of end users (for instance when a text message was sent but not delivered, why was it not delivered?). 
</p>
<p>
The project was already running for a few months and BI specialists were working on data models, reporting, user interfaces and the like. I was asked to look at the infrastructural aspects. One of the first questions I asked was how many log records the system was supposed to insert in the Oracle database and process. The answer was stunning. 
</p>
<p>
10,000 records per second. 
</p>
<p>
The system was supposed to insert 10,000 records in an Oracle database each and every second 24/7. Of course the next question was how they were going to do this. The answer was also stunning. 
</p>
<p>
By inserting them. 
</p>
<p>
The project never had a clue this was quite a challenge. When looking for information on the maximum speed records could be inserted in an Oracle database I found that the maximum speed reported at that time was around 1,000 inserts per second; 10 times too slow for us. I suggested to perform a proof of concept to find out how fast we could insert records in our database setup. The outcome: 500. A bit disappointing and a clear threat to the project. 
</p>
<p>
We solved the problem partly by doing some fancy Oracle tricks and in the end using the same proof of concept setup we reached an acceptable 5,000 inserts per second (I think maybe a world record at the time). 
</p>
<p>
The point I want to make is that apparently&nbsp;the project needed&nbsp;an architect to show them the pitfall of the solution and that a proof of concept was needed to find out how the solution would behave. Such a&nbsp;proof of concept should have been as one of the first things in the project. 
</p>
<p>
I have very good experience with using proof of concepts in&nbsp;projects.&nbsp;A proof of concept should be used to test the most challenging parts of your solution early in the project. This is not a natural thing to do. Most people start with the part of the project they feel most familiar with. The more challenging part usually is addressed at a later stage. But these challenging parts need to be addressed anyway and could lead to a delay in the project or even a halt. A proof of concept shows this at a time not too much money is spent yet and shows the project team and the customer that the project&#39;s highest risk is been taken care of.</p> ]]></description>
			<guid isPermaLink="false">78@www.sjaaklaan.com</guid>
			<category>default</category>
			<pubDate>Sun, 07 Mar 2010 19:18:00 +0100</pubDate>
		</item>
		
		
		
		<item>
			<title>Who needs a consistent backup?</title>
			<link>http://www.sjaaklaan.com/pivot/entry.php?id=71</link>
			<comments>http://www.sjaaklaan.com/pivot/entry.php?id=71#comm</comments>
                        <description><![CDATA[ <p>
<em><img src="http://www.sjaaklaan.com/images/backup-tape.jpg" style="float:right;margin-left:10px;margin-bottom:5px;border:0px solid" title="" alt="" class="pivot-image" /> In general much attention is paid to the creation of consistent backups. Specific backup tools and backup agents are configured to ensure databases are flushed to disk to provide a consistent backup.</em> 
</p>
<p>
Of course this is very important. Inconsistent databases can lead to incorrect startup of a database after a restore. An example is the index of the database that is out of sync with the underlying tables. 
</p>
<p>
Database transactions must be handled correctly as well before making a backup to prevent a failing application after a restore. An example is a purchase order that states a product can in, where a change in the financial administration is missing. 
</p>
<p>
The question is weather is it useful to force consistencies in backups on a higher level. I think this is a very expensive exercise (if possible at all) with little benefit. Nowadays systems hardly ever work in isolation. Usually they are part of a chain of internal and external systems. Purchase orders come in via order intake in a SAP system, but can also come in through resellers&rsquo; web services or via an Internet site. These systems are connected and it seems to make&nbsp;sense to backup them in an integral way. 
</p>
<p>
However, this is hardly possible. To create an integral backup all systems must be in a consistent state. Not only internally, but also between each system. This is only possible when all connected systems are stopped. Not only is this most of the time not feasible (an Internet page cannot be taken offline to create a backup) , it is also very time consuming. If one of the systems in the chain cannot be stopped due to a long running transaction all other systems have to wait for it in order to get back-upped. 
</p>
<p>
I am not even mentioning chains running over several companies. When transactions run between companies all companies must stop working to create chain-consistent backup. 
</p>
<p>
Let&rsquo;s first find out why a backup is made at all in large systems (I am not talking about restoring a lost user file). A backup can be used to restore systems that cannot be repaired any other way. This means that the choice to perform a restore has great business impact. A restore must therefore be handled with great care. 
</p>
<p>
It is important to have backups that are consistent within one application to prevent the problems stated above. Usually backups are one or more days old. When after a restore the system would be started without measures, some unwanted side effects could occur. For instance: when just before making the backup a message from a business partner was received and the acknowledgement was not sent yet, the acknowledgement would be sent again to the business partner after the restore of the system a day later. You can probably come up with more examples. 
</p>
<p>
These examples show that restoring a system from backup is always a delicate process that must be taken care of with great caution, especially in a chain of multiple applications or even companies. Therefore it is of no use to have a consistent backup over a set of applications: problems will arise anyway when a restore is performed without additional measures. 
</p>
<p>
A consistent database backup and consistence within applications is therefore enough.</p> ]]></description>
			<guid isPermaLink="false">71@www.sjaaklaan.com</guid>
			<category>default</category>
			<pubDate>Sun, 21 Feb 2010 14:18:00 +0100</pubDate>
		</item>
		
		
		
		<item>
			<title>TED talks</title>
			<link>http://www.sjaaklaan.com/pivot/entry.php?id=77</link>
			<comments>http://www.sjaaklaan.com/pivot/entry.php?id=77#comm</comments>
                        <description><![CDATA[ <p>
<em><img src="http://www.sjaaklaan.com/images/ted.jpg" style="float:right;margin-left:10px;margin-bottom:5px;border:0px solid" title="" alt="" class="pivot-image" />Something a bit off-topic this time. Do you know TED talks? TED stands for Technology, Entertainment, Design. It is a small non-profit organisation that started in 1984 organising yearly conferences around the globe.</em> 
</p>
<p>
On their website <a href="http://www.ted.com/talks"  target='_blank'>TED.com</a>, they publish videos of&nbsp;the best talks and performances from TED and partners&nbsp;for free. More than 450 TEDTalks are now available, with more added each week. The videos can be viewed on the website, but also downloaded as podcast. 
</p>
<p>
Since more than a year I download the videos on my iPod and view them when I have some time to spare. Most talks are about 15 minutes in length. The talks are always inspiring, brought by inspiring people, mostly unknown, but occasionally well known people like Bill Gates, Al Gore and Bill Clinton perform as well. 
</p>
<p>
Highly recommended, not only for your own education and awareness, but also to learn how to give a good talk to an audience! Some of the most inspiring videos are <a href="http://www.ted.com/talks/hans_rosling_reveals_new_insights_on_poverty.html"  target='_blank'>this</a> and definately <a href="http://www.ted.com/talks/jill_bolte_taylor_s_powerful_stroke_of_insight.html"  target='_blank'>this</a>. Just to get you started...</p> ]]></description>
			<guid isPermaLink="false">77@www.sjaaklaan.com</guid>
			<category>default</category>
			<pubDate>Sun, 07 Feb 2010 20:02:00 +0100</pubDate>
		</item>
		
		
		
		<item>
			<title>Measuring Enterprise Architecture Maturity</title>
			<link>http://www.sjaaklaan.com/pivot/entry.php?id=76</link>
			<comments>http://www.sjaaklaan.com/pivot/entry.php?id=76#comm</comments>
                        <description><![CDATA[ <p>
<em><img src="http://www.sjaaklaan.com/images/e2amm.jpg" style="float:right;margin-left:10px;margin-bottom:5px;border:0px solid" title="" alt="" class="pivot-image" />Capability Maturity Models (CMMs) are used to measure the maturity of organisations in various ways.</em> 
</p>
<p>
There are CMMs for software engineering, system engineering, project management, software maintenance, risk management, system acquisition, information technology (IT), services, business processes generally, and human capital management. Because several CMMs are used in an organisation a more overall CMM was created, called Capability Maturity Model Integration (CMMI), providing a general maturity level to an organisation. The terms CMM and CMMI&nbsp;are developed by the Carnegie Mellon University. CMMs usually have 5 levels: 
</p>
<ol>
	<li>Initial </li>
	<li>Repeatable </li>
	<li>Defined </li>
	<li>Managed </li>
	<li>Optimized </li>
</ol>
<p>
When looking for a maturity model for enterprise architecture, I found several architectural CMMs:&nbsp;&nbsp; 
</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>
All of these provide a matrix that describes levels of maturity and the topics to measure the maturity. I found the E2AMM matrix the most useful. Using the matrix provided architects can value their maturity and find what measures must be taken to improve the maturity of their enterprise architecture organisation. 
</p>
<p>
It is not uncommon to have various levels of maturity on the&nbsp;topics when the matrix is filled in. A consistent maturity level over all topics in the future is not needed as well. Enterprises can decide to value some topics as more important than others. They can for example decide to have a generic maturity level of 3 for all topics, but maturity level 4 for some that are found most important.&nbsp;&nbsp; 
</p>
<p>
It would be an interesting exersise to fill-in the&nbsp;E2AMM maturity matrix (or one of the other ones if&nbsp;you like) for your own organisation, just to see where you are and what could be enhanced.</p> ]]></description>
			<guid isPermaLink="false">76@www.sjaaklaan.com</guid>
			<category>default</category>
			<pubDate>Sun, 24 Jan 2010 15:29:00 +0100</pubDate>
		</item>
		
		
		
		<item>
			<title>Master Certified IT Architect</title>
			<link>http://www.sjaaklaan.com/pivot/entry.php?id=75</link>
			<comments>http://www.sjaaklaan.com/pivot/entry.php?id=75#comm</comments>
                        <description><![CDATA[ <p>
<img src="http://www.sjaaklaan.com/images/ITAC-small.jpg" style="float:right;margin-left:10px;margin-bottom:5px;border:0px solid" title="" alt="" class="pivot-image" />I made it! My ITAC certification <a href="http://www.sjaaklaan.com/pivot/entry.php?id=74"  target='_blank'>I wrote about earlier</a>
was succesful. The Open Group certification board granted me the title
&quot;Master Certified IT Architect&quot;. The certification is valid for 3
years, after which I have to re-certify.</p> ]]></description>
			<guid isPermaLink="false">75@www.sjaaklaan.com</guid>
			<category>default</category>
			<pubDate>Wed, 30 Dec 2009 20:39:00 +0100</pubDate>
		</item>
		
		
		
	</channel>
</rss>
