Blog

Tutorial: IT-Basiswissen für DevOps, Big Data, Developer

Nachdem wir im Artikel „Onboarding neuer IT-Mitarbeiter (DevOps, Big Data, Developer)“ die grundlegenden Themen für neue IT-Fachkräfte vorgestellt haben, möchten wir nun anhand eines Tutorials zeigen, wie Wissen zu diesen Themen praktisch angewendet werden kann. Neue IT-Mitarbeiter können die nachfolgenden Tutorialaufgaben Schritt für Schritt durchlaufen und zum Abschluss die Projektdokumentation und die beiden kurzen Präsentationen einem Senior Entwickler vorlegen bzw. präsentieren.

Technische Dokumentation

Technische Dokumentation - Tutorial neuer Mitarbeiter
Zu einem technischen Projekt gehört immer auch eine Dokumentation. Daher sollten einzelne Tätigkeiten während der Durchführung des Tutorials technisch dokumentiert werden. Da in vielen Firmen die Atlassian Werkzeuge „Jira“ bzw. „Confluence“ eingesetzt werden, eignen sich diese Werkzeuge – wenn bereits vorhanden – besonders gut. Im Grunde kann aber jedes Dokumentationssystem verwendet werden. Steht keines zur Verfügung, sollte die Dokumentation im Markdown Standard erfolgen, der auch von Github, Gitlab und ähnlichen Plattformen eingesetzt wird und weit verbreitet ist.

1. Installation von Linux

Im ersten Schritt geht es darum Linux zu installieren. Wenngleich dies direkt auf einem PC oder Server erfolgen kann, empfehlen wir die Verwendung von Virtualbox oder einer ähnlichen Virtualisierungslösung.

Bei der Auswahl der Linux Distributionen sind auf Servern CentOS oder Debian bzw. Ubuntu recht gebräuchlich und sollten für dieses Tutorial ausgewählt werden.

In Virtualbox kann das heruntergeladene DVD-Image von der Distributionswebseite dann verknüpft und die Installation direkt nach dem VM Boot gestartet werden. Das Ziel dieser Teilaufgabe besteht darin die Installation der gewählten Linux Distribution durchzuführen.

2. Installation von SQL Datenbank(en)

Nach erfolgter Installation der zuvor gewählten Linuxdistribution, soll nun eine SQL Datenbank wie z. B. PostgreSQL, MariaDB oder MySQL installiert werden. Dies sollte mit dem Paketmanager der gewählten Linux Distribution (yum oder apt) erfolgen. Wenn gewünscht, kann auch eine andere SQL Datenbank anstelle der oben vorgeschlagenen ausgewählt werden.

Die Installation sollte zur Übung auf der Kommandozeile (BASH) mit den entsprechenden Werkzeugen erfolgen.

Diese Teilaufgabe ist abgeschlossen, wenn die gewünschte Datenbank installiert und konfiguriert wurde, der Dienst betriebsbereit ist und dieser entsprechende Anfragen von der SQL Kommandozeile oder Softwareprogrammen annimmt. User und Passwort der Standard-Datenbank sollten notiert werden.

3. IDE (Eclipse, Netbeans, Jetbrains) installieren

Kein IT-Mitarbeiter – egal welcher Spezialisierungsrichtung – kommt ohne eine leistungsfähigen Editor aus um Shell-Skripte, Konfigurationsdateien und Quellcode zu bearbeiten bzw. zu schreiben.

Für Projekte mit überschaubarer Komplexität (z. B. kleine Webanwendungen) reichen oft einfache Codeeditoren aus wie etwa:

Visual Studio Code
Atom

Große Projekte in Unternehmen setzten jedoch überwiegend viele unterschiedliche Technologien ein (SQL Datenbank, XHTML/CSS/Javascript Frontend, Frontend Frameworks wie Angular oder React, Java Backend, Backend Frameworks wie Jakarta EE oder .NET, diverse Shell Skripte, etc.) und werden daher besser in integrierten Entwicklungsumgebungen (IDE) entwickelt. Eine Beispiele sind:

Eclipse
Netbeans
Jetbrains Tools

Ziel des dritten Schrittes ist die Installation eines geeigneten Codeeditors bzw. einer geeigneten Entwicklungsumgebung auf dem Linux System. Hier steht dem neuen IT-Mitarbeiter frei ob er diese aus den Repositorien der Linux-Distribution oder nach einem Download von der jeweiligen Herstellerwebseite installieren möchte.

4. Projekt aus Github auschecken

Nun soll das Quellcodeversionierungswerkzeug „GIT“ installiert werden – ebenfalls aus der Paketverwaltung der Linux Distribution. Wenn die Installation durchgeführt wurde, kann das nachfolgende Übungsprojekt von Github „ausgecheckt“ oder „geklont“ werden.

https://github.com/openmundi/world.csv

Der Checkout des Projektes kann auf der Kommandozeile mit dem GIT Werkzeug erfolgen oder aber direkt aus einer eventuell zuvor installierten integrierten Entwicklungsumgebung heraus. So gut wie alle IDEs unterstützen GIT von Haus aus weil es so verbreitet ist. Bei dem Projekt handelt es sich um Beispieldateien im CSV Format mit Länderkürzeln.

