Automatisierte Server-infrastruktur mit Puppet in der KMU: Lohnt sich das?

Posted by Chris on September 08, 2011

No Gravatar

Puppet ist seit Jahren im Aufwind und entwickelt sich zum Nonplusultra im professionellen Konfigurationsmanagement. Es ist schon längst nicht mehr nur die “Alternative zu cfengine” die es anfangs noch war. Die Liste der Firmen, die seit längerem und im grossen bis sehr grossen Umfang (bis zehntausende von Servern oder Instanzen) auf Puppet setzen ist beeindruckend, darunter finden sich unter anderem Google, Twitter, Red Hat, Sun, Citrix, match.com, Rackspace etc. Wegen der ausgezeichneten Reputation von Puppet und der möglichen Vollautomatisierung (ein heiliger Gral von Systemadministratoren, leider wird dies manchmal eher als Bedrohung ihres Jobs wahrgenommen) entschieden wir uns für eine Evaluation dieser Software. Der Preis für die Flexibilität und die überragende Mächtigkeit dieses Instruments ist allerdings am Anfang ziemlich hoch: Nicht wegen dem Kaufpreis, es handelt sich ja um Opensource, aber die Lernkurve ist am Anfang wirklich sehr steil. So steil, dass ich mich die erste Woche mehr als einmal gefragt habe: Sollen wir wirklich? Lohnt sich das überhaupt für unsere 20 Linux-Server? Vielleicht ist es gar nicht so schlecht, dass die Einstiegshürde so hoch ist, damit wird sichergestellt, dass sich nur eingehend damit beschäftigt, wer genau weiss, was er tut (das ist auch bei Linux-Administratoren nicht automatisch der Fall ;-) und was genau mit dem Werkzeug erreicht werden soll.

Nach zwei Wochen intensiven Lernens (Meistens “Learning by doing”, denn praktisch alle  Puppet-Bücher sind nicht wirklich brauchbar) ist die Antwort Ja. Ja, und es würde sich sogar nur mit 10 Servern bereits lohnen. Denn nach dem hohen Lernaufwand am Anfang wird das Erstellen von neuen Modulen und Konfigurationen immer einfacher und schneller. Es macht Spass, ein derartig mächtiges Werkzeug immer besser zu beherrschen. Zudem gibt es eine Unmenge von vorgefertigten Modulen auf den entsprechenden Internetseiten zu finden. Und nicht zuletzt lernt man sehr viel über deklarative Sprachen und wenn man will, kann man zugleich noch etwas Ruby Programmieren lernen, je nachdem wie tief man in die Materie eintauchen möchte.

Einen anständigen Workflow vorausgesetzt kommt man unter Umständen auch intensiv mit Git in Kontakt, was einem den zukünftigen Umgang mit diesem ebenfalls sehr mächtigen Versionierungswerkzeug in anderen Projekten sehr einfach macht (Projektleiter, ob kommerziell oder Opensource sind froh, wenn sie nicht erst einen Kurs in “Git basics” geben müssen). Als kleiner Bonus wird durch den Workflow auch ein Produktionsrelease-Zyklus eingaführt mit Test und Live-Szenarien, ohne die sonst üblichen Probleme eines Paradigmen- oder Prozesswechsels (Akzeptanz u.ä.), denn die ersten Früchte der Arbeit werden sehr schnell auch individuell spürbar. Für vorsichtigere Naturen lohnt sich bestimmt ein Blick auf die Enterprise-Version, mit der die Installation vollautomatisch auf Klick funktioniert und für die man auch offiziellen Support bekommt.

