2008-10-16 14 views
6

Ich brauche eine Lösung, um eine Reihe von Anwendungen in unserem Unternehmen zu katalogisieren (mehr als 100 weniger als 1000).Auf der Suche nach pragmatischen CMDB-Lösung

Im Moment verwenden wir eine Tabelle und für jede App füllen wir Name, kurze Beschreibung, Kontaktperson und Betreuer (intern oder Verkäufer) aus. Es ist angebracht, diese Liste für die IT-Planung und das Incident-Management zu verwenden (Impact-Schätzung, etc.). Um dies zu tun, müssen wir mindestens Relationen wie "hängt ab", "Teil von" oder "ersetzt" hinzufügen. Es wäre auch nützlich, wenn eine zukünftige Lösung das Markieren, Hinzufügen indizierter Schlüssel/Wert-Paare, Kommentare und Anhänge zu jedem Eintrag ermöglichen würde.

Wir wollen nicht alle implementierten Instanzen der Anwendungen entdecken, Konfigurationseinstellungen verwalten, Monitoring integrieren, komplexe Sicherheitseinstellungen haben und in Meta-Meta-Schemata begraben werden. Alles, was einen dedizierten Administrator erfordert, ist bereits zu schwer.

Wir haben die folgenden nicht-funktionalen Anforderungen:

  • Sollten mehrere Benutzer ermöglichen, gleichzeitig arbeiten daran
  • Jede Änderung sollte
  • Einfacher Export zu XML oder eine andere leicht zu analysieren Format versioniert werden

    :

