Planung
Um das Projekt so erfolgreich wie möglich umzusetzen und auch eine funktionierende Cloud haben, muss unser Vorgehen zuerst geplant werden. Dies ist für den Erfolg unseres Projekts essentiell. Daher Müssen folgenden Punkte zuerst geplant werden und entscheidende Kriterien erstellt werden. Dies kommt dann beispielsweise bei der Auswahl der Software zum einsatz, aber auch für die Technologien die eingesetzt werden.
Software
Um unser Ziel, mit ausschliesslich Open Source Software zu arbeiten, zu erreichen. Müssen wir als erstes mögliche Software, welche den Zweck unsere Cloud erfüllen, finden. Dies sind grob, folgende Software:
- Hypervisor für das erstellen von virtuellen Computern
- Software für Bestellungen, worüber Kunden ihr Produkt bestellen können
- Software, welche nach einer Bestellen direkt das gewünschte Produkt des Kunden erstellt (auf dem Hypervisor)
- CRM Software, für das verwalten der Kunden, Rechnungen, etc.
Das schwierige ist in erster Linie die passenden Software zu finden. Dies erfordert Recherche, welche sehr exakt und speziefisch sein muss. Die Software muss aber auch kompatibel mit unserer bestehenden Software sein, aber auch erweiterbar sein, um das Projekt weiterzuführen.
Natürlich muss aber auch unsere physischen Infrastruktur kompatibel sein. Die Hardware Eigenschaften unserer Infrastruktur können nicht überschritten werden. Zudem sind nicht alle Software mit den verschieden Umsetzungsmöglichkeiten kompatibel. Nicht jede Software kann auf die gleiche Weise eingesetzt werden. Gewisse Software müssen direkt auf dem Betriebsystem installiert werden, andere können mithilfe der Containertechnologie genutzt werden. Dies macht die ganze Evaluation umso schwieriger, da dies je nach Installations Art, mehr oder weniger Ressourcen hat, wie auch andere Anforderungen hat. Beispielsweise, fordern gewisse Sotware eine Datenbank oder andere zusätzliche Dienste.
Auch spielt die Nutzerfreundlichkeit auch eine Rolle, daher entstehen folgende Anforderungen an die Software:
- Nutzerfreundlichkeit
- Skalierbarkeit
- Kompatibilität mit anderer Software
- Kompatibel mit bestehender physischer Infrastruktur
- Verwedete Technologie
Technologien
Die Cloud soll verlässlich und sicher unseren Kunden zur Verfügung stehen. Daher ist die eingesetzte Technologie ein entscheindender Punkt. Einerseits verwenden wir 2 physische Server, um eine Redundanz sicherzustellen. Damit dies aber auch für unsere Dienst sichergestellt ist, müssen wir auch hier die Sicherheit und Stabilität sicherstellen.
Damit dies erfüllt wird, verwenden wir die Containertechnologie mithilfe von Docker. Docker bietet uns die Möglichkeit Dienste wie z.B. einen Webserver oder Datenbank sicher in einem Container zur Verfüfugung zu stellen. Der grösse Teil der Open Source Software ist mit Docker kompatibel. Der Vorteil ist, wir können diese Dienste dann einfach und stabil skalieren. Auch ist durch die Verwendung von Docker eine einheitliche Lösung vorhanden, welches uns bei der Administration hilft.
Das nicht vorhandene Wissen können wir uns gut selber erarbeiten, da Docker eine weit verbreitete und eingesetzte Technologie ist. Daher wird dies auch durch die meisten Software unterstützt. Unsere physische ist somit auch mit Docker kompatibel, da Docker auf jedem Computer/Server installiert und vollumfänglich genutzt werden kann.
Daraus entstehen folgende Vorteile:
- Leichtes Verschieben von Diensten: Mit Docker können Dienste, inkl. Dateien, etc., in Container verpackt werden. Diese Container können überall hin verschoben werden.
- Immer Gleiche Umgebung für Dienste: Egal, wo die Dienste laufen, sie benutzen immer die gleiche Umgebung. Dadurch funktionieren sie auf verschiedenen Systemen.
- Schnelles Starten von Diensten: Dienste in Containern können schnell gestartet werden, wodurch man Veränderungen schnell testen kann.
- *Mehrere Kopien von Diensten: Bei höher Auslastung der Dienste, können schnell mehrere Kopien davon erstellt werden.
- *Sichere Abschottung von Diensten: Dienste sind in Containern gut abgeschottet, was Sicherheit bietet.
- Ressourcen Nutzung: Dienste nutzen nur wenig Ressourcen und können simultan auf mehreren Systemen gleichzeitig laufen.
Sicherheit steht heutzutage an erster Stellen, womit mit Docker die richtige Grundlage vorhanden ist. Wir können somit die Dienste für die Nutzung unserer Cloud sicherstellen und mit gutem Gewissen unseren Kunden zur Nutzung freigeben.