Tag Archives: open source software

Docker, Dev-Ops bijna opgelost..

Nu grote- en middel grote organisaties de inzet van Linux en Open Source software niet vreemd meer vinden, maken zij zich op voor de volgende stap. De een noemt het “State config”, de ander noemt het “Datacenter automation”. Ongeacht de naam die het krijgt, verandering zit in de lucht.

Virtualisatie

De eerste grote slag vond plaats toen virtualisatie gemeengoed werd. Het maakte mogelijk dat hardware beter benut kon worden en onderhoud op de hardware uitgevoerd kon worden zonder down time van applicaties. Feitelijk werden server-installaties los gekoppeld van de hardware. In  sommige organisaties ontstond er zelfs een nieuwe groep van beheerders, zij die zich exclusief bezig hielden met deze virtualisatie. Nadeel van virtualisatie was wel dat nieuwe (virtuele) servers te makkelijk uitgerold konden worden. Dit leide veelal tot ongecontroleerde groei van servers. Immers, het aanvraag proces van nieuwe servers en de aanschaf van hardware waren ook ontkoppeld.

Puppet

Virtualisatie van servers vraagt om software en tooling waarmee dit beheerd kan worden. De servers zijn niet meer zichtbaar en het worden er wel heel veel. Het walhalla is hierbij natuurlijk dat servers volledig middels templates beschreven zijn en op commando geautomatiseerd gedeployed kunnen worden. Puppet is bij uitstek software die dit mogelijk maakt. Veel organisaties op dit moment zijn nu wakker voor deze ontwikkeling en het verklaart de populariteit van Puppet. Overigens zijn er veel meer initiatieven (software producten) die dit kunnen, te denken valt aan Ansible, Chef, MAAS, JuJu, Landscape e.t.c. Interessant is dat deze ontwikkelingen veelal vanuit de Open Source hoek lijken te komen. Duidelijk wordt dat traditioneel systeembeheer een veel grotere programmeer-component krijgt.

Cloud Computing

Als virtualisatie gecombineerd wordt met datacenter automation, dan komen we in het gebied van Cloud Computing. Hierbij gaat de ontkoppeling van de hardware nog een stap verder. De kosten worden volledig operationeel (opex – Operational Expenditures) en de capaciteit volledig elastisch. Bij de cloud aanbieders zijn het de grote IT bedrijven die de toon zetten. Met name Amazon met haar EC2 cloud mag genoemd worden. De EC2 cloud is voor velen nog steeds het lichtende voorbeeld van hoe een cloud zou moeten functioneren. Bij de aanbieders van cloud software wordt het peloton aangevoerd door Open Stack een project waaraan alle belangrijke software vendors inmiddels aan meewerken. Het is mogelijk een “Kip ei” vraagstuk of Cloud Computing of datacenter automation eerder was. Het zijn in ieder geval technieken die hand in hand gaan. Red Hat heeft dit zien aankomen en heeft Puppet in haar Red Hat Satelite product geïntegreerd en maakt met Cloud Forms mogelijk om orkestratie over verschillende Cloud- en virtualisatie platforms uit te voeren.

Docker

En op het moment dat de IT markt denkt de ontwikkelingen begrepen te hebben, komt er een game changer langs. Docker is een combinatie van container virtualisatie en applicatie virtualisatie. Dit verandert vreemd genoeg veel. De lichtere vorm van virtualisatie maakt dat er minder overhead is en er dus efficiënter gebruik van de hardware kan worden gemaakt. Het is niet strijdig met Cloud Computing, maar, bouwt daar juist op voort. De echte grote verandering is daarom niet technisch van aard, maar organisatorisch. Doordat ontwikkelaars de Docker pakketten maken wordt het traditionele systeembeheer gepasseerd.  Het traditionele IT afdelingen hebben de “Boot gemist”, de business heeft ze nauwelijks meer nodig. Na jarenlang barrières op te hebben geworpen, heeft de business zich nu onafhankelijk gemaakt van de IT afdeling. De aansluiting met de business is hierdoor eenvoudiger – een vraagstuk dat de IT al jaren teistert. Het is wel de vraag wat de IT beheer afdeling nu gaat doen. Resteert het hen de hardware te beheren en te onderhouden?

Nieuwe kansen

Er zijn ook wel weer kansen. De ontwikkelaars zijn nu “In charge” en daarmee ook van security – en daar zijn ze traditioneel niet erg goed in. Het is zaak om het traditioneel IT beheer te herzien en  aan te sluiten bij development afdelingen en te participeren in security vraagstukken – mits je niet alleen kapotte harddisks wil wisselen.

Elevator pitch Open Source Software

Het overkomt me nog wel eens dat me gevraagd wordt waarom bedrijven en organisaties voor Open Source Software moeten kiezen. Ik denk daarom al langere tijd na over een “elevator pitch”. Veelal is het sentiment namelijk dat Open Source Software geen doel op zich moet zijn en dat de beste tool voor de job gekozen moet worden. Maar is dat voldoende?

