Proof of concept

In 2002 was ik betrokken bij een project om een Business Intelligence systeem voor een Short Message Service (SMS) centrale te ontwikkelen.

De oplossing 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?).

Het project was al een paar maanden bezig en BI-specialisten werkten aan gegevens modellen, rapportages, user interfaces en dergelijke toen ik werd gevraagd te kijken naar de infrastructurele aspecten. Eén van de eerste vragen die ik stelde was hoeveel logrecords van de SMS centrale in de Oracle database moeten worden ingeladen en verwerkt. Het antwoord was schokkend:

10.000 records per seconde.

Het systeem moest 10.000 records per seconde invoegen in een Oracle-database, iedere seconde weer en dat 24 uur per dag. Natuurlijk was mijn volgende vraag hoe ze zouden gaan doen. Het antwoord was ook prachtig:

Door de logrecords gewoon te inserten in Oracletabellen.

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.

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.

Het resultaat: 500 records per seconde.

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 een acceptabele 5000 inserts per seconde (ik denk een wereldrecord in die tijd).

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.

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 proof of concept kan worden gebruikt om de meest uitdagende onderdelen van uw oplossing te testen, al aan de begin van het project.

Dit is wat onnatuurlijk om te doen. De meeste mensen beginnen liever 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.

Een proof of concept toont technische onmogelijkheden aan op een moment dat nog niet al te veel geld is besteed en toont het projectteam en de klant dat het hoogste techniche projectrisico is gemanaged.


This entry was posted on Zondag 14 Maart 2010

Earlier articles

Quantum computing

My Book

Security bij cloudproviders wordt niet beter door overheidsregulering

Passend Europees cloudinitiatief nog ver weg

Data Nederlandse studenten in cloud niet grootschalig toegankelijk voor bedrijven VS

VS kan nog steeds Europese data Microsoft opeisen ondanks nieuwe regels

The cloud is as insecure as its configuration

Infrastructure as code

DevOps for infrastructure

Infrastructure as a Service (IaaS)

(Hyper) Converged Infrastructure

Object storage

Software Defined Networking (SDN) and Network Function Virtualization (NFV)

Software Defined Storage (SDS)

What's the point of using Docker containers?

Identity and Access Management

Using user profiles to determine infrastructure load

Public wireless networks

Supercomputer architecture

Desktop virtualization

Stakeholder management

x86 platform architecture

Midrange systems architecture

Mainframe Architecture

Software Defined Data Center - SDDC

The Virtualization Model

What are concurrent users?

Performance and availability monitoring in levels

UX/UI has no business rules

Technical debt: a time related issue

Solution shaping workshops

Architecture life cycle

Project managers and architects

Using ArchiMate for describing infrastructures

Kruchten’s 4+1 views for solution architecture

The SEI stack of solution architecture frameworks

TOGAF and infrastructure architecture

The Zachman framework

An introduction to architecture frameworks

How to handle a Distributed Denial of Service (DDoS) attack

Architecture Principles

Views and viewpoints explained

Stakeholders and their concerns

Skills of a solution architect architect

Solution architects versus enterprise architects

Definition of IT Architecture

What is Big Data?

How to make your IT "Greener"

What is Cloud computing and IaaS?

Purchasing of IT infrastructure technologies and services

IDS/IPS systems

IP Protocol (IPv4) classes and subnets

Introduction to Bring Your Own Device (BYOD)

IT Infrastructure Architecture model

Fire prevention in the datacenter

Where to build your datacenter

Availability - Fall-back, hot site, warm site

Reliabilty of infrastructure components

Human factors in availability of systems

Business Continuity Management (BCM) and Disaster Recovery Plan (DRP)

Performance - Design for use

Performance concepts - Load balancing

Performance concepts - Scaling

Performance concept - Caching

Perceived performance

Ethical hacking

Computer crime

Introduction to Cryptography

Introduction to Risk management

The history of UNIX and Linux

The history of Microsoft Windows

Engelse woorden in het Nederlands

Infosecurity beurs 2010

The history of Storage

The history of Networking

The first computers

Cloud: waar staat mijn data?

Tips voor het behalen van uw ITAC / Open CA certificaat

Ervaringen met het bestuderen van TOGAF

De beveiliging van uw data in de cloud

Proof of concept

Een consistente back-up? Nergens voor nodig.

Measuring Enterprise Architecture Maturity

The Long Tail

Open group ITAC /Open CA Certification

Human factors in security

Google outage

SAS 70

De Mythe van de Man-Maand

TOGAF 9 - wat is veranderd?

Landelijk Architectuur Congres LAC 2008

InfoSecurity beurs 2008

Spam is big business

De zeven eigenschappen van effectief leiderschap

Een ontmoeting met John Zachman

Persoonlijk Informatie Eigendom

Archivering data - more than backup

Sjaak Laan


Recommended links

Genootschap voor Informatie Architecten
Ruth Malan
Gaudi site
XR Magazine
Esther Barthel's site on virtualization
Eltjo Poort's site on architecture


Feeds

 
XML: RSS Feed 
XML: Atom Feed 


Disclaimer

The postings on this site are my opinions and do not necessarily represent CGI’s strategies, views or opinions.

 

Copyright Sjaak Laan