Zum Inhalt springen

Projektantrag: Automatisierte Installation und Konfiguration von Linux-basierten, dedizierten Web- und Datenbankservern unter Verwendung von Ansible


Han_Trio

Empfohlene Beiträge

Guten Abend,

demnächst (Stichtag: 15.01.) werde ich meinen Projektantrag einreichen und würde mich über ein wenig Feedback freuen.

Ich denke, der Antrag ist bereits recht final, aber vielleicht fällt dem Einen oder der Anderen ja noch etwas ein / auf :)

 

Ausbildungsberuf: FISI

Titel: Automatisierte Installation und Konfiguration von Linux-basierten, dedizierten Web- und Datenbankservern unter Verwendung von Ansible

 

Problembeschreibung (Ist-Zustand)

Die XXX GmbH bietet in ihrem Produktportfolio u.a. dedizierte, gemanagete Server an, die vom Endkunden für diverse Zwecke eingesetzt werden, verbreitet als Web- und ggf. -Datenbankserver.
Die Einrichtung und Konfiguration eines solchen Servers ist eine vielschichtige und komplexe Aufgabe, bei der es Faktoren aus unterschiedlichen Bereichen zu berücksichtigen gilt.

"Per Hand" ausgeführt bedeutet dies einen nicht unerheblichen zeitlichen Aufwand, zusätzlich ist im betrieblichen Umfeld aktuell keine einheitliche Vorgehensweise oder gesamtinhaltliche Minimal-Vorgabe vorhanden. Entsprechend werden Angebote zwar grundsätzlich standardisiert generiert (siehe auch Punkt 3, techn. Umfeld), jedoch fehlt teilweise die notwendige Tiefe und Explizität.

 

 Ziel des Projektes (Soll-Zustand).

Abgesehen von der zeitlichen Ersparnis bei Verwendung einer standardisierten und automatisierten Installation soll v.a. sichergestellt werden, dass ein einheitliches Basis-Produkt bereit steht, welches in einem Angebot an Kunden Verwendung finden kann. Ansible als etabliertes OpenSource-Automatisierungswerkzeug wird hierfür als geeignet angesehen.
Es soll klar definiert sein, unter welchen Vorgaben die Einrichtung erfolgt und welche Komponenten sich minimal auf dem Server wiederfinden. Die Möglichkeit einer ergänzenden, individuell abgestimmten Konfiguration soll jedoch zugleich erhalten bleiben.
Weiterhin vereinfacht diese Vorgehensweise der Vereinheitlichung ein ggf. nötiges späteres Troubleshooting, da in einem klar definierten System die Suche nach Fehlern enger und fokussierter
gestaltet werden kann.

Ziel des Projektes soll es sein, ein Ansible-Skript bzw. -Playbook zu erstellen, mit dessen Verwendung die erwähnten Gütekriterien einer vorher definierten Vollständigkeit sowie Nachvollziehbarkeit erfüllt sind.

Anm.: Es ist davon auszugehen, dass eine Automatisierung nicht vollumfänglich möglich sein wird in dem Sinne, dass auch "extern", also in anderen Systemen als dem jew. Server selber, Konfigurationen vorgenommen werden müssen. Dies soll jedoch nicht Teil dieses Projektes sein.

 

Beschreibung des technischen Umfeldes / Systemumgebung

Betriebliche Vorgaben:
- CentOS Betriebssystem
- Apache (httpd)
- MySQL (MariaDB)
- PHP (hier: Multi-PHP ab Version 7.1)
- Weiterhin sollen die generierten Maschinen in einer LiveConfig-Umgebung eingebunden sein. Diese Software ermöglicht via Webinterface ein zentrales Management sowohl von Admin- als auch von Kundenseite aus.

Es sind div. weitere (Software)Komponenten bzw. Pakete zu berücksichtigen (FTP, Security-Aspekte, Monitoring, etc) - und diese wiederum erfordern eine teils aufwändige Konfiguration, da betriebsspezifische Vorgaben berücksichtigt werden müssen und eine Umgebung geschaffen werden soll, die einem möglchst breiten Spektrum an Kundenanforderungen genügt.

Die beiden vorherigen Schritte bilden die Basis für das Ansible-Playbook, welches auf einer VM (Virtuelle Maschine) getestet wird.

 

Projektphasen in Stunden (max. 35 Std.):