Fysieke wereld

Wij mensen leven in een fysieke wereld en zijn gewend aan de wetmatigheden die daar gelden. Zo weten we bijvoorbeeld dat wanneer we iets delen in de fysieke wereld (bijvoorbeeld een taart), dat iedereen met wie we delen een stukje krijgt. We weten ook dat wanneer we met steeds meer mensen delen de stukken steeds kleiner worden. Consequentie hiervan is dat er dus sprake is van een afnemend nut.

Voor de duidelijkheid, dit is geen betoog tegen delen 
in de fysieke wereld, want ook daarvoor geldt, wie deelt 
heeft meer!

Digitaal delen is vermenigvuldigen

Tegenwoordig hebben we steeds meer zaken digitaal, zoals muziek, foto’s film, teksten (boeken) en software. In  tegenstelling tot delen in de fysieke wereld, krijgt iedereen met wie we digitale content delen het geheel. Je kan daarom stellen: “digitaal delen is vermenigvuldigen”.elevator_pitch_oss

Voor onze discussie over nut geldt dan dat iedere kopie evenveel nut geeft. In de figuur is e.e.a. grafisch weergegeven. Overigens gaat het hier (op de verticale as) om nut, niet om de prijs die je daar eventueel voor betaald.

 

 

Digitale content veroudert en slijt niet. Leveranciers van film, 
muziek en software bedenken daarom constructies om klanten telkens opnieuw 
te laten betalen. Een voorbeeld hiervan zijn Spotify en Netflix abonnementen 
of een "software assurance" waarvan de geldigheid na 3 jaar verloopt. 
Hiermee "slijt" digitale content en moet er periodiek opnieuw voor betaald 
worden. Feitelijk betreft dit huur. Gesteld kan worden dat men probeert
wetmatigheden van de fysieke wereld toe te passen op de content in
de digitale wereld. Hiermee wil ik niet zeggen dat het toch geen 
"goede deal" kan zijn. Zowel Spotify als Netflix leveren additionele
diensten zoals de mogelijkheid afspeellijsten te maken of het attent
maken op nieuwe content.

Open Source Software

Bij Open Source Software wordt iedereen in staat gesteld de content aan te passen en te verbeteren. Je kan stellen dat het nut toeneemt naar mate je deze met meer mensen deelt.

Vaak wordt gesteld dat slechts maar een heel klein percentage 
mensen een bijdrage (verbetering) levert aan open source 
software. Dat mag het geval zijn, maar zelfs een klein percentage 
levert uiteindelijk voor iedereen veel op, mits we met voldoende
mensen delen! M.a.w. hier loont het zich juist om met zoveel
mogelijk mensen te delen.

 Conclusie

Het delen van digitale content is een ander proces dan delen in de fysieke wereld. In plaats van een deel krijgt iedereen een volledige kopie. Digitaal delen is daarom vermenigvuldigen. Zodra de mensen met wie je deelt in staat zijn de content te verbeteren (zoals dat bij open source software het geval is) neemt het nut zelfs toe. Voor bedrijven en organisaties betekent dit investeren in de toekomst in plaats van betalen voor het verleden.

Natuurlijk leveren ook fabrikanten van commerciële software nieuwe versies. 
Je kan dit in de grafieken voorstellen als een nieuwe lijn, zij het dat die 
op een hoger punt (meer nut) begint. Software die volgens het huur 
principe wordt verkocht kan je voorstellen als een lijn die op een bepaald 
tijdstip ophoudt te bestaan.

 

“Het PRISM dilemma”

De onthullingen rond PRISM doen ons geloven dat ook op internet het “recht van de sterkste” geldt. In dit voorbeeld is het de Amerikaanse NSA die massaal telefoongesprekken en internet communicatie tapt en opslaat. Andere geheime diensten doen dit ongetwijfeld eveneens. Dit voorval staat niet op zichzelf, er zijn vele voorbeelden waarin de security van computersystemen in het geding is. Wat kan je hier als bedrijf of individu aan doen? Kan Linux / Open Source Software ons hierbij behulpzaam zijn?

Geen eigenaar, geen bedrijf, geen deals

Commerciële software bedrijven hebben twee nadelen, ten eerste zijn ze gevestigd in een specifiek land en ten tweede worden ze (deels) “geregeerd” door commercie. Doet een Europees bedrijf zaken met een Amerikaans bedrijf dan is de kans groot dat Amerikaanse geheime diensten toegang hebben tot hun systemen en data. Zou het uitmaken dat de specifieke vestiging van dit Amerikaanse bedrijf zich op Europees grondgebied bevind? PRISM leert ons dat de Patriot Act voor alle Amerikaanse bedrijven geldt, waar zij zich ook vestigen. Men kan zich terecht afvragen of dit wenselijk is voor (o.a.) Europese overheidsdiensten. Stellen zij hiermee gegevens van hun burgers aan de Amerikaanse overheid ter beschikking?Prism

