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.
|