1    Generelle Planung und Vorbereitung        2h
        - (Software)komponenten definieren
        - IP für spätere Testmaschine beantragen
        - Testmaschine einrichten (Basis Konfig)
2    Zusammenstellung erforderlicher Pakete        3h
        - vorgegebene
        - zusätzliche
3    Evaluation abweichender Konfigurationen        6h
4    Anlegen eines Ansible Playbooks            10h
5    Testen des Playbooks ("on the fly")               4h
        - Ausrollen auf Test-VM
6    Fehlersuche und Anpassung                4h
7    Dokumentation (“on the fly”)            6h

 

Darstellung der eigenen Leistung und gegebenenfalls die Einordnung in das Gesamtprojekt:

1    Zusammenstellung sämtlicher (zusätzlich zu den o.a. Vorgaben) benötigter Software / Pakete in einem sinnvollen Gesamtkontext

2    Evaluation abweichender Konfigurationen der unter 1) zusammengestellten Pakete

3    Anlegen und Testen eines Ansible Playbooks - auf Basis von 1) + 2)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe es zwar nur überflogen, aber du solltest dich nicht von Anfang an auf ein Automatisierungswerkzeug festlegen im Antrag, da du dir selber dadurch die Möglichkeit nimmst, erst einmal ein entsprechendes Tool zu evaluieren. Dementsprechend sollte dann auch mindestens Punkt 4 (Anlegen eines Ansible Playbooks) und Punkt 5 (Testen des Playbooks ("on the fly"))  entsprechend offener definiert werden und möglichst noch eine Evaluierung des Automatisierungswerkzeugs hinzugefügt werden.

So wie du es aktuell beschreibst, ist es imho reine Installation und Konfiguration. Du solltest dir jedoch Wahlmöglichkeiten / Entscheidungen und entsprechende Begründungen offen halten im Projekt, da diese ebenfalls einen Bestandteil des Projektes darstellen sollen, da du auch deine Kompetenz zeigen sollst, Dinge selbständig zu entscheiden / zu evaluieren.

Zum Punkt 6 (Fehlersuche und Anpassung) solltest du mit deiner IHK / deinem Ausbilder / deinem Lehrer einmal Rücksprache halten, wie Pufferzeiten bei deiner IHK gehandhabt werden, ob erwünscht, gewollt oder nicht gewünscht.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 51 Minuten schrieb Crash2001:

Ich habe es zwar nur überflogen, aber du solltest dich nicht von Anfang an auf ein Automatisierungswerkzeug festlegen im Antrag, da du dir selber dadurch die Möglichkeit nimmst, erst einmal ein entsprechendes Tool zu evaluieren. Dementsprechend sollte dann auch mindestens Punkt 4 (Anlegen eines Ansible Playbooks) und Punkt 5 (Testen des Playbooks ("on the fly"))  entsprechend offener definiert werden und möglichst noch eine Evaluierung des Automatisierungswerkzeugs hinzugefügt werden.

Dem stimme ich zu.

@Han_Trio Der Antrag ist viel zu detailiert. Ein Problem ist erkennbar - und nun ist die Aufgabe einen Weg zur Lösung im Projekt zu finden. Die Evaluation der Software (Bewertung[matrizen], Kaufentscheidung, ...) mit anschließender Umsetzung. Technisch wirst du genug Inhaltsstoff haben (SELinux, Firewall, ...), aber es fehlt noch die Wirtschaftlichkeit (sprich: Evaluation des Projektes).

Die Projektphasen sind ziemlich konkret. Ich würde diese viel allgemeiner schreiben. Ansible auf dem Titel streichen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es ist auch nicht auszuschliessen dass der Prüfungsauschuss sowas nicht korrigieren kann ... falls da niemand von Ansible&Co Ahnung hat. Das Thema ist sehr speziell. Ansonsten fehlen mir da auch qualifizierte Entscheidungen für eine Zulassung.

Wie lautet die Frage wenn Ansible die Lösung ist ? Was gibts für Alternativen ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 18 Stunden schrieb Han_Trio:

Automatisierte Installation und Konfiguration von Linux-basierten, dedizierten Web- und Datenbankservern unter Verwendung von Ansible

Mir ist nicht ganz klar wie das zusammenpasst. Wie installierst du denn mit Ansible ein Linux?

10 Stunden an nem Playbook schreiben scheint etwas viel und erst recht ein 4 Stunden langes ausrollen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ui ich seh schon, ich muss wohl doch nochmal ans Reißbrett.. :P