Warum scheuen dennoch viele Administratoren den Weg in die Vollautomatisierung? Bei einigen herrscht wohl noch die altbekannte Angst vor dem Überflüssigwerden des Administrators vor. Dies lässt sich in der Welt der proprietären Betriebssysteme und Software (aber nicht nur dort) sehr häufig beobachten, wo selbst einfachste, repetierbare Aufgaben teilweise Stunden benötigen. Mein Argument gegen diese Angst ist, dass wir unseren Job nicht machen, um langweilige, wiederholende und im Prinzip immergleiche Arbeiten zu machen. Dazu kann man auch Roboter (sprich: Puppet) nehmen! Als Systemadministrator / Entwickler etc. hat man genug zu tun, kreative und nachhaltige Lösungen für nicht-alltägliche Probleme zu finden. Diese Arbeit ist essentiell das, was uns  implizit motiviert! Typische Situation: Die ersten 10 Apache-Installationen macht man noch gerne, weil man lernt und das Ergebnis sehen kann. Danach merkt man schnell, dass es immer dasselbe ist. Warum also nicht automatisieren? Jeder Systemadministrator den ich kenne, hat eine Liste mit 100+ interessanteren Problemen und Ideen, welche ihrer Firma einen echten Mehrwert bieten würden, wenn man denn neben den alltäglichen Aufgaben Zeit für sie fände. Deshalb ist Automatisierung keine Bedrohung sondern eine Befreiung! Sobald man mit vielen Servern zu tun hat, muss man sich ohnehin überlegen, wie man diese effizient und nachvollziehbar gleich aufsetzen und administrieren will, daher ist in grösseren Firmen diese Form der Automatisierung schon eher ein Sachzwang, will man motivierte und kreative anstatt genervte Administatoren.

Im Gegensatz zu cfengine besteht derzeit leider noch keine offizielle Windows-Unterstützung. Es sind jedoch Entwicklungen im Gange, dass bald die wichtigsten Ressourcen durch einen Windows-Agent realisiert werden können.

In diesem Sinne gelte das alte Administratoren-Credo: Wenn eine Arbeit automatisch erledigt werden kann, soll man keinen Menschen damit belästigen. Denn Menschen haben Interessanteres zu tun.

[1] http://cfengine.com/
[2] http://projects.puppetlabs.com/projects/puppet/wiki/Whos_Using_Puppet
[3] http://forge.puppetlabs.com/
[4] http://puppetlabs.com/puppet/puppet-enterprise/
[4] http://projects.puppetlabs.com/projects/puppet/wiki/Puppet_Windows

Ade KDE… 6

Posted by Chris on Juni 03, 2011

No Gravatar

Selten lasse ich mich zu  solchen Postings hinreissen. Nun ist es soweit. Nachdem ich nun seit über 10 Jahren KDE nutze (seit ca. 1999), hat das Frustlevel mit KDE 4.x (Version egal) ein unerträgliches Mass erreicht. Schade, ich wäre gerne länger optimistisch gewesen bezüglich des Projektes. Ich hoffe, dieser Artikel wird nicht zu sehr als Troll-Posting aufgefasst, ich versuche so sachlich wie möglich zu bleiben (ich bin zwar kein KDE-Entwickler, kann aber Usability und Projektleitung einigermassen beurteilen)…

Ich war wirklich ein grosser Fan von KDE, habe die Gnome-Benutzer immer belächelt, weil sie für Konfigurationen Registry-ähnliche (brrrr…) Einträge in GConf machen mussten (auch heute noch?), falls es dafür kein entsprechendes Werkzeug gibt.

Als mit KDE 4.0-4.3 bereits viele enttäuschte KDE-Benutzer absprangen, bezichtigte ich sie der Ungeduld und vermutete, dass in 6 Monaten endlich Stabilität und Klarheit bezüglich der Schnittstellen, des Designs und der Oberflächen herrschen würde: Ich habe mich geirrt. Es sind mehr als 3 Jahre seit Version 4.0 vergangen, ich habe wirklich genug Geduld bewiesen. Leider ist weder die Stabilität, noch die Funktionalität auch nur annähernd an die Versprechungen der Entwickler herangekommen. Als Benutzer frisst mir KDE einfach zuviel Zeit und Ressourcen und kostet mich immer mehr Nerven.

