Seite wählen

NETWAYS Blog

Azubis erzählen: Juni 2015 Marius

This entry is part 10 of 17 in the series Azubis erzählen

Name: Marius Gebert
Ausbildungsberuf: Fachinformatiker für Systemintegration
Abteilung: aktuell Support
Lehrjahr: 2

„Hol‘ mir mal nen Kaffee!“, ist denke ich die Aussage schlechthin, wenn man an den Aufgabenbereich eines Auszubildenden denkt. Welche Aufgaben man jedoch tatsächlich bekommt, hat hiermit nichts zu tun.
Mein Aufgabengebiet hier bei NETWAYS ist nach wie vor der Kundensupport.
Jedoch möchte ich in diesem Artikel nicht erneut darüber reden, welchen Spaß man hierbei hat und welche Fähigkeiten und welches Wissen man sich hier aneignet, sondern über einen speziellen Auftrag, der mit zugeteilt wurde.
Es wurde mir ein neuer Vertragskunde übertragen, den ich in Eigenregie betreuen sollte.
Hier wurden in den ersten Gesprächen bereits gravierende Mängel an dessen System offengelegt, die es zu beheben galt.
Um euch ein Bild hiervon zu geben, möchte ich kurz beschereiben, worum es sich handelte:
Es war ein Monitoring-System installiert, das nicht alarmierte, das Konfigurationen nicht exportierte, bei dem die Icinga und die Lconf Version nicht kompatibel waren und bei dem keine Checks ausgeführt wurden oder sogar komplett fehlten, was dafür sorgte, dass der Kunde in Bezug auf seine Systeme blind war.
Außerdem konnten auf den Virt-Systemen keine VMs in der Cloud installiert werden, es konnten bestehende VMs nicht angesteuert werden, der Puppetmaster verteilte die Konfigurationen auf seine Nodes nur sehr langsam (wenn er das überhaupt getan hat) und es kam die Beschwerde auf, dass keine Graphen der Systeme einsehbar waren (was daran lag, dass hier keinerlei Plugins beziehungsweise passende Dienste und Programme installiert waren).
Die Liste der Probleme und der somit offenen Issues war noch länger, jedoch war das Wesentliche bereits dabei.
Als Azubi ist man mit einem derartigen Projekt, erst einmal überfordert. Man ist auf sich alleine gestellt, da es auch für den Rest des Teams, wie bei jedem Neukunden, etwas Einarbeitungszeit benötigt hätte. Die Möglichkeit tagelang Konfigurationen auszuprobieren, war nicht gegeben, da es sich hier um einen realen Kunden handelte, der so schnell wie möglich ein funktionierendes Setup haben wollte, und dann natürlich der Druck, zu wissen, dass man die Verantwortung hierfür alleine übernimmt.
„If i pass, i pass. If i fail, i fail!“
Um hier möglichst strukturiert die Probleme zu beheben, alles schriftlich festzuhalten, Arbeiten zu koordinieren und nicht allzuviel Zeit zu verlieren, galt es die oben beschriebenen Issues von einander zu trennen und eins nach dem anderen anzugehen. So entstand ein Ticket nach dem anderen, die Kommunikation mit dem Kunden nahm schnell an Fahrt auf und es wurden immer mehr Probleme bekannt.
Von Tag zu Tag tauchte ich tiefer in das Konstrukt des bestehenden Setups ein, kannte irgendwann die IP-Adressen der betroffenen Systeme auswendig, kannte im Schlaf den Pfad zu verschiedenen Konfigurationsdateien und erkannte Probleme deren Lösung wiederum anderen Kollegen bei anderen Kunden geholfen haben. Jedoch kam auch der verzweifelte Satz „Ich hau‘ gleich alles ‚zam“, des Öfteren über meine Lippen, was wiederum für Schmunzeln bei den Kollegen sorgte.
Besonders wichtig bei solchen Projekten ist es ruhig und konzentriert zu bleiben, denn wenn man ein Problem gefunden hat, kann man davon ausgehen, dass noch mehr Fehler hiervon abhängen, die eventuell noch gar nicht bekannt sind.
Ich hau gleich alles zam!
Stunden wurden zu Tagen, Tage zu Wochen und ich wurde durch die Berufsschule gezwungen eine dreiwöchige Pause einzulegen, was mich nicht davon abhielt, diese Woche voller Stolz das fertige Setup zu übergeben und das letzte Issue zu resolven.
Letztendlich wurden alle Probleme von mir in Eigenregie gelöst, was für mich nun wiederum bedeutet, dass ich mich auch weiterhin um diesen Kunden kümmern werde, da ich am wenigsten Zeit benötige um neue Probleme zu beheben oder Anpassungen, zum Beispiel in Bezug auf Performance, durchzuführen und ebenso die installierten Programme up to date zu halten. In keinem Lehrbuch und auf keiner Schulung lernt man so viel, wie ich bei diesem Projekt gelernt habe.
Ich freue mich auf das nächste Projekt und lass mir meinen Kaffee jetzt schmecken!