vor einer Stunde schrieb _n4p_:

Mir ist nicht ganz klar wie das zusammenpasst. Wie installierst du denn mit Ansible ein Linux?

Hintergrund wäre, dass die Basis-Installation vorher jew. von Hand erledigt wird, also das nackte CentOS mit IP-Vergabe, Hostname + ggf. Speicherplatzaufteilung - eben alles, was individuell ist. Der "ganze Rest" soll möglichst gleich sein, ab da käme dann das Ansible ins Spiel.

An der Stelle ist das Wort Installation vielleicht tatsächlich etwas irreführend, danke für den Hinweis.

vor 4 Stunden schrieb charmanta:

Wie lautet die Frage wenn Ansible die Lösung ist ? Was gibts für Alternativen ?

Ich muss dazu sagen, dass ich diese Installation "von Hand" bereits ein paar Male durchgeführt habe, und das war.. nicht schön. Andauernd hatte irgendwas gefehlt, war nicht richtig eingestellt, dann hat man es wieder drei Monate nicht gemacht, und zack! war die Hälfte wieder weg, usw.

Die Entscheidung, Ansible zu verwenden, fiel hauptsächlich, weil ich damit bereits erste Erfahrungen mit sammeln konnte. Ich weiß grundsätzlich um weitere Möglichkeiten, also Puppet, Chef etc., nur müsste ich da von Null anfangen. Ob das so gut ist..

 

Weiterhin denke ich, zwei grundlegende Probleme herausgelesen zu haben:

- Ich habe bereits selber quasi eine Lösung halb vorgegeben, damit fallen Entscheidungsfindungsprozesse weg, die anscheinend dazu gehören (?)

- Thema Wirtschaftlichkeit: Damit tue ich mich tatsächlich etwas schwer.. ;) Hauptargument wäre natürlich die Zeitersparnis, umgerechnet auf ersparten Arbeitsstundenlohn o.Ä.

 

Gut, dann kastrier ich das Ganze mal etwas runter und versuche, es allgemeiner zu formulieren.

Ich bedanke mich bis hierher schonmal für den Input, das hat geholfen!

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb Han_Trio:

IP-Vergabe, Hostname + ggf. Speicherplatzaufteilung - eben alles, was individuell ist.

dafür gibt es Templates (jinja) und roles. Wenn ihr das ganze als VMs zur Verfügung stellt, könnte man die eigentliche Installation mit beispielsweise Vagrant erledigen.

 

vor einer Stunde schrieb Han_Trio:

Ich weiß grundsätzlich um weitere Möglichkeiten, also Puppet, Chef etc., nur müsste ich da von Null anfangen. Ob das so gut ist.

Im Projekt zu sagen: "ich benutze dafür Ansible, weil ich damit schon gearbeitet habe" und andere Möglichkeiten und eventuell auch deren Schwächen zu nennen, is völlig akzeptabel. Es schon im Antrag zu schreiben ist eher schlecht. Und sollte man während des Projektes feststellen, das Problem X mit Puppet besser zu lösen wäre und deswegen doch Puppet nutzt, wäre das Projekt "X mit Ansible" eigentlich gescheitert.

Zeitersparnis, geringer Supportaufwand und schnellere Fehleranalyse und Behebung sind gute Argumente für die Wirtschaftlichkeit ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 16 Stunden schrieb Han_Trio:

- Ich habe bereits selber quasi eine Lösung halb vorgegeben, damit fallen Entscheidungsfindungsprozesse weg, die anscheinend dazu gehören (?)

Richtig! FiSi ist auch ein sog. kaufmännischer (+technischer) Beruf. Es gehört dazu, dass man in Projekten Evaluationen betreibt.

 

vor 15 Stunden schrieb _n4p_:

Zeitersparnis, geringer Supportaufwand und schnellere Fehleranalyse und Behebung sind gute Argumente für die Wirtschaftlichkeit ;)

Zeit- und (menschliche) Ressourcenersparnis gehen bei sowas Hand in Hand. Wenn eine Maschine einen großen Teil von wiederholenden Aufgaben übernehmen kann, kann man den Mitarbeiter effektiv für andere Aufgaben einsetzen.

Als Zusatz für die Argumente.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hiho,

 

Hier mal die Version 2:

Ich habe mich bemüht, das Ganze weniger konkret zu gestalten, somit sollten (ausreichend?) Entscheidungsfindungsprozesse enthalten sein (Evaluation abweichender Konfigs, Auswahl eines Tools). Das Thema Wirtschaftlichkeit wird (so hoffe ich) in Punkt 2 ersichtlich (generelle Zeitersparnis durch Automatisierung, erleichterte / schnellere Fehleranalyse = geringerer Supportaufwand).

Einzig mit der zeitlichen Planung bin ich irgendwie noch nicht ganz zufrieden.. naja, here goes nothing ;)

 

Ausbildungsberuf: FISI

Projektbezeichnung: Automatisierte Konfiguration von Linux-basierten, dedizierten Web- und Datenbank-Servern


Projektbeschreibung

1    Problembeschreibung (Ist-Zustand) / Aus welchen Gründen wurde das Projekt veranlasst?

Die XXX GmbH bietet in ihrem Produktportfolio u.a. dedizierte, gemanagete Server an, die vom Endkunden für diverse Zwecke eingesetzt werden, verbreitet als Web- und ggf. -Datenbankserver.
Die Einrichtung und Bereitstellung eines solchen Servers ist eine vielschichtige und komplexe Aufgabe, bei der es Faktoren aus unterschiedlichen Bereichen zu berücksichtigen gilt.

"Per Hand" ausgeführt bedeutet dies einen nicht unerheblichen zeitlichen Aufwand, zusätzlich ist aktuell keine einheitliche Vorgehensweise oder gesamtinhaltliche Minimal-Vorgabe vorhanden. Entsprechend werden Angebote zwar grundsätzlich standardisiert generiert (siehe auch Punkt 3, techn. Umfeld), jedoch fehlt teilweise die notwendige (technische) Tiefe und Explizität.

2    Ziel des Projektes (Soll-Zustand)

Dieses Projekt umfasst die Evaluation von Möglichkeiten der Automatisierung sowie deren Implementierung: Es soll klar definiert sein, unter welchen Vorgaben die Einrichtung eines Servers erfolgt und welche Komponenten sich minimal darauf wiederfinden. Es sollen einerseits betriebsspezifische Vorgaben berücksichtigt und andererseits eine Umgebung geschaffen werden, die einem möglichst breiten Spektrum an Kundenanforderungen genügt.
Abgesehen von der grundsätzlichen zeitlichen Ersparnis bei Verwendung einer standardisierten und automatisierten Konfiguration soll so sichergestellt werden, dass ein einheitliches Basis-Produkt bereit steht, welches in einem Angebot an Kunden Verwendung finden kann. Weiterhin soll diese Vorgehensweise der Vereinheitlichung ein später ggf. nötiges Troubleshooting erleichtern, da in einem klar definierten System die Suche nach Fehlern enger und fokussierter gestaltet werden kann.

3    Beschreibung des technischen Umfeldes / Systemumgebung - zB OS, DB-System, Programmiersprachen, Entwicklungsumgebung, etc

Betrieblich vorgegeben ist ein klassischer LAMP-stack:
- Linux-Betriebssystem
- Apache    (Webserver)
- MySQL        (Datenbankverwaltung)
- PHP

Es sind div. weitere (Software)Komponenten bzw. Pakete zu berücksichtigen (FTP, Security-Aspekte, Monitoring, etc.), und diese wiederum erfordern eine teils aufwändige Konfiguration.
Speziell sollen die generierten Maschinen in einer LiveConfig-Umgebung einbindbar sein (diese Software ermöglicht via Webinterface ein zentrales Management sowoh l von Administrator- als auch von Kundenseite aus).

4    Projektphasen in Stunden (max. 35 Std.)

4.1    Generelle Planung und Vorbereitung                                2h
        Installation von 3 Test-Servern (Basis-Konfiguration)
4.2    Erstellung eines Anforderungskataloges                                6h
        Zusammenstellung (zusätzlich) benötigter Softwarekomponenten
        Evaluation abweichender Konfigurationen
        u.a. Berücksichtigung betriebsspezifischer Vorgaben
4.3    Sichtung und Auswahl eines geeigneten Automatisierungs-Tools                    2h
4.4    Implementierung                                            10h
        Übertragung der Anforderungen in Spezifika bzw. Syntax des Automatisierungstools