Um nur ein paar unrühmliche Beispiele zu nennen:

  • Plasma-Abstürze (diese treten je nach Grafikkarten-Treiben häufiger oder seltener auf, aber sie treten auf)
  • Der “semantische Desktop” mit Nepomuk/Strigi => Zweimaliger Backendwechsel (alle Tags und Indizes konnte man vergessen oder nur mit grossem Aufwand migrieren) und immer noch kein funktionierendes Frontend, abgesehen von ein paar unintuitiven Dolphin-Buttons. Kurz gesagt: Sogar die Windows-Indizierung oder der Google-Desktop-Search funktionieren besser.
  • Akonadi (Datenprovider)=> immer noch nicht vollständig integriert, nicht mal in KMail! Immerhin ist der Akonadi-Dienst heute stabil und zuverlässig.
  • ALT+F2 (KRunner) war in mehreren Versionen instabil, brauchte Minutenlang, um Nepomuk oder werweisswas abzufragen und stürzt auch heute noch unregelmässig ab.
  • Für mich sehr unverständlich: Das eigentlich geniale Konzept der Aktivitäten wurde niemals richtig brauchbar eingeführt. Dabei hätte man in Verbindung mit den virtuellen Deskstops Einiges erreichen können. Aber es ist bis heute nur den wenigsten Benutzern klar, das es Aktivitäten gibt geschweige denn, wie man sie nutzen oder konfigurieren kann (die Konfiguration wird sehr gut versteckt).
  • Die Systemkonfigurationswerkzeuge sind immer chaotischer organisiert und bezeichnet (wer sucht das Tastaturlayout schon unter “Input Devices”?)
  • Abstürze in KMail, amarok und vielen anderen Applikationen. Auf das von KDE verwendete QT-Framework sind die Abstürze kaum zurückzuführen, denn reine QT-Applikationen scheinen in der Regel sehr stabil zu arbeiten.
  • Desktopeffekte: Tolle und gutaussehende Effekte, nur fehlt ein einheitliches Konzept. Der Benutzer ist ganz auf sich gestellt, die für ihn nützlichen Komponenten einzurichten. Ausserdem auch hier: Noch viel zu viele Abstürze, wenn man “ungewöhnliche” Mausbewegungen o.ä. macht, während ein Effekt in Kraft ist. Heute kann man kaum noch jemanden mit den tollen KDE-Desktopeffects beeindrucken, wenn sie nur zur Hälfte funktionieren wegen Treiberproblemen oder gar abstürzen, wenn man sie gerade einem Kollegen zeigen möchte ;-)

Dies sind auch in den meisten Foren so etwa die am häufigsten bemängelten Punkte.

Bei KDE merkt man seit einigen Jahren, dass die Projektleitung chaotisch ans Werk geht, Entwickler Aaron Seigo ignoriert seit Jahren die unzähligen Kommentare in seinem Blog und den KDE-Foren, in denen die Benutzer einfach nur Stabilität, weniger Abstürze und weniger Bugs fordern, wenn er und andere Entwickler schon wieder mit den nächsten Features auftrumpfen, während grundsätzliche Attribute noch nicht mal stabil funktionieren. Sebastian Kügler indes kündigt bereits die Betaversion von KDE 4.7 an. Auch dort viele Kommentare, dass Version vor 1.0 (1998) stabiler war, als es 4.x je war usw. Je länger die Benutzerklagen bezüglich der mangelnden Stabilität von KDE 4 ignoriert oder beschwichtigt wurden, ohne dass es spürbare Verbesserungen gab (es gab sie, aber nur für Benutzer, die in der Lage waren, immer die neuesten Versionen zu installieren), desto ungeduldiger und drängender wurde natürlich deren Ton. Mittlerweile werden sogar Kommentare gelöscht, weil sie sich im Ton ganz vergreifen, schlecht bewertet und als “Trollpost” bezeichnet. Das deutet auf Schwierigkeiten hin, die sich längerfristig auswirken dürften. Sehr schade, denn es geht hier viel Vertrauen verloren, das doch so wichtig ist für Softwareprodukte.