5. CSV in SQL Datenbank importieren

Nachdem das Projekt mit GIT ausgechecked wurde, besteht die nächste Aufgabe darin, eine der CSV Dateien (z. B. countries(249)_alpha3.csv) mittels eines Skriptes oder Programms in die SQL Datenbank zu importieren. Die Programmiersprache kann bei diesem Schritt an den Vorkenntnissen des IT-Mitarbeiters oder an zukünftigen Firmen bzw. Projekterfordernissen ausgerichtet werden. Wichtig ist, dass die CSV Datenstruktur erhalten bleibt und diese korrekt als eine Tabelle importiert wird.

Häufig verwendete und geeignete Programmiersprachen sind Python oder Java. Das Programm soll zunächst auf die Datenbank zugreifen, die Tabelle erstellen und dann die Daten in die erzeugte Tabelle schreiben.

6. SQL Tabelle sortieren und Daten als JSON Datei wieder ausgeben

Wurde eine CSV Datei erfolgreich in die Datenbank importiert, sollen die Daten im nächsten Schritt nun alphabetisch absteigend sortiert, exportiert und als JSON Datei ins Dateisystem zurückgeschrieben werden. Dies kann als zweites, eigenständiges Programm oder als Zusatzfunktion (etwa durch einen Parameter beim Aufruf) des ersten Programms realisiert werden.

Die Sortierung kann als eigenständiger Zwischenschritt oder als SQL Abfrage vor dem Export durchgeführt werden. Die Aufgabe ist dann abgeschlossen, wenn eine gültige JSON Datei ausgegeben und abgespeichert wurde.

7. MongoDB oder andere NoSQL DB installieren

Nun soll MongoDB oder alternativ eine andere NoSQL Datenbank, welche über eine REST API verfügt, installiert werden. Hierzu können wieder die Paketquellen der Linux Distribution verwendet werden.

8. JSON Datei in die NoSQL Datenbank laden

Anschließend soll die JSON Datei in die NoSQL Datenbank geladen werden. Dazu kann eine Programmiersprache der Wahl (wie beim CSV Import) oder auch ein Werkzeug wie cURL verwendet werden. Wenn man eine Programmiersprache verwendet, sollte man die Bibliothek zur Nutzung der NoSQL Datenbank verwenden. Im Falle von cURL kann die REST-API der NoSQL Datenbank genutzt werden.

9. Per REST Aufruf Zugriffe auf die NoSQL Datenbank durchführen

Ist das JSON Dokument erfolgreich in die NoSQL Datenbank geladen worden, können per cURL auf der Kommandozeile oder mit dem grafischen Tool Postman Aufrufe auf die REST-API der Datenbank erfolgen. Es sollen Abfragen erstellt werden um Daten zu filtern und diese herunterzuladen (z. B. nur die Länderkürzel erhalten, welche ein „a“ enthalten), Daten umgekehrt zu sortieren und im Abschluss daran die Daten wieder aus der NoSQL Datenbank zu löschen.

Mit dem Abschluss dieser Teilaufgabe ist der techniknahe Teil des Tutorials abgeschlossen.

10. Präsentation: TCP/IP – bzw. die Funktionsweise des Internets

Zu dem Thema soll eine ca. 15 minütige Präsentation (ca. 5-10 Folien) erstellt werden, welche die Grundlegenden Prinzipien der Funktionsweise von TCP/IP und des Internets (IP Adressen, Mac Adressen, DNS, Network address translation, Router, Switches, …) erläutert. Diese Präsentation wird vor einem Mitglied des Entwicklungsteams gehalten.

11. Präsentation: Cloud Computing vs. on-premise Rechenzentrum

Eine ähnliche Form soll eine zweite Präsentation (ca. 15 Minuten, 5-10 Slides) haben, welche die Themen Funktionsweise von Cloud und on-premise Rechenzentren abdeckt. Welche Unterschiede, Risiken und Chancen bestehen jeweils? Diese Präsentation wird ebenfalls vor einem Mitglied des Entwicklungsteams gehalten.

Wir hoffen neuen IT-Mitarbeitern ein lehrreiches Tutorial an die Hand gegeben zu haben. Alle hier verwendeten Technologien und Werkzeuge haben hohe Relevanz für den Arbeitsalltag fast aller Entwickler, DevOps Spezialisten, Data Engineers und Data Scientists.

Im 3. Teil der Serie möchten wir dann auf das Onboarding neuer Mitarbeiter im Bereich Data Engineering eingehen. In diesem Bereich werden ETL Konzepte, OLTP vs. OLAP Datenbanken sowie das Apache Hadoop Framework vorgestellt.

Auf Anfrage (Blogkommentar, E-Mail an info@skillbyte.de oder telefonisch unter 02234 – 25 09 040) geben wir auch Schulungsunterlagen heraus und führen Coachings für Ihre Mitarbeiter durch.

Maurice KnoppTutorial: IT-Basiswissen für DevOps, Big Data, Developer

Related Posts