4.5    Test und Anpassung                                        7h
        Fehleranalyse / Vornahme von Modifikationen, falls nötig
        Validierung der erfolgreichen Implementierung
4.6    Dokumentation                                            8h

5    Darstellung der eigenen Leistung und gegebenenfalls die Einordnung in das Gesamtprojekt

5.1    Zusammenstellung sämtlicher benötigter Software / Pakete in einem sinnvollen Gesamtkontext
5.2    Evaluation abweichender Konfigurationen der unter 1) zusammengestellten Pakete
5.3    Sichtung und Auswahl eines geeigneten Automatisierungs-Tools
5.4    Implementierung des o.a. Tools

Link zu diesem Kommentar
Auf anderen Seiten teilen

Klingt auf jeden Fall schon mal besser, jedoch meiner Meinung nach nun von den Anforderungen her vielleicht zu offen / ungenau.

Existiert schon ein Tool, um die Standardinstallation durchzuführen, oder soll dies auch noch Bestandteil des Projektes sein? Die Installation von den 3 Basis-Konfigurationen würde ich, falls da schon eine Automatisierung für existiert eventuell aus dem Projekt herausnehmen, da es dir eigentlich nur Zeit klaut für den Rest. Diese kannst du ja durchaus schon als gegeben voraussetzen für dein Projekt, da dein Projekt ja eigentlich die weitere automatisierte Installation von Zusatzsoftware sein soll, wenn ich das richtig sehe.

Bei 1. Meinst du "vorbereitet" als Web- und ggf. -Datenbankserver? oder "verbreitet", wie geschrieben?

Bei 4.2 Evaluation abweichender Konfigurationen klingt irgendwie seltsam.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da schließe ich mich @Crash2001 an. Das ist schon deutlich besser geworden. Es fehlt noch der ein oder andere Feinschliff, dann sollte es soweit passen.

Ebenso frage ich mich auch, was du mit "Evaluation abweichender Konfiguration" ( 4.2 ) sagen möchtest. Was genau möchtest fachlich bewerten mit deinen "abweichenden Konfigurationen"?

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Kurz die Fragen:

vor einer Stunde schrieb Crash2001:

Bei 1. Meinst du "vorbereitet" als Web- und ggf. -Datenbankserver? oder "verbreitet", wie geschrieben?

"Verbreitet" ;) da es hier tatsächlich recht häufig ist.

vor 32 Minuten schrieb ErB777:

was du mit "Evaluation abweichender Konfiguration" ( 4.2 ) sagen möchtest

Damit ist gemeint, Konfig-Dateien anzupassen, also reine Texteinträge, die jedoch standardmäßig, also direkt nach einer Installation, ggf. anders lauten.

Beispiel: Wenn ich SSH-Zugänge einrichte, möchte ich einen (root) remote Zugriff ausschließlich per key erlauben. Dazu muss ein entspr. Eintrag in der sshd_config vorhanden sein: "PermitRootLogin without-password". Und selbst wenn das standardmäßig so eingestellt sein sollte, muss ich es trotzdem überprüfen. Oder auch passive port ranges für FTP.

Insofern, was fachliche Bewertung betrifft, wären Funktionalität + auch Sicherheitsaspekte zu nennen.

vor 1 Stunde schrieb Crash2001:

Existiert schon ein Tool, um die Standardinstallation durchzuführen

Nein, bzw. nicht dass ich wüsste. Es wurde hier im Thread erwähnt, dass man für so etwas Vagrant verwenden kann, aber das hab ich persönlich noch nie verwendet, und ich habe ehrlich gesagt ein wenig "Angst", dass ich mich übernehme. falls ich das auch noch mit reinnehme.

Alternativ könnte man dies am Schluss als eine Art Aussicht mit reinnehmen, also was nach Abschluss des Projektes noch weiterführend möglich ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also meine erste Frage an Stelle eines Prüfers wäre dann aber, warum du ein System erstellst, um bestimmte Konfigurationen zu replizieren für mehrere Standardszenarien, jedoch noch gar kein Tool vorhanden ist, um überhaupt eine Grundinstallation zu bewerkstelligen. Das macht doch keinen Sinn. Man braucht doch erst die Grundinstallation und dann kann man es anpassen... oder habe ich dich da nun falsch verstanden?

Mir ist noch immer nicht so ganz klar, woraus dein Projekt nun eigentlich besteht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 4 Stunden schrieb Crash2001:

Man braucht doch erst die Grundinstallation und dann kann man es anpassen... oder habe ich dich da nun falsch verstanden?

Mir ist noch immer nicht so ganz klar, woraus dein Projekt nun eigentlich besteht.

Kurz gesagt: Ich möchte aus einem nackten OS einen funktionsfähigen Server machen, und das Ganze automatisieren.

 

Dazu muss ich vielleicht kurz die Vorgeschichte erläutern ;)

Also wir haben hier einen VMWare-Cluster (der von einer eigenen "Mini-Abteilung" betreut wird, welche die Grundinstallation vornimmt), wo die ganzen Dinger drin laufen. Eines schönen Tages dachte man sich, der Azubi sei bereit dazu, auch mal einen Server komplett selber aufzusetzen und sagte mir: "Hier, wir haben dir mal ein Basis-System gebaut, mach da mal nen Webserver draus für Kunde X."

Administrativ hatte ich da schon ein bisschen Erfahrung, nur aufsetzen war eben noch quasi neu. Also hab ich mich auf den Arsch gesetzt, erlernt was so ein Web- / DB-Server alles benötigt und hab nach und nach Komponenten draufgetan. Das hat am Anfang nur semi-gut funktioniert, wurde aber schrittweise besser, bis - nach mehreren Versuchen - tatsächlich etwas halbwegs Produktives dabei rumkam.

Das Ganze ist natürlich zumindest teilweise unter Anleitung geschehen, was mich aber immer gestört hat: Es gab nie eine umfassende Vorgabe, ich habe viele Konfigurationen immer nur halb ausprobiert, und als ich dann mal gefragt habe, wie die Anderen das denn machen, kam genau das dabei heraus: "Och ja, das macht jeder so ein bisschen nach seinen eigenen Vorstellungen". Meh.

Also möchte ich nun meine Erfahrungen zusammentragen, das beste davon rauspicken und zum Schluss - im Idealfall - nur noch aufs Knöpfchen drücken müssen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Na dann.

Das kann man zwar prinzipiell mit Anisible oder ähnlichem erledigen, das würde ich aber hier nicht unbedingt so machen.

VMWare kann für sowas Templates. Dabei installiert man in der VM alles was man braucht und macht die Grundkonfiguration. Ist man damit fertig konvertiert man die VM in ein Template. Braucht man dann eine neue VM kann man die aus dem Template erzeugen. Und da wäre dann die Frage was man noch sinnvolles mit Ansible machen könnte.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

Zur abschließenden Ergänzung:

Der Antrag ist mittlerweile genehmigt, allerdings war zwischendurch eine Umformulierung ("Neuvorlage mit Auflage") erforderlich.

Ich packe hier die Version rein, die letztendlich genehmigt wurde - vielleicht mag es später Jemandem nützen :)

 

Automatisierte Einrichtung und Konfiguration von Linux-basierten, dedizierten Web- und Datenbankservern


1. Problembeschreibung (Ist-Zustand) / Aus welchen Gründen wurde das Projekt veranlasst?

Die XXX GmbH bietet in ihrem Produktportfolio u.a. dedizierte, gemanagete Server an, die vom Endkunden für diverse Zwecke eingesetzt werden, verbreitet als Web- und ggf. Datenbankserver.
Die Einrichtung und Konfiguration eines solchen Servers ist eine vielschichtige und komplexe Aufgabe, bei der es Faktoren aus unterschiedlichen Bereichen zu berücksichtigen gilt.

Gegenwärtig werden solche Server manuell installiert, ein einheitlicher Installationsstandard existiert nicht.
Dies stellt einen nicht unerheblichen zeitlichen Aufwand dar, zusätzlich mangelt es für Kunden generierten Angeboten an (technischer) Tiefe und Explizität.


2. Ziel des Projektes (Soll-Zustand)

Ziel des Projektes ist die Ausarbeitung einer allgemeinen Software- und Konfigurationsvorlage für Web- und Datenbankserver, als Basis für produktive Kundenserver.

Die Installation von entspr. Servern unter Verwendung dieser Vorlage soll automatisiert geschehen - ein entspr. Tool soll gesichtet und implementiert werden.

Hierdurch sollen der Arbeitsaufwand für das Deployment sowie mögliche Anwenderfehler minimiert werden, zusätzlich erleichtern einheitlich verwendete Standards eine spätere Fehlersuche in Produktivsystemen.