Bisher haben wir folgende Punkte berücksichtigt

  • Setzen Sie die Tabelle in ein Confluence-Wiki, wo wir sie über WebDav bearbeiten können (und Sperrung und Versionierung erhalten)
  • Verwenden Sie das Confluence-Wiki, da es Tagging, Hierarchie, Metadaten und Links bereitstellt. Die einzige Sorge ist, dass ein Wiki zu frei gestaltet ist und es schwierig sein kann, die Informationen zu extrahieren, sollten wir uns entscheiden, auf ein anderes System zu migrieren.
  • DabbleDB.com - hat alles, was wir brauchen, aber leider sollten die Daten die Firewall nicht verlassen.
  • OneCMDB.org - Ich bin mir nicht sicher, wie einfach es ist, Ad-Hock-Informationen zu erfassen und das Schema zu entwickeln. Würde die Erfahrungen schätzen.
  • Zenoss.com - habe es noch nicht überprüft. Sieht zu konzentriert auf das Netzwerkmanagement aus.
  • Leichte Registrierung (Mule Galaxy, WSO2 Registry) - nicht sicher, ob dies das richtige Werkzeug für den Job ist, obwohl sie eine Menge der Einrichtungen bieten wir (Attribute, Etiketten, Versionen, Lebenszyklen).
  • BMC Atrium - komplexe, Unternehmenspolitik würde eine Reihe von unnötigen Verfahren erfordern. Wenn es keinen großen Vorteil bietet, bleiben wir lieber bei Opensource.
  • Ich interessiere mich für Feedback/Ideen von Menschen, die erfolgreich durch ein ähnliches Unterfangen gegangen sind oder Erfahrung mit einigen der oben genannten Ansätze haben. Außerdem würde ich mich über Ratschläge zu häufigen Fallstricken und Empfehlungen freuen.

    Antwort

    5

    Dies ist maßgeschneidert für ein schönes, einfaches Web-App-Framework. Wählen Sie Ihren bevorzugten Rahmen. Definieren Sie Ihr einfaches Datenmodell für Anwendungen. Migrieren Sie Ihre Tabelle. Fügen Sie Ihre anderen Beziehungen hinzu (abhängig, überholt, teilweise) und entwickeln Sie Ihre Anwendung weiter.

    Jedes gute Web-App-Framework wird eine angenehme Datenzuordnung für diesen einfachen Satz von Daten haben.

    Es ist ein guter Fähigkeiten-Builder. Es kann ein guter Proof of Concept für die Einführung eines neuen Webanwendungs-Frameworks in einer Organisation sein.


    Es ist schwierig, "Infrastruktur" Probleme zu vermeiden. Ein speziell entwickeltes Asset-Management-Tool ist in der Regel groß und komplex. Selbst CalemEAM ist ziemlich komplex.

    Da Sie viele Anwendungen haben, habe ich vermutet, dass Sie bereits ein Webanwendungsframework und einige Fähigkeiten in der Verwendung hatten. Aus Ihrem Kommentar klingt es jedoch so, als gäbe es keine bevorzugte Web-App. Rahmen.

    Das lässt mich vermuten, dass Ihre 100-1000 Apps eine Mischung aus Desktop-Software und Web-Apps sind, die ohne ein konsistentes, einfach zu bedienendes Framework erstellt wurden.

    Ich bin ein Pythonfanatiker, daher kenne ich keines der von Ihnen vorgeschlagenen Webframeworks. Die wichtigste Quelle der technischen Anleitung sollten die Leute sein, die diese 100 bis 1000 Apps erstellt haben - welches Web-Framework benutzen sie? Welche wünschen sie sich? Wenn sie ein neues Projekt starten würden (wie Ihres), welches würden sie verwenden?

    Sie wollen nicht das Kind des Schusters sein - das einzige im Dorf mit bloßen Füßen. Sie möchten, dass Ihre einfache kleine Asset-Management-App (sie hat nur 3 Tabellen) mit den von Ihrer Organisation bevorzugten Tools erstellt wird.

    Okay, mit 10% Java und 50% Vendor-Systemen gibt es kein "bevorzugtes" Web-App-Framework.

    Auswahl 1: Wählen Sie ein Java-basiertes halbwegs vollständiges Framework aus. Verwenden Sie Struts und iBatis als Startpunkt. Erstellen Sie die minimalen Tabellen, die minimalen iBatis-Zuordnungen von POJOs zu den Tabellen. Definieren Sie die minimalen Standardformulare - eine Liste, ein Detail für jede Tabelle. Erstellen Sie das minimale administrative Front-End für den minimalen Satz von Formularen über den minimalen Satz von Tabellen. Schreiben Sie einen minimalen Loader aus Ihrer Tabelle in Ihre Tabellen.

    Dann löschen Sie die Tabelle und nie zurückblicken.

    Auswahl 2: Lerne Python. Benutze Django. Sie definieren das Minimalmodell und verwenden die Django Admin-Schnittstelle. Du bist in etwa 20 Minuten ziemlich fertig. Ernst. Schreiben Sie dann den minimalen Loader aus Ihrer Tabelle in Ihre Tabellen. Dies ist ein harter Verkauf, also verkaufe es nicht, tu es einfach.

    So oder so, löschen Sie die Tabelle und nie zurückblicken.

    Nun muss alles über die webbasierte Datenbank erledigt werden. Keine Ausreden. Fügen Sie alle Berichte zu dieser Schnittstelle hinzu. Erlaube keinen Download in eine Tabelle. Einfaches Hinzufügen, Ändern und Ändern der App

    Sobald Sie das Chaos verwalten können, erhalten Sie Vergebung.

    Sie können dies niemals rechtfertigen - Sie können keinen ROI bei der Organisation nachweisen.

    +0

    Das versuche ich eigentlich zu vermeiden. Ich habe genug auf meinem Teller und ich konzentriere mich lieber auf die Daten und nicht auf die Infrastruktur ... Haben Sie irgendwelche Empfehlungen? Neulich dachte ich an RIFE oder Grails. Oder vielleicht so etwas wie Naked Objects oder JMatter? – ddimitrov

    +0

    Danke für Ihre Einsicht. Tatsächlich sind die meisten dieser Apps serverbasierte Apps - ich würde sagen 10% Java, 50% Vendor-Systeme in verschiedenen Sprachen implementiert und der Rest Perl-Skripte, RPG und Legacy AS400 iSeries. Sie werden von verschiedenen Entitäten gebaut, die kein Interesse daran haben, das Chaos zu organisieren. – ddimitrov

    +1

    Es gibt eine offizielle CMDB und es ist BMC Atrium. Es ist seit mehr als ein paar Jahren in der Implementierungsphase und es ist immer noch nicht nutzbar. Jeder Vorschlag für eine alternative Lösung wird von den großen Jungs abgeschossen. Also, das Problem ist meistens sozial. – ddimitrov

    1

    Es klingt, als ob Sie eine Asset-Datenbank benötigen. Sie können viele im Handel erhältliche finden, aber welcher Spaß ist darin? Wenn Sie MS Access 2007 verwenden, haben sie eine template for building an asset database, die Sie kostenlos herunterladen können.

    +0

    benötigen basierte Multi-User und Server. Oh, und der Server ist Solaris ;-) – ddimitrov

    +0

    Sie können Access als Front-End zu einer echten Datenbank verwenden. Auf diese Weise können Sie alle wichtigen Funktionen wie Vorlagen, Formulare und Berichte verwenden. –

    0

    Sie können vielleicht einen Blick auf COSMOS nehmen, eine Implementierung der CMDBf Spezifikationen