Was tun? Noch bis Ende letzten Jahres gab es für mich kaum eine Alternative, denn KDE hat unbestritten viele tolle Applikationen und Gnome 3 steckte scheinbar noch etwas in den Kinderschuhen.

Mit dem Release von Fedora 15 sollte Gnome 3 in brauchbarer Form vorliegen. Mit grösster Skepsis stattete ich diesr Desktopumgebung einen Besuch ab. Kurz und gut: Ich war von Anfang an begeistert! Schon mit einer so frühen Release haben die Gnome-Entwickler ein absolut stabiles und benutzbares Produkt abgeliefert! Natürlich sind noch nicht alle Applikationen und Systemkomponenten migriert worden, aber das Projekt scheint sehr gut voranzukommen. Das alte Gnome hat mir nie gefallen, zu altbacken und kaum konfigurierbar. Doch genau dieser “Mangel” an Konfigurationsmöglichkeiten scheint bei Gnome 3 gut in das Gesamtkonzept zu passen. Die Gnome-Shell ist zwar gewöhnungsbedürftig, aber sie stellt nach kurzer Zeit sogar jede Mac-Oberfläche in den Schatten. Warum? Weil man sich auf die Arbeit mit den jeweiligen Applikationen konzentrieren kann und weil die verwendeten Effekte auf den Workflow ausgelegt sind und praktisch nie abstürzen. Auch wenn ich hoffe, dass ich in Zukunft mehr konfigurieren kann (z.B. gespeicherte Sessions, in welchen die Applikationen auf zugewiesenen Desktops starten), fehlt mir im Moment nichts. Ich kann es vielleicht in die Worte fassen: Es fühlt sich alles von Anfang an richtig an, die meisten Kommandos entdeckt man intuitiv (z.B. das Navigieren in den Desktops, das Aufrufen der Gnome-Shell etc.), die Projektleitung scheint zu wissen, was das Ziel ist und das merkt man. Vielleicht erweisen sich nun die höheren Einstiegshürden in die Gnome-Entwicklung als Vorteil, weshalb Gnome-Entwickler unter Umständen etwas “reifer” und zurückhaltender sind mit Features, die dem Workflow nicht wirklich helfen.

Man darf mich also seit dieser Woche als Gnome3 (oder Gnome-Shell?) Benutzer bezeichnen. Ich kann sagen, die Migration ist mir viel leichter gefallen, da ich nur in einem Drittel der Zeit dasselbe erreichte, wie mit einer neuen KDE-Installation: Evolution ist viel stabiler geworden (stabiler als KMail war es schon immer) und es hilft einem beim Einrichten von Googlemail-IMAP-Accounts. Ausserdem integriert es Google-Kalender sauber, genauso wie Google-Kontakte uvm. Im Büro nutze ich Evolution sogar mit unserem Exchange-Server (inkl. GAL) ohne Probleme. Soweit so gut.

Nochmals: Bitte versteht mich nicht falsch, die KDE-Entwickler sind Profis und viele Applikationen möchte ich nicht mehr missen (obwohl die Anzahl schrumpft aufgrund zunehmender Abstürze). QT ist und bleibt ein geniales Framework, dass ich jederzeit GTK vorziehe, um kleine Applikationen zu entwickeln. Auch werde ich weiterhin mit Spenden die einzelnen Projekte unterstützen. Nur bezweifle ich mittlerweile offiziell, dass die Projektleitung dazu fähig ist, dieses Boot wieder in ruhigere Gewässer zu lenken. Nach der Lektüre von Frederick P. Brooks “The Mythical Man-Month”, Peter Seibel’s “Coders at Work” und anderen Materialien über vergangene Grossprojekte im Softwarebereich deutet für mich Vieles darauf hin, dass KDE4 niemals stabil werden wird. Als Entwickler muss man sich dann überlegen, ob nicht ein kompletter Neuanfang das Beste wäre. Als Benutzer hat man glücklicherweise mit Gnome 3, XFCE usw. brauchbare Alternativen.