Azubis erzählen: Mai 2015 Nadja

This entry is part 9 of 17 in the series Azubis erzählen

Name: Nadja Hein
Ausbildungsberuf: Kauffrau für Bürokommunikation
Abteilung: aktuell Finance und Administration
Lehrjahr: 2

Heute melde ich mich aus der Buchhaltung zurück und möchte euch einen kleinen Einblick in meine tägliche Arbeit dort geben.
BuchhaltungAuch wir als Dienstleistungsunternehmen erhalten jeden Tag Rechnungen. Bei uns wird von Waren über Dienstleistung einiges bestellt. Die Rechnungen müssen zuerst zur Rechnungsprüfung wo sie zunächst auf die wesentlichen Bestandteile geprüft werden.
Folgende Bestandteile muss eine ordnungsgemäße Rechnung aufweisen:
 
• Vollständiger Name und Anschrift des leistenden Unternehmers und des Leistungsempfängers
• Steuernummer oder Umsatzsteueridentifikationsnummer
• Ausstellungsdatum der Rechnung
• Fortlaufende Rechnungsnummer
• Menge und handelsübliche Bezeichnung der gelieferten Gegenstände oder die Art und den
Umfang der sonstigen Leistung
• Zeitpunkt der Lieferung bzw. Leistung
• Nach Steuersätzen und -befreiungen aufgeschlüsseltes Entgelt
• Im Voraus vereinbarte Minderungen des Entgelts
• Entgelt und hierauf entfallender Steuerbetrag sowie Hinweis auf Steuerbefreiung
Ggf. Hinweis auf Steuerschuld des Leistungsempfängers
Wenn diese Angaben bei Rechnungen über 150,00 EUR nicht korrekt sind, dann ist der Vorsteuerabzug der Rechnung gefährdet bzw. nicht abzugsfähig (für Rechnungen unter 150 EUR gelten Sonderregelungen)!
Sobald die Rechnung geprüft wurde, kommen wir zum Vorkontieren und Verbuchen. Auch in diesem Arbeitsschritt gibt es einiges zu beachten:
Wenn ich eine Rechnung zum Vorkontieren erhalte, muss ich feststellen, was uns in Rechnung gestellt wird. Ist der Aufwand als Wareneingang, Bürobedarf, Dienstleistung, Anlagevermögen oder etwas anderem zuzuordnen (auf dem entsprechenden Aufwandskonto findet man dann die Rechnung am Ende in der Gewinn- und Verlustrechnung wieder). Da der Aufwand unseren Gewinn mindert, sind Rechnungen genauestens zu prüfen. Wir wollen am Ende ja nicht mehr bezahlen als wir müssen :).
Danach wird geprüft welcher Lieferant uns die Rechnung gestellt hat. So können wir die Rechnung auf das entsprechende Konto buchen.
Wenn die Rechnung vorkontiert und geprüft wurde, wird die Rechnung in unserem Buchhaltungsprogramm verbucht. Hier ist besonders wichtig, dass alle Angaben, die auf der Rechnung stehen, auch richtig in die Buchungsmaske übernommen werden. Das heißt: Datum, Rechnungsnummer, Bezeichnung (meist Firmenname und Artikelbezeichnung), Betrag, Steuersatz (gut darauf achten, welcher es ist, denn dieser fließt in die Umsatzsteuervoranmeldung!) und natürlich das richtige Aufwands- und Lieferantenkonto.
So das war nun ein kurzer Einblick in meinen Arbeitsalltag :-). Auch wenn einige Stimmen laut werden, dass diese Arbeit trocken wäre – mir macht meine tägliche Arbeit Spaß und ich habe meine Freude daran gefunden :-).
Und wenn ihr jetzt Lust bekommen habt eure Ausbildung bei uns zu machen, dann bewerbt euch jetzt als Kaufmann/-frau für Büromanagement.
blog2

Nadja Myers
Nadja Myers
Manager Finance & Administration

Nadja hat bei NETWAYS eine Ausbildung zur Kauffrau für Bürokommunikation absolviert. Als Manager Finance & Administration sorgt sie jetzt gemeinsam mit ihrem Team für die Gewährleistung des internationalen Buchhaltungsmottos "Keine Buchung ohne Beleg". In ihrer Freizeit genießt sie die Zeit mit ihrem verschmusten Kater Watson (benannt nach Sherlock Holmes' Partner Dr. Watson). Außerdem reist Nadja sehr gerne mit ihrem Mann nach Italien um dort die schöne Landschaft und die kulinarischen Köstlichkeiten zu genießen.

Azubis erzählen: April 2015 Alexander

This entry is part 8 of 17 in the series Azubis erzählen

Name: Alexander Klimov
Ausbildungsberuf: Fachinformatiker für Anwendungsentwicklung
Abteilung: Development
Lehrjahr: 1

Hallo Menschen!
Diesmal bin ich an der Reihe, Euch meinen Ausbildungsberuf nahezubringen.
Doch zuerst ein paar Angaben zu meiner Wenigkeit:
Ich heiße Alexander. Ich bin 20 Jahre jung und im 1. Lehrjahr. Mein Ausbildungsberuf heißt Fachinformatiker für Anwendungsentwicklung und mich erwartet im kommenden Lehrjahr erst mal die Zwischenprüfung. Die Abschlussprüfung sollte im Lehrjahr darauf folgen. Meine Kollegen Nadja und Marius mögen schon weiter sein, aber – wie ich gerne zu sagen pflege – kommt Zeit, kommt Rat! Neben der unglaublich spannenden Berufsschule bin ich in der Development-Abteilung von NETWAYS tätig.
Die Berufsbezeichnung ist relativ selbsterklärend. Meine (Haupt-)Aufgabe besteht darin, Anwendungen (weiter) zu entwickeln. Im Folgenden möchte ich euch ein paar davon vorstellen.

Icinga Web 2

An unserem PHP-Framework Icinga Web 2 gibt es noch alle Hände voll zu schrauben (schließlich soll es irgendwann mal fertig werden) – kein Wunder, dass der Löwenanteil meiner bisherigen Ausbildung diesem Projekt gewidmet war.
Icinga LogoNeben dem Erlernen der unglaublich tollen Programmiersprache PHP war es mir vergönnt, viele kleinere Fehler zu beheben und die Puppet-Manifeste radikal umzubauen, um Letztgenannte überschaubar(er) zu machen. Das Problem bestand darin, dass (fast) alles (fast 800 Zeilen) sich in einer .pp-Datei befand – und das hat den Code nicht viel übersichtlicher gemacht. Meine Aufgabe bestand darin, das Ganze zu modularisieren. Das hat zwar eine ganze Weile gedauert, aber mittlerweile ist es geschafft!

DbMaint

Das von mir Mitte 2014 entwickelte DbMaint soll u. a. beim Aktualisieren von Icinga 2 dazugehörige Datenbanken mit auf den neusten Stand bringen – und somit den Administrationsaufwand verringern. Für Debian gab es zwar schon dbconfig-common, aber in RPM-basierenden GNU-Distributionen fehlte ein derartiges Werkzeug.
DbMaint war in Python zu realisieren und sollte sowohl MySQL als auch PostgreSQL unterstützen. Als ob letztgenanntes nicht schon aufwändig genug war, lagen mir – dank RHEL 5 – Steine im Weg. Dieser Weg war entsprechend steinig und schwer – trotzdem ist mir die Fertigstellung gelungen.

Stammdaten-Verwaltung

Momentan verantworte ich die Fertigstellung eines Icinga Web 2 Moduls, das Stammdaten von Kunden verwalten soll. Dazu zählen bspw. Verträge und (im Rahmen letztgenannter) erworbene Produkte/Dienstleistungen. Da die voraussichtliche Datenmenge nicht überschaubar ist, kommt dafür nur eine relationale Datenbank in Frage. Sich mit solchen zu beschäftigen fand ich spannend und lehrreich. (Überhaupt lerne ich im Betrieb eine ganze Menge interessanter Sachen – die Berufsschule lasse ich an dieser Stelle mal unkommentiert..)
Zuerst hatte ich das Datenbankschema zu planen – wie die Datenbank aufgebaut sein soll und was sie überhaupt speichern soll. Danach sollte das Modul für Icinga Web 2 programmiert werden. Es soll die gespeicherten Daten anzeigen und auch das Hinzufügen, Bearbeiten und Löschen ermöglichen. (Für Leute, die sich nicht mit Datenbanken/SQL auskennen oder gerade keine Lust haben, viele/längere SQL-Abfragen abzutippen. 😉 )
Exploits of a MomAn dieser Stelle darf ich eine Lanze für Icinga Web 2 brechen, denn ohne seine Infrastruktur wäre ich so gut wie aufgeschmissen.

Fazit

In diesem Beruf reicht es nicht, in die Tasten hauen zu können – auch Köpfchen anstrengen will gelernt sein. Und wer auch um die Ecke denken kann – der findet bei uns bestimmt die richtige Stelle für sich.

Alexander Klimov
Alexander Klimov
Senior Developer

Alexander hat 2017 seine Ausbildung zum Developer bei NETWAYS erfolgreich abgeschlossen. Als leidenschaftlicher Programmierer und begeisterter Anhänger der Idee freier Software, hat er sich dabei innerhalb kürzester Zeit in die Herzen seiner Kollegen im Development geschlichen. Wäre nicht ausgerechnet Gandhi sein Vorbild, würde er von dort aus daran arbeiten, seinen geheimen Plan, erst die Abteilung und dann die Weltherrschaft an sich zu reißen, zu realisieren - tut er aber nicht. Stattdessen beschreitet er mit der Arbeit an Icinga Web 2 bei uns friedliche Wege.

Azubis erzählen: März 2015 Jean

This entry is part 7 of 17 in the series Azubis erzählen

Name: Jean-Marcel Fach
Ausbildungsberuf: Fachinformatiker für Anwendungsentwicklung
Abteilung: Icinga2 core development
Lehrjahr: 1

Hallo,
ich schreibe hier als Azubi im Development einen Blogppost zur Serie „Azubis erzählen“. Dieser ist nach diesem Absatz auch zu lesen, aber zunächst werde ich vorstellen.
Ich bin 21 Jahre alt und arbeite seit einem halben Jahr bei Netways. Vorher war ich Student an der Erlanger Universität. Meine Aufgaben haben fast immer mit Icinga 2 zu tun, hin und wieder müssen auch sonstige Aufgaben erledigt werden, mal mehr programmiertechnischer Natur und mal weniger.
Eine dieser Aufgaben war das Script, das das Vorkommen eines Datums in einer Tabelle zählen sollte, doch bevor ich mich damit beschäftigen konnte musste ich erst einmal dafür sorgen das die richtige Datei geöffnet wird. Die Dateinamen sind etwa so kodiert:
NAME_DATUM_UHRZEIT_NUMMER.ENDUNG

rx

Die Matrix war ein Perl Programm. Deswegen machen die Nachfolger auch so wenig Sinn


Wichtig sind dabei eigentlich nur Datum und Uhrzeit, doch wie unterscheidet man diese von den übrigen Teilen des Dateinamens?
Unterstriche zählen fiel als Erstes weg, da der NAME meist selbst noch Unterstriche enthielt. Also muss rückwärts gesucht werden. die Endung erkennt man daran, dass ein Punkt vor ihr steht… leider kann so eine Datei auch mehrere Endungen haben, etwa .txt.gz für komprimierte Dateien. Und wenn der NAME dann selbst einen Punkt enthalten kann…
Also musste eine andere Lösung her: regex
Die regular expression
Lange war ich etwas eingeschüchtert von regex, oft sah ich nur Monster wie dieses hier (Soll Email Adressen validieren, und ist dabei nicht einmal 100% korrekt, wenn man es genau nimmt) und wer will schon mit so einer Wand Text arbeiten müssen?
Also Augen zu und durch, anhand dieses Tutorials brachte ich mir also die regex Grundlagen bei, denn zum Lernen ist hier immer Zeit. Gar nicht mal so schwer, zum Glück gibt es dann noch diese Seite auf der man nach Herzenslust ausprobieren kann.
Nun aber zu meinem konkreten Problem:
deq_2214_20140415_140857_0413.txt.gz
Nach dem Muster oben ist klar, dass es sich um eine verpackte Textdatei, die 413te am 15.4.2014 aus der Serie ‚deq_2214‘, gespeichert um 14:08:57, handelt. Aber selbst wenn man das Muster nicht schon vorher kennt ist es leicht es zu erkennen, für einen Menschen. Für einen Computer eben nicht (Daher sind Computer Menschen in Go noch unterlegen, während sie im Schach unschlagbar sind).
Aber ein dummer Computer kann gut stur Schemata überprüfen:
(\w+)_(\d{8})_(\d{6})_(\d{4})(\.txt)(\.gz)?$
Ist die Lösung, Erklärung:

(\w+)    # Fasse den Anfang zu einer Gruppe zusammen ("deq_2214")
  _      # Unterstriche dienen als Abtrennung und werden übergangen
(\d{8})  # Eine Gruppe aus genau acht Zahlen, das Datum ("20140415")
  _
(\d{6})  # Eine Gruppe aus genau sechs Zahlen, die Uhrzeit ("140857")
  _
(\d{4})  # Eine Gruppe aus genau vier Zahlen, die Nummer ("0413")
(\.txt)  # Die Endung ".txt"
(\.gz)?  # Die optionale Zusatzendung ".gz"
  $      # Sorgt dafür das nach der Endung nichts mehr kommen kann
         # (".txt.gz.temp" ist ungültig)

Azubis erzählen: Februar 2015 Marius

This entry is part 5 of 17 in the series Azubis erzählen

Name: Marius Gebert
Ausbildungsberuf: Fachinformatiker für Systemintegration
Abteilung: Support
Lehrjahr: 2

Hallo ihr Lieben!
Da unser Blog durch Berichte der Azubis die etwas jüngeren Leser unter euch ansprechen soll, werde diese Woche ich euch etwas über meine Aufgaben als Azubi hier bei NETWAYS erzählen.
Doch zunächst zu mir: Ich heiße Marius, bin 21 Jahre jung und bin mittlerweile im 2. Lehrjahr der Ausbildung zum Fachinformatiker für Systemintegration . Ebenso wie Nadja, werde auch ich nächstes Jahr meine Abschlussprüfung ablegen.
Als Azubi bin ich in der Abteilung „Managed Services“ tätig und hier hauptsächlich im Bereich der Infrastruktur und des Supports.
Im Bereich der Infrastruktur greife ich meinen Kollegen insofern unter die Arme, als dass ich mich um die Inventarisierung der Hardware kümmere, aber auch kleinere Arbeiten im Rechenzentrum oder im Büro verrichte.
Hier bestehen meine Tätigkeiten meist daraus, dass ich mich um eine ordentliche Verkabelung kümmere oder auch längerfristige Projekte zugewiesen bekomme, wie zum Beispiel das Einrichten von Dashboards, die meinen Kollegen über Monitore, alle wichtigen Infos wie Monitoring, Puppet, Queues und vieles mehr anzeigen.
Beim Einrichten der Dashboards bestand die Aufgabe darin, ein Dashboard (das von meinem Kollegen gebaut wurde) über einen Monitor für unsere Abteilung „sichtbar“ zu machen.
Hierfür musste ich einen passenden TV suchen, über ihn recherchieren, mir überlegen, wo ich ihn wie anbringen kann. Dabei habe ich die dazu passenden Halterungen gefunden und mir überlegt, wie ich das Dashboard auf dem TV anzeigen lassen kann. Meinen Vorschlag habe ich dann meinem Chef und meinen beiden Abteilungsleitern präsentiert.
Letzendlich habe ich es so gelöst, dass ich den TV an eine passende Stelle an die Wand gehängt habe, einen Raspberry Pi angeschlossen habe und über den Browser mit ein paar Feineinstellungen und Konfigurationen das Dashboard gut sichtbar dargestellt habe. Da das Potential dahinter relativ schnell erkannt wurde, wurde ich gebeten eine weitere Einheit hiervon in unserem Büro anzubringen.
Mein Hauptaufgabengebiet liegt derzeit jedoch im Bereich des Supports.

Hier übe ich mich im sogenannten First-Level-Support. Ich kontrolliere das Monitoring, Fehlermeldungen vom Puppet, führe Serverwartungen durch, kommunziere Information an Kunden nach außen.
Der First-Level-Support befasst sich zunächst mit allen „neuen“ Problemen oder Fragen der Support-Kunden.
Meine Aufgabe ist hier somit, alle neuen Probleme und Fragen soweit zu bearbeiten, bis ich an einen Punkt komme, an dem ich wirklich nicht mehr weiter weiß. In diesem Fall übergebe ich diese Problematik, mit allen wichtigen Infos, an meine Kollegen.
Ebenso zählt es jedoch auch zu meinen Aufgaben, Probleme mittels Puppet/Foreman und dem Monitoring frühzeitig zu erkennen, diese zu beheben und/oder dem betreffenden Kunden zu informieren und die Probleme gegebenenfalls in Zusammenarbeit mit dem Kunden zu lösen.
Die Komplexität der Aufgaben im Bereich des Supports sind sehr unterschiedlich. Manche Probleme sind in 15-30 min gelöst, andere benötigen mehrere Tage oder teilweise Monate, in denen man die Systeme kontrolliert, Logs sichtet, Graphen kontrolliert, und dabei versucht die Ursache des jeweiligen Fehlers zu lokalisieren.

Der große Vorteil des Supports für mich als Auszubildender ist der, dass meine Tätigkeiten sehr abwechslungsreich sind. Ich lerne täglich neue Probleme kennen, dazu auch die Problemlösungen und lerne den richtigen Umgang mit den Aufgabenstellungen. Auch die Abwechslung der Betriebssysteme (Linux & Windows) bilden ein relativ weites Spektrum und eine gewisse Basis, auf der ich meine Fähigkeiten und mein Wissen aufbauen kann.
Jedoch bekomme ich hier bei NETWAYS auch die Gelegenheit, Tätigkeiten nachzugehen, die nicht mit einem Schreibtisch verbunden sind.
Als Beispiel kann ich hier das PuppetCamp 2014 und die OSMC (Open Source Monitoring Conference) anführen. Hier durfte ich als „Zuständiger für die Technik“ die Kollegen vom Events-Team unterstützen, indem ich mich um eine ordnungsgemäße Aufzeichnung der Talks gekümmert habe, aber auch, dass die Mikrofone und das dazugehörige Equipment stehts einsatzbereit waren.
Aber auch als „normaler“ Gast durfte ich vergangenes Jahr aktiv werden. Hier besuchte ich nämlich das DevOps-Camp in Nürnberg, welches mir unglaublich viel Spaß gemacht hat, und wo ich viele Leute kennen gelernt habe und sogar Freundschaften geschlossen habe.
Deswegen freue ich mich darauf, es dieses Jahr wieder zu besuchen und ebenso auf verschiedenen Veranstaltungen mitwirken zu können und auch darauf, außerhalb von Nürnberg zu arbeiten.
Von NETWAYS selbst werden auch einige Veranstaltungen für die Belegschaft organisiert. Hier kann ich als Beispiel unsere alljährliche Grillfeier, das Seminar-Wochenende und auch das Lasertag-Duell zwischen Ops & Devs am Sysadminsday anführen. Die Berichte sind verlinkt, lest es euch einfach mal durch, wenn es euch interessiert.
Ich hoffe, ich konnte euch einen groben Einblick in meine Ausbildung und meine Tätigkeiten geben und euch aufzeigen, dass die Ausbildung zum Informatiker doch ganz anders ist, als man es sich vorstellt.
DevOps