Een ander nadeel is het commerciële karakter van veel software bedrijven. Naast – voordelen – strookt de aandacht (en prioriteit) voor security niet altijd met de commerciele belangen van deze bedrijven. Zo worden exploits liefst niet meteen bekend gemaakt. Naast dat bedrijven niet graag “de vuile was” buiten hangen kan een fix meestal niet snel worden gemaakt. De rechtvaardiging hiervan is vaak dan ook dat de onbekendheid van een exploit voorkomt dat daarvan misbruik wordt gemaakt. In de “Open Source wereld” weten we dat deze “Security through obscurity” niet werkt. Mensen die misbruik willen maken van computer systemen zijn gewoon op de hoogte van deze exploits. Microsoft bijvoorbeeld, informeert de NSA over dergelijke exploits zo blijkt nu. Eindgebruikers zijn zo niet in staat hiertegen maatregelen te treffen omdat de exploits voor hen wel onbekend zijn. In tegenstelling, binnen de communities van Open Source Software worden exploits onmiddellijk bekend gemaakt zodat gebruikers maatregelen kunnen treffen en er snel een patch / fix gemaakt kan worden.

Community development

Open Source Software, zoals Linux bijvoorbeeld, kent geen eigenaar die in een specifiek land is gevestigd. Hierdoor is het lastig voor een nationale overheid – Amerikaans of anderzins – hierop grip te krijgen. Bovendien zijn de mensen die aan deze software programmeren vaak wars van dergelijk invloed en zullen zij om die reden daartegen verzetten. Ook is de bron code inzichtelijk voor iedereen die dat wil en vormt daarmee een extra zekerheid dat daarin geen opzettelijke “achterdeurtjes” gemaakt zijn. Het is geen garantie, maar waar zou je voorkeur naar uitgaan?

De bovenstaande punten betekenen niet dat commerciële software slecht is, 
dergelijke bedrijven niet te vertrouwen zijn of dat Open Source Software 
geen exploits zou bevatten. Er zijn voldoende legitieme redenen om wel 
commerciële software te gebruiken. Het is geen argument waarom het 
produceren van commerciële software illegaal of immoreel zou zijn. 
Het is dan ook geen onwil bij commerciële software bedrijven, maar 
eerder een "handicap".

Eerste-hulp

Wanneer bedrijven en eindgebruikers eenmaal met Linux / Open Source Software aan de slag gaan, dan blijkt dat daarvoor een eindeloze hoeveelheid tools (hulpprogramma’s) beschikbaar zijn. De toegankelijkheid is groot omdat ze makkelijk geïnstalleerd kunnen worden (via internet) en er (meestal) geen kosten aan verbonden zijn. Een aanzienlijk deel van deze tools kunnen gebruikt worden om de security van systemen, communicatie en data te verhogen.

Om een indruk te geven, OpenVPN kan gebruikt worden om VPN tunnels te bouwen, iptables is een standaard firewall in Linux, SELinux is een (overigens door de NSA ontwikkelde) methodiek om het security niveau van Linux te verhogen. Mail systemen kunnen beveiligd worden met ClamAV (een virusscanner) en Spamassassin (Spam filter).

Maar ook zijn er: Tripwire (een systeem waarmee wijzigingen van configuratiebestanden gedetecteerd kan worden), Snort (een intrusion detection system) en Fail2ban (een systeem waarmee onterechte inlogpogingen op systeem processen geweerd kunnen worden).

Bovenstaande producten zijn kosteloos te gebruiken, op een paar is commerciële (betaalde) support te verkrijgen en de meesten zijn prima gedocumenteerd. Ze zijn vaak onderling te combineren en deze lijst is verre van compleet!

Ladder en breekijzer

Linux / Open Source Software “gedraagt” zich eerder als een gereedschapskist met onderdelen, dan een “kant en klaar product”. Het nadeel hiervan is dat er meer kennis en ervaring nodig is om daarmee te bereiken wat je wil. Daar staat tegenover dat systemen volledig naar behoefte te configureren zijn. Dit stelt bedrijven en gebruikers in staat bijvoorbeeld alle potentiële hulpmiddelen voor hackers te verwijderen. Een systeem kan worden teruggebracht tot de basisonderdelen die echt nodig zijn. Alle overbodige software en services voor het specifieke toepassingsgebied zijn te verwijderen. In vergelijk, wie laat er een ladder en breekijzer bij zijn voordeur liggen?

Wie niet sterk is…

Voorbeelden zoals PRISM kunnen ons het gevoel geven dat het “recht van de sterkste” geldt. Wie kan er op tegen de financiële kracht en kennis van de NSA? Linux / Open Source Software geeft ons gelukkig de mogelijkheden daar het “recht van de slimste” tegenover te zetten. Het is aan ons eindgebruikers (en bedrijven / zakelijke gebruikers) om deze handschoen op te pakken of ervoor te kiezen ons over te geven aan een ieder die misbruik wil maken van onze systemen.

update d.d. 26-08-2013

Interessant AIVD rapport over dit onderwerp… AIVDrapport2013