[1] KDE Systemsettings: http://www.pro-linux.de/artikel/2/image/1496/4107,die-systemsettings-in-kde-46-sind-endlich-wieder-uebersichtlich.html
[2] Aaron Seigo’s Blog: http://aseigo.blogspot.com/
[3] Ankündigung KDE 4.7: http://dot.kde.org/2011/05/25/kde-ships-first-47-beta

“Der Schweiz gehen die Informatiker aus”

Posted by Chris on Februar 16, 2011

No Gravatar

So titelte der Tagesanzeiger in einem Artikel. Die Zahlen beruhen auf einer Schätzung des Vereins ICT-Berufsbildung. Mal abgesehen davon, dass ich die Zahlen für unrealistisch halte (wenn alle Zahlen der letzten Wochen stimmten, fehlten in ganz Europa ca. 1 Million IT-Fachkräfte und auf der ganzen Welt 3 Millionen…), muss man sich sicherlich etwas mehr Gedanken zu den Ursachen machen, als nur die Verunsicherung der geplatzten Dotcom-Blase der Jungen zum Vorwand zu nehmen. Denn natürlich wissen die 16jährigen heute nicht viel von der Krise 2001 respektive haben diese nicht mitbekommen. Auch wenn vielleicht die Eltern hier Einfluss nehmen, erklärt das nicht diesen Mangel. Ausserdem nimmt laut Statistik die Anzahl der Informatiklehrlinge stetig zu. Und alle, die in der Ausbildung tätig sind wissen, dass die Lehrlinge mit 19 erstmal ins Militär müssen und ihnen dann die nötigen 5-10 Jahre Praxis fehlen, um voll Einsatzfähig zu sein. Die Stelleninserate (es sind offenbar nicht ganz 30000…) reden dann von gesuchten gut ausgebildeten (sprich studierten) Informatikern mit 10 Jahren Erfahrung, die nicht älter als 23 sein dürfen, damit nicht mehr als 60000 Jahresgehalt bezahlt gefordert werden. Flexibilität bezüglich Nacht- und Wochenendarbeitszeiten, Freude an unbezahlten Überstunden und Verlust des Privatlebens gehören genauso zu den Anforderungen wie auch das Nomadentum, damit man heute in Zürich, morgen in Bern und übermorgen in Düsseldorf arbeiten kann. Ein fester Wohnsitz wäre da wohl störend. Was ich hier etwas überspitzt ironisch dargelegt habe, ist in einigen Schattierungen aber durchaus anzutreffen. Jedes zweite Inserat für Informatiker redet in der Tat von “Bereitschaft für Pikettdienst und Wochenend- und Nachteinsätzen”. Ich weiss aus eigener Erfahrung, dass man dies vielleicht mit 25 macht, aber spätestens nach ein paar Jahren hat man die Nase voll und will normale Arbeitszeiten oder diese sogar selbst bestimmen, denn man verliert durch Nacht- und Wochenendarbeit den Bezug zur Gesellschaft (ein unterschätztes Problem, aber es betrifft ja nur die “Unterschicht”).

Und da fragen sich die Spezialisten nun allen ernstes, warum diese Berufsgattung für Männer und vor allem Frauen nicht attraktiv ist? Google und einige andere Unternehmen haben das Problem wenigstens teilweise erkannt und versuchen mit allen Mitteln wenigstens Abgänge zu verhindern, wenn man schon nicht genügend Nachwuchs findet.

Um dieser personellen “Unterdeckung” wirklich etwas entgegenzusetzen, gäbe es meiner Ansicht nach genügend Ansätze:

  • - Flexiblere Arbeitsmodelle: Es ist immer noch unheimlich schwierig, von Voll- auf Teilzeit zu wechseln, auch wenn die Unternehmen stolz über die PR-Abteilung verbreiten, dass sie flexible Arbeitszeiten zulassen würden.
  • - Überzeitregelungen: Die Überzeit muss anständig vergütet werden, am besten wird sie aber prinzipiell vermieden (viele denken heute fatalerweise, dass das Nichtaufschreiben von Überzeit etwas nützen würde)
