Startpagina
Artikelen
Missie
Contact
Bedrijven
Internationaal


Dit artikel van de hand van Henk Klöpping is oorspronkelijk verschenen in de NLUUG nieuwsbrief, jaargang 6, nummer 2, juni 1998.

Het gebruik van Open Source software in de praktijk

Uw baas heeft uw hulp nodig!

Onze mail-gateway moest recentelijk worden verplaatst, dus moest-ie heel even down. Met een uptime van 240 dagen had hij geen minuut storing gehad succesvol dagelijks honderden megabytes aan post gerouteerd tussen het Internet en twee proprietary mail-systemen. Niet slecht, voor een gratis stukkie software... Geen wonder: onze mail-gateway is gebaseerd op Linux en andere Open Source software.

Acceptatie van Open Source Software

Veel bedrijven hebben het nog altijd moeilijk met Open Source software. Met name het (middle-)management heeft problemen met de acceptatie ervan en blokkeert vaak, met de beste bedoelingen, de formele acceptatie van bijvoorbeeld het Linux operating system of andere Open Source software binnen een bedrijf. Let wel: de formele acceptatie. Dat Linux uitbundig bij vrijwel alle professionele (automatiserings-)organisaties in gebruik is, is voor u als NLUUG lid niets nieuws.

De manager heeft het er maar moeilijk mee. Het kan immers niet waar zijn: het kost niets en het is beter dan de commerciële produkten die momenteel op de markt te krijgen zijn. Dan slaat de argwaan al spoedig toe: wie betaalt de ontwikkeling van al dat moois? Kan ik hier wel iets mee verdienen? En wat nu als het spul onverhoopt niet werkt, wie kan ik dan bellen?

Het helpt dan hem uit te leggen dat er al heel veel bedrijven zijn die Open Source software stevig hebben omarmd en daar openlijk, en zelfs met trots, voor uit willen komen. Uw baas wil vast graag horen hoe het een ander bedrijf is vergaan dat nu al Open Source software in gebruik heeft.

Zo'n bedrijf is bijvoorbeeld Vertis, het bedrijf waar ik werk. Wie weet helpt het, als u uw baas vertelt over de dingen die Vertis, en duizenden andere bedrijven, doen met Open Source software.

Wat doet Vertis met Open Source software?

Vertis b.v. heeft kantoren in Veendam, Groningen, Wageningen en Utrecht. Vertis bestaat sinds 1990 en groeit snel: toen ik er ongeveer anderhalf jaar geleden kwam werken hadden we nog ongeveer 100 (vaste en losse) medewerkers. Inmiddels zijn het er 250. Vertis werkt voornamelijk voor de proces-industrie.

Het Vertis motto luidt: 'Vertis verbetert bedrijfsprocessen'. Wij doen dat, steunend op de voor ons van oudsher bekende pilaren Oracle, Windows NT, VMS en Unix. Maar meer en meer zetten we ook Open Source software in.

Vertis gebruikt de Open Source software puur in het belang van onze klanten en uiteindelijk is dat weer puur eigenbelang. Wij verdienen er immers mede ons geld mee, bouwen er kennis mee op en hebben er nog een hoop plezier in ook. Open Source software blijkt in de praktijk uitermate stabiel, goedkoop en flexibel.

Onze mail-gateway is al genoemd. Maar ook onze firewalls baseren grotendeels op Linux. Vertis heeft verder een stevige band met Netscape, wij zijn 'affiliate plus'-partner, en Netscape heeft de Open Source beweging enthousiast omarmd, eens te meer reden voor Vertis om dit partnership verder te verdiepen. Wij leveren schaalbare oplossingen voor Internet-connectivity aan grote en kleine klanten, grotendeels baserend op Linux. Wij bewaken systemen en netwerken middels Linux. En we hebben een groeiende groep enthousiaste en vaardige mensen die ook op de (tele-)werkplek Linux gebruikt, niet alleen meer voor beheertaken, maar voorzichtig aan ook om te experimenteren met de inmiddels beschikbare, goed werkende en zeer voordelige kantoorsoftware. We gebruiken Linux verder nog als ontwikkelplatform voor platformoverstijgend systeembeheer, als basis voor intra- en Internet servers, als faxserver, en om transparant en veilig verbinding op te kunnen bouwen tussen diverse netwerken die wij beheren.

Een willekeurig voorbeeld: PABX bewaking