3. Beschreibung des technischen Umfeldes / Systemumgebung – z. B.: Betriebssystem, Datenbanksystem, Programmiersprachen, Entwicklungsumgebung.

Betrieblich vorgegeben ist als Basis ein klassischer LAMP-Stack: Linux-Betriebssystem, Apache (Webserver), MySQL (Datenbank-Verwaltung), PHP.
Ein Test-Szenario soll in einer VM (Virtuelle Maschine)-Umgebung etabliert werden.

Es sind div. weitere (Software)komponenten zu berücksichtigen: Security-Aspekte (z.B. Firewall-Konfiguration, Regelung von Benutzerzugriffen), FTP, Monitoring, eine MultiPHP-Umgebung, etc.

Die letztendliche Einrichtung und Konfiguration findet automatisiert statt, unter Verwendung eines entspr. Tools.


4. Projektphasen in Stunden (max. 35 Std.):

1   Erstellung eines Anforderungskataloges                         6h
      Zusammenstellung (zusätzlich) benötigter Softwarekomponenten
      Evaluation spezifischer Konfigurationen
      u.a. Berücksichtigung betrieblicher Vorgaben
      
2   Bereitstellung von Testservern                                 2h
      Basis-Installation (Minimal-Konfiguration

3   Sichtung und Auswahl eines geeigneten Automatisierungs-Tools   2h

4   Implementierung
      Übertragung der Anforderungen in Spezifika bzw. Syntax des Tools   10h
      (schrittweise Abarbeitung des Anforderungskataloges)

5   Test und Anpassung
      Anpassung (auch in Teilen) des Tools auf Testservern         7h
      Fehleranalyse; Vornahme von Modifikationen, falls nötig
      Validierung der erfolgreichen Implementierung

6   Dokumentation                                                  8h


5. Darstellung der eigenen Leistung und gegebenenfalls die Einordnung in das Gesamtprojekt:

1	Anforderungskatalog: Zusammenstellung sämtlicher benötigter Software / Pakete in einem sinnvollen Gesamtkontext

2	Evaluation spezifischer Konfigurationen der unter 1) zusammengestellten Pakete

3	Sichtung, Bewertung und Auswahl eines geeigneten Automatisierungs-Tools

4	Implementierung des Tools: automatisierte Bereitstellung einer standardisierten Server-Vorlage
	inkl. Test-Szenario, Fehleranalyse sowie Dokumentation

################################################################################################

Abschließend noch zwei Dinge:

Wer hier Inspiration sucht, dem kann ich den wichtigsten Hinweis ans Herz legen, den ich im Laufe der Formulierung dieses Antrags erhalten habe:
Es geht NICHT darum, ein "schönes" Projektthema zu präsentieren, oder auch nur eine gute Idee, die man hat, ganz am Anfang muss das Problem stehen. Anders formuliert: Die Reihenfolge, die einzuhalten ist, ist folgende:

1   Problem X existiert, dieses wird benannt.

2   Ein Lösungsansatz wird präsentiert.

3   Dieser Ansatz beinhaltet noch KEINE allzu tief gehenden Details - diese entstehen im Verlauf des Projekts (damit demonstriert man die Fähigkeit, Entscheidungen zu treffen)

 

Und zu guter Letzt: Vielen herzlichen Dank an alle, die sich hier beteiligt und das Ganze in die richtige Richtung geschubst hatten ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 4.3.2019 um 18:53 schrieb Han_Trio:

Ich packe hier die Version rein, die letztendlich genehmigt wurde - vielleicht mag es später Jemandem nützen

Danke. Liest sich auch echt gut ? War die Genehmigung jetzt auch noch mit Auflagen? Falls ja welche?

Es wäre auch fantastisch wenn du die fertige Arbeit auch hier ein stellst ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Auflage war:

" Es fehlt die klare Abgrenzung zwischen IST und SOLL-Konzept. Die Vorteile bzw. Zielkonfiguration ist nicht erkennbar.
Klare Zieldefinition und die Unterschiede detaillierter darstellen." (allerdings bezog sich das auf eine nochmal leicht angepasste Zwischenversion, die ich hier nicht extra reingestellt hatte).

Die als Letztes vorgestellte Version ist dann ohne weitere Auflagen genehmigt worden.

Ich habe vor, die fertige Arbeit hier auch reinzustellen. Ist ja das Mindeste, was ich zurückgeben kann :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...