[1] http://www.tagesanzeiger.ch/wirtschaft/konjunktur/Der-Schweiz-gehen-die-Informatiker-aus/story/28081354

Was hat Microsoft an Opensource-Veranstaltungen zu suchen? 4

Posted by Chris on Juli 30, 2010

No Gravatar

Ehrlich gesagt, ich habe keine Ahnung! Aber immer häufiger tauchen Vertreter des Konzerns an Veranstaltungen über Opensource auf:

Zudem wird Microsoft nicht müde, über alle Marketingkanäle zu verbreiten, wie sehr sie selber Opensource unterstützt. Seltsam häufig ist auch diese Überschrift auf einschlägigen News-Seiten zu finden: Fast schon wie diktiert (oder besser kopiert) ;-)

Das Problem dabei ist, dass wir alle (und auch die Aktionäre) wissen, dass das erklärte Ziel einer Aktiengesellschaft das Geldmachen ist. Ergo dienen auch diese Aktionen (über Umwege) diesem einen obersten Zweck. Warum ist Microsoft denn überhaupt so sehr daran gelegen, dass wir sie als offen wahrnemen? Durch die vorauszusetzende Intelligenz der Zielgruppe von solchen Marketingaktionen (die Geeks) dürfte es ohnehin unmöglich sein, diese davon zu überzeugen, dass der Konzern nun plötzlich nicht mehr erz-kapitalistisch denken und handeln soll. Die meisten der lancierten Projekte verlaufen ohnehin im Sand aufgrund mangelnder Unterstüzung oder minderer Codequalität.

Wohl niemand kauft Microsoft hehre Ziele ab. Sie leben schließlich einfach in einer komplett anderen Welt: In der Welt des Geldes… Kaum jemals würden sie verstehen, warum wir unsere Arbeit lieben und gar nicht dem schnöden Mammon dienen mögen. Oder versucht mal einem MS-Anhänger zu erklären, warum Ihr freiwillig auf einen hohen Verdienst oder Posten verzichtet, um Euren Lieblingsjob auszuüben; man erntet nur verständnisloses Kopfschütteln. Also, liebe Microsoft Corp. Executives, lasst besser die Finger davon, wenn Ihr der Community wirklich etwas geben wollt, dann das, wovon Ihr am meisten versteht: Geld. Mit Sponsoring wäre am ehesten Sympathie zu holen. Andererseits, welches Opensource-Projekt wäre denn scharf auf ein MS-Emblem auf seiner Webseite ;-)

Es gäbe nur einen Weg, wirklich glaubhaft zu den “Guten” zu gehören: Einfach qualitativ hochstehenden, freien Code zu produzieren, ohne gleich jede Codezeile mit einer Pressemitteilung zu bewerben. Auch anonymes Sponsoring gilt bei uns als ehrenhaft. Aber dafür erntet man eben keinen Beifall. So einfach ist es, wenn man wirklich integer hinter höheren Zielen steht.

Leider versteht Microsoft (und noch viele andere Firmen) das Prinzip von Opensource nicht: Nur ein Projekt zu lancieren und danach zu hoffen, andere würden die Arbeit freiwillig erledigen und die Lorbeeren wiederum den Firmen überlassen, ist nicht klug gedacht. Was dabei herauskommen kann, ist derzeit bei OpenSolaris zu beobachten: http://developers.slashdot.org/story/10/07/14/1448209/OpenSolaris-Governing-Board-Closing-Shop.

Distributions-Test Nr. 9: *** PCLinuxOS 2010 *** 4

Posted by Chris on Juli 09, 2010

No Gravatar

Drei Jahre ist es her, seit ich PCLinuxOS das letzte mal getestet habe. Mittlerweile kenne ich auch die ihm zugrunde liegende Distribution Mandriva sehr gut. Ich war damals auf Anhieb begeistert, wie einfach eine gut durchdachte Desktop-Distribution sein kann, wenn die Macher sich wirklich auf das Wichtigste Konzentrieren: Die Zeit, die ein Benutzer für seine Tätigkeiten benötigt.

Continue reading…