We hebben een aantal telefooncentrales (PABX) in beheer, waarvoor we nu een jaar het eerstelijns beheer doen. Daarvoor deed een externe partij dat voor ons, maar omdat we een sterke groei doormaakten vonden we dat we zelf kennis moesten opbouwen hoe je zo'n centrale beheert. Daarom stuurden we onze mensen op cursus, en gewapend met nieuwe kennis en rijen manuals kwamen ze blij terug.

Zo'n telefooncentrale houdt intern een log bij van allerhande verstoringen: hardware-fouten, eigenaardigheden bij het opbouwen van verbindingen, resultaten van interne testjes enzovoort.

De beheerders moesten nu regelmatig inloggen op de centrale om het interne log te inspecteren op storingen. Dat is overdag misschien nog haalbaar, maar je wilt 's nachts ook wel eens slapen, dus was men bang dat het kon gebeuren dat een nachtelijk alarm pas 's morgens werd opgepakt. Omdat Vertis klanten zich over de hele wereld bevinden en ook nog vaak werken in bedrijven die 24 uur per dag diensten draaien, was dat niet verantwoord.

De beheerders wilden dus graag een 'dinges', wat aan de centrale kon worden geknoopt en wat de bewaking van die centrale voor zijn rekening nam. Dat het moest kunnen wisten ze al: de externe partij waar we vroeger zaken mee deden had ook een apparaat voor dat doel naast de centrale gezet - en bij bestudering bleek dat ding verdacht veel op een PC te lijken.

De beheerders wilden graag dat bij het optreden van bepaalde typen alarmen een semafoonbericht of SMS bericht werd doorgegeven. Bij voorkeur moest je in dat bericht (een tekstbericht dus) al kunnen zien wat de aard van de storing was. De beheerder logt dan in en verhelpt de storing. Ik suggereerde allereerst om iets te bouwen wat automatisch in kan loggen op de telefooncentrale en dan het log uit kan vragen. Dat zou echter wel inhouden dat men op meerdere systemen wachtwoorden bij moest gaan houden, of het vooralsnog niet anders kon?

Het probleem bleek helemaal niet zo groot te zijn: de telefooncentrale bleek voorzien van een seriële printer. Op die printer werden real-time alle alarmmeldingen geprint, bij wijze van logging. Die meldingen zijn in een goed gedocumenteerd formaat opgesteld - ideaal om een eenvoudige computer aan te knopen, die de inkomende stroom kan parsen en acties kan uitzetten.

Welk operating systeem?

Het laatste wat je wilt is in het weekend 's nachts je bed uit moeten om onder in een ongezellige steenkoude kelder ergens een bewakingsmachine te gaan rebooten. Het moest dus rock-steady draaien. En op afstand zijn te beheren en te controleren. En het moest voldoende multi-tasking zijn om tegelijkertijd beheerwerk op uit te voeren, de centrale te bewaken en semafoonoproepen mee de deur uit te sturen.

Het werd dus Linux. NT bleek (nog) niet voldoende stabiel op dat moment. Ook beheer op afstand was moeilijk met een NT machine. DOS was een stuk stabieler, maar ook minder goed te beheren op afstand. Het moge verder bekend zijn dat multi-tasking onder DOS niet heel goed is ondersteund.

Een daemon schrijven is op zo'n Open Source systeem een makkie: voorbeelden van goed werkende software zijn uitbundig aanwezig, je kunt, en vooral ook: mag!, dus 'jatten'. Ik had een eerste prototype binnen een paar uur demonstratiegereed, iets wat door de beheerders van de telefooncentrale met enthousiasme werd begroet. Dat eerste prototype voldeed al zo goed, dat we het nog steeds gebruiken.

De daemon spoelt allereerst alles wat binnenkomt door naar een logfile, zodat alle meldingen vast worden gelegd. Dan, afhankelijk van de zwaarte van de melding, wordt er ofwel niets gedaan, ofwel een alarm uitgezet. Zo'n alarm doet een pieper afgaan bij de beheerders: de software die een semafoonoproep uitvoert, is door mij zelf geschreven, maar ook hier diende weer de vrij beschikbare software als fundament, waardoor ontwikkelkosten vele malen lager waren dan bij volledige zelfbouw het geval zou zijn geweest. Het grootste probleem was nog wel het implementeren en vooral testen van het door Telecom gebruikte protocol om SMS oproepen te kunnen plaatsen. Dit UCP protocol, geen relatie met UUCP, bleek ook voor Telecom zelf nog enigszins experimenteel te zijn, maar na enige debugging sessies werkte het geheel dan toch. Dat het dan niet in de weg zit dat je vrije toegang tot alle broncode hebt, moge duidelijk zijn.

Bij wijze van extraatje heb ik nog een aantal simpele programmaatjes geschreven, waarmee je de status van de telefooncentrale middels een willekeurige browser kunt bekijken. Immers, vrijwel alle Linux distributies zijn standaard van de Apache Webserver voorzien, het is dus een kwestie van een paar cgi-binaries en klaar is Kees.

We hebben ervoor gekozen dat iedereen die dat wil en die toegang heeft tot ons interne netwerk, deze pagina's mag bewonderen. Immers: hoe meer ogen bewaken, hoe beter. Die pagina's verversen zichzelf, en vormen zo ook een on-line monitoring systeem voor de beheerders van de telefooncentrales. Deze hebben op hun kamer nu een PC staan met daarop een aantal browser-schermen open, zodat ze bij een alarm de status kunnen volgen.

Een ander fijn voordeel van het gebruik van een systeem met ingebouwde Webserver was dat ik er heel eenvoudig voor kon zorgen dat alle documentatie en alle broncode via de browser te benaderen is. Men hoeft dus geen account te hebben op de beheermachine en kan desondanks toch alle documentatie en broncode inzien.

Recentelijk hebben we nog een kleine uitbreiding op de systemen toegevoegd: niet alleen gaan de piepers nu af bij een alarm, maar wordt ook een 'netsend' naar de beheerders gestuurd. Uiteraard is de noodzakelijke update van de beide Linux-servers (we moesten hiervoor de samba-client installeren) op afstand (via het netwerk) gedaan en hiervoor was geen downtijd nodig. Omdat we gebruik maken van de Red Hat package manager is installatie van nieuwe functionaliteit op onze Linux machines een fluitje van een cent.

De machines hebben nu uptimes van honderden dagen. De enige storing die we hebben gehad bleek hardwarematig te zijn: een netwerkkaart had de geest gegeven.

Wat vindt de gebruiker er van?

De beheerders van de telefooncentrale zijn zeer tevreden met de oplossing zoals we die aan hen hebben geboden. Zoals gezegd, kunnen de telefooncentrales ook via een seriële lijn worden aangestuurd. We overwegen momenteel om, gebruik makend van de bestaande Linux machines, een deel van het beheer nog verder te automatiseren. Dat gaat inhouden dat een groot deel van de foutmeldingen door de Linux machines 'op eigen kracht' verholpen kunnen worden; uitsluitend zaken die niet automatisch op kunnen worden gelost zullen nog tot een alarm leiden.

En wat vonden onze managers er van?

De totale kosten voor zowel hardware als software waren extreem laag: we hebben voor deze taak nog prima werkende maar al lang afgeschreven 486 PC's gebruikt en Linux is (en blijft) gratis. De door ons zelf geschreven software baseert stevig op het voorwerk van de Open Source gemeenschap en daardoor zijn de ontwikkelkosten zeer laag gebleven. Verder is het beheer van de telefooncentrales nu een stuk minder arbeidsintensief dan in het verleden. Dat houdt dus in dat we meer werk kunnen doen met minder mensen. U raadt al wat onze directeur daar van vindt.

U moet uw baas helpen

De Open Source en Linux SIG, waarin ik medestuurder ben, zal zich er in de komende periode op richten om juist de managementlaag binnen (automatiserings)bedrijven ervan te overtuigen dat Open Source software verantwoord en professioneel in te zetten is.

In mijn ogen - en die van onze SIG - is de visie van onder meer Eric S. Raymond juist. Zie bijvoorbeeld zijn artikel in Linux Journal van april 1998, pagina 68 ev., of lees zijn argumentatie via het Internet.

De 'open' manier van software ontwikkeling heeft de toekomst. De kreet 'open source' zal in de nabije toekomst in mijn optiek net zo vaak gehoord worden als nu het modewoord 'Internet'.

In beide gevallen waren het Unix gebruikers die als een van de eersten mochten profiteren van deze ontwikkelingen. En de geschiedenis herhaalt zich: zoals u ooit wellicht de nodige moeite heeft moeten doen om uw baas te overtuigen van de zinvolheid van het gebruik van Internet voor uw bedrijf, zo ligt er nu de taak om uw manager te overtuigen van de zinvolheid van inzet van Open Source software, bijvoorbeeld het Linux operating system. Hij zal u er later even dankbaar voor zijn als hij u nu dankbaar is omdat u hem vroegtijdig op het Internet hebt gewezen.