pixel
Select Page

NETWAYS Blog

Rückblick auf die Ausbildung zum Fachinformatiker (Systemintegration)

Anlässlich der Tatsache, dass gestern die neuen Azubis Ihre Ausbildung bei uns begonnen haben und ich zusätzlich nach erfolgreichen drei Jahren in der Ausbildung bei der NETWAYS Professional Services GmbH sagen kann, dass ich es geschafft habe, habe ich es mir zur Aufgabe gemacht, den Azubis einen ersten Einblick in die kommenden drei Jahre zu geben.

Begin meiner Ausbildung war im September 2018. Als ich damals begonnen habe, war mein Wissen in der IT ziemlich begrenzt, da ich mich nicht wirklich mit dem Thema befasst hatte. Dadurch hatte ich es Anfangs gewissermaßen schwer, da meine Azubi Kollegen teilweise bereits aus IT Berufen kamen oder sogar Informatik studiert hatten.
Nach der Einführung in den Betrieb ging es auch direkt an die erste Schulung. Die “Linux Fundamentals”. Hier wird den Auszubildenden (oder auch Neueinsteigern) das Basis Wissen über Linux vermittelt, welches sie benötigen um damit arbeiten zu können. Von einfacher Benutzererstellung bis hin zu tiefem Debugging, wird hier alles angerissen um einen guten Start in der Ausbildung zu garantieren!

Nachdem man das erste “Basis Wissen” hatte ging es auch direkt an die ersten Projekte wie zum Beispiel das “Auftakt Projekt”: Ein LAMP Stack (Linux Apache Mysql PHP), welches die Basis für eigene Webseiten oder in unserem Fall die Basis für ein MediaWiki bietet.

Um das Wissen ständig zu vergrößern werden neben den offiziellen Schulungen, welche durch NETWAYS organisiert und gehalten werden auch weitere interne Schulungen besucht. Hierzu gehören beispielsweise: Netzwerk Grundlagen, MYSQL Grundlagen, Security Schulung und Packaging Schulung.
Neben den Schulungen durch NETWAYS begleitet einen in diesen drei Jahren natürlich auch immer wieder das “lästige” Thema Schule, welche die Grundlagen für alles Mögliche vermittelt.
Auch hier ist das Spektrum wieder riesig, da es von einfachen Zahlensystemen bis hin zu komplexen Netzwerk Systemen geht.

Nachdem ich mittlerweile alle diese Schulungen besucht habe, dazu passende Projekte bearbeitet habe, die Grundsteine durch die Schule gelegt bekommen habe und Erfahrung in der Arbeit mit Kunden sammeln konnte, würde ich persönlich über mich behaupten wollen dass ich mein Wissen, welches zu Beginn der Ausbildung bei verglichen mit dem jetzigen Stand nahezu bei Null war, gut ausbauen konnte. Durch die ständige Unterstützung während der Ausbildung bin ich heute in der Lage, größtenteils selbstständig zu arbeiten.

Unseren neuen Azubis wünsche ich natürlich alles Gute und eine ebenso erfolgreiche Ausbildung!

Solltest du jetzt auch Interesse haben, eine Ausbildung bei NETWAYS machen zu wollen, kannst du dich natürlich gerne für das kommende Lehrjahr unter www.netways.de/netways/jobs informieren.

Tobias Bauriedel
Tobias Bauriedel
Systems Engineer

Tobias ist ein offener und gelassener Mensch, dem vor allem der Spaß an der Arbeit wichtig ist. Bei uns hat er seine Ausbildung zum Fachinformatiker für Systemintegration abgeschlossen und arbeitet nun im NETWAYS Professional Services Support Team und entwickelt nebenbei Projekte für die NPS. In seiner Freizeit engagiert er sich ehrenamtlich bei der Freiwilligen Feuerwehr, bereist die Welt und unternimmt gerne etwas mit Freunden.

Was nehme ich aus meiner Ausbildung mit?

Unser drittes Lehrjahr (mich eingeschlossen) steht nach drei interessanten und lehrreichen Jahren kurz vor den Abschlussprüfungen.

In wenigen Wochen geht es dann darum, dass erlernte Wissen in der Abschlussprüfung korrekt wieder zugeben. Neben dem schriftlichen Teil der Prüfung, wird auch eine praktische Projektarbeit ausgearbeitet. Das Thema des Projektes ist frei von dem Auszubildenden zu wählen und einzureichen. Nach Absegnung der IHK, geht es dann darum das Projekt innerhalb 35 Stunden auszuarbeiten und eine Präsentation zu erstellen. In den vergangenen Jahren konnte ich mein Wissen rund um das große Thema IT stark erweitern. Sei es es durch Schulungen, Projekte oder die Arbeit mit Kunden. Aus allen Tätigkeiten, welche ich durchlaufen habe, konnte ich immer etwas lernen und mitnehmen.

Was nehme ich aus der Ausbildung mit?

Recherche geht über fragen

Als Auszubildender ist es natürlich logisch, dass man bei neuen Themen nicht direkt den richtigen Weg zur Lösung eines Problems weis. Zu Beginn meiner Ausbildung war in solchen Situationen immer mein Ausbilder meine erste Anlaufstelle. Mein Ausbilder hilf natürlich immer gerne, aber der Lerneffekt blieb da dann meistens weg.
Sollte ich nach meiner Lehre auf Probleme stoßen, ist es meist nicht mehr so einfach möglich schnell den Ausbilder zu fragen wie man etwas macht. Das Ziel der Ausbildung ist es ja, jemand heranzuziehen, der selbstständig arbeiten kann.
Durch diese Erkenntnis habe ich mit der Zeit angefangen, die Lösungen alleine raus zu finden.
Heute ist meine erste Anlaufstelle bei Problemen das Internet.

Fehler sind menschlich

Fehler passieren. Vorallem in der Ausbildung.
Aber man darf sich von denen nicht unterkriegen lassen, sondern daraus lernen.

Man lernt nie aus

Nach all dem Wissen, dass ich während der Zeit als Auszubildender gesammelt habe, ist das wahrscheinlich dass wichtigste was ich aus meiner Lehre mitnehme. MAN LERNT NIE AUS.
Die IT ist eine ständig und schnell wachsende Branche, was bedeutet dass immer wieder neue Produkte auf den Markt kommen. Sei es ein Update von einem Betriebssystem, Protokolle, etc.
Um nicht den Anschluss an den Stand der Dinge zu verlieren, ist es also dass aller wichtigste, sich auch nach seiner Ausbildung noch weiterzubilden.

Tobias Bauriedel
Tobias Bauriedel
Systems Engineer

Tobias ist ein offener und gelassener Mensch, dem vor allem der Spaß an der Arbeit wichtig ist. Bei uns hat er seine Ausbildung zum Fachinformatiker für Systemintegration abgeschlossen und arbeitet nun im NETWAYS Professional Services Support Team und entwickelt nebenbei Projekte für die NPS. In seiner Freizeit engagiert er sich ehrenamtlich bei der Freiwilligen Feuerwehr, bereist die Welt und unternimmt gerne etwas mit Freunden.

Mein erstes Icinga Web 2 Modul

Im Laufe meiner Ausbildung habe ich nun ein PHP Projekt bekommen. Ich soll ein Modul für unser heiß begehrtes Icinga Web 2 schreiben. Thema des Modules, ist die Darstellung deiner aktuellen System und Icinga 2 Daten. Von Zonen bis Firewall eine komplette Übersicht.

Das Thema des Blogposts soll aber nicht das Modul sein. Sondern möchte ich euch einen kurzen und einfachen Überblick darüber geben, wie ein solches Modul aufgebaut ist:

Das wichtigste was du wissen musst: Icinga Web 2 Module basieren auf dem icinga Web 2 Framework! Was das für dich als Modul Entwickler bedeutet, möchte ich dir kurz erläutern.

Icinga Web 2 Framework

Bei dem Icinga Web 2 Framework handelt es sich um ein objektorientiertes Framework für PHP. So ist es zum Beispiel nötig, einen Controller und eine View, pro Anzeigeseite zu erstellen.
Die Ordnerstruktur dazu kann wie folgt aussehen:


└── example
|      └── application
|         ├── controllers
|         |   ├── BaseController.php
|         |   └── IndexController.php
|         └── views
|            └── scripts
|               ├── base
|               |   ├── config.phtml
|               |   └── index.phtml
|               └── index
|                  └── index.phtml
└── configuration.php

Durch den Controller und die view wird automatisch die URL gebaut: localhost/icingaweb2/”Modulname”/”Controllername”/”viewname”.

Controller

Was ist ein Controller im Icinga Web 2 Framework?

Der Controller ist der Ort an dem all deine Magie passiert. Also die ‘main’ der jeweiligen Seite.

Um einen Controller richtig zu definieren, hier einige wichtige Tipps, die unbedingt zu beachten sind:

Neben der korrekten Ordnerstruktur deines Modules und der richtigen Groß und Kleinschrebung, muss auch ein eindeutiges Namensschema deiner Dateiein eingehalten werden. Die Dateien müssen beispielsweise das dazu gehörige Schlagwort beinhalten.
Solltest du also einen Controller Index bauen wollen, besteht dein Filename aus dem ‘Controller Namen’ und dem Schlagwort ‘Controller’: IndexController.php

In deinem Controller werden Actions´s erstellt. Innerhalb dieser Actions wird der Quellcode geschrieben und deine Seitentabs erstellt.
Auch hier ist wieder auf Namensgebung und Groß und Kleinschreibung zu achten.

Beispielcode:

views

Was ist eine view?

Damit der Endbenutzer eine Ausgabe in seinem Icinga Web 2 erhält, werden die Ergebnisse deines Controllers an eine view weitergegeben.

Der Ordnername deiner view ist nicht frei wählbar. Er wird aus dem Namen deines Controller´s abgeleitet. Solltest du einen Controller namens Base haben, muss der Ordnername ebenfalls den Namen base haben (Man beachte, den Ordner klein zu schreiben).

In deinem Ordner werden nun die eigentlichen Views erstellt.
Die Standart Seite ist deine index.phtml. Solltest du eine Unterseite erstellen wollen, ist die view genauso zu nennen wie deine Action.

Ein Beispiel dafür wäre wie folgt:

configuration.php

In deiner configuration.php werden die Menüpunkte und sections erstellt. Solltest du für dein Modul also einen Reiter oder Unterreiter haben wollen, sind diese also hier zu definieren.

 

Solltest du ein eigenes Modul entwickeln wollen, oder dich nun mehr für das Thema interessieren, findest du unter dem Training-Module einen ausführlicheren Guide.

Tobias Bauriedel
Tobias Bauriedel
Systems Engineer

Tobias ist ein offener und gelassener Mensch, dem vor allem der Spaß an der Arbeit wichtig ist. Bei uns hat er seine Ausbildung zum Fachinformatiker für Systemintegration abgeschlossen und arbeitet nun im NETWAYS Professional Services Support Team und entwickelt nebenbei Projekte für die NPS. In seiner Freizeit engagiert er sich ehrenamtlich bei der Freiwilligen Feuerwehr, bereist die Welt und unternimmt gerne etwas mit Freunden.

Arbeiten aus dem Homeoffice!

Quelle: pexels.com

In der heutigen Zeit ist das Arbeiten von Zuhause für den ein oder anderen anstrengend oder ganz und gar belastend. Sei es eine schlechte Internetverbindung, die fehlende/falsche Hardware, oder einfach nur die falsche Software.

In diesem Beitrag möchte ich euch davon erzählen, auf welche Probleme ich gestoßen bin und wie ich diese gelöst habe.

Das  größte Problem was sich mir gestellt hat war die Internetverbindung. Ich lebe in einem Haushalt mit 3 arbeitenden Leuten. Alle 3 waren zu Beginn der Homeoffice-Ära Zuhause. Da hat es natürlich nicht lange gedauert bis sich alle beschwert haben, dass sie in einem Meeting sind, aber dass “ihr Internet” nicht funktioniert.

Warum das so war, wurde mir aber durch einen Blick in die FRITZ!Box-Oberfläche schnell klar. Wenn jeder Bewohner des Hauses mit 3 bis 5 Geräten durchgehend im Internet ist und dieses auch nutzt, kommt das WLAN schnell an seine Grenzen. Vor allem wenn das Signal über 3 Etagen das Haus versorgen soll! Was war also die Lösung? Ich habe alle Laptops oder Tower-PCs im Haus mit LAN versorgt und bei den Geräten, bei den man kein LAN legen konnte, habe ich die Priorität in der FRITZ!Box erhöht.

Dass führt uns aber auch schon zum nächsten Problem. Die richtige Hardware! Als ich anfangen wollte das Haus mit LAN zu versorgen, ist mir ziemlich schnell klar geworden, dass ich nicht ausreichend LAN-Kabel im Haus habe. Und auch wenn ich genügend hätte, die neuen Laptops haben so gut wie keine LAN-Anschlüsse mehr. Also mussten neben LAN Kabel auch noch Adapter “USB-C auf LAN” her.

Das Problem, was sich aber am längsten durch die Homeoffice-Zeit gezogen hat, war die richtige Software. Ohne eine gute Software zum Chatten und/oder auch eine geeignete Software um Meetings abzuhalten oder einfach einen Kollegen anzurufen läuft im Homeoffice gar nichts.
Glücklicherweise haben wir bei uns in der Firma kurz vor der Covid-19-Pandemie unseren alten und unzuverlässigen Chat-Client abgelöst und uns mit RocketChat ausgestattet. Die Rückmeldungen der NETWAYS Mitarbeiter sind zu 99 Prozent positiv. Wer auch an RocketChat interessiert ist, sollte übrigens mal bei NETWAYS Web Services vorbei schauen 😉

Nachdem dann mit der Zeit der Bedarf nach einer Software für Meetings kam, ist man schnell darauf gekommen, unser RocketChat mit Jitsi zu verbinden. Dadurch bekamen wir eine schnelle, simple und qualitativ hochwertige Lösung für Meetings oder Telefonate mit einem Mitarbeiter.

Wenn ihr jetzt denkt, dass euch mit einer der Umsetzungen aus dem Blogpost hier geholfen ist, probiert es einfach aus!

Tobias Bauriedel
Tobias Bauriedel
Systems Engineer

Tobias ist ein offener und gelassener Mensch, dem vor allem der Spaß an der Arbeit wichtig ist. Bei uns hat er seine Ausbildung zum Fachinformatiker für Systemintegration abgeschlossen und arbeitet nun im NETWAYS Professional Services Support Team und entwickelt nebenbei Projekte für die NPS. In seiner Freizeit engagiert er sich ehrenamtlich bei der Freiwilligen Feuerwehr, bereist die Welt und unternimmt gerne etwas mit Freunden.

Kubernetes Custom Resources with Kubeless and Metacontroller by Michael Grüner | OSDC 2019

This entry is part 1 of 6 in the series OSDC 2019 | Recap

 

This talk is about our journey from Nginx & Docker Swarm to Traefik & Nomad. At the Open Source Data Center Conference (OSDC) 2019 in Berlin, Jan Martens invited to audience to travel with him in his talk „Evolution of a Microservice-Infrastructure”. You have missed him speaking? We got something for you: See the video of Michael’s presentation and read a summary (below).

The former OSDC will be held for the first time in 2020 under the new name stackconf. With the changes in modern IT in recent years, the focus of the conference has increasingly shifted from a mainly static infrastructure approach to a broader spectrum that includes agile methods, continuous integration, container, hybrid and cloud solutions. This development is taken into account by changing the name of the conference and opening the topic area for further innovations.

Due to concerns around the coronavirus (COVID-19), the decision was made to hold stackconf 2020 as an online conference. The online event will now take place from 16 to 18 June 2020. Join us, live online! Save your ticket now at: stackconf.eu/ticket/


 

Kubernetes Custom Resources with Kubeless and Metacontroller

Mostly Michael is working with all the Kubernetes stuff in his company (also with Foreman). Developing additional tools e.g. scripts and tools for deploy applications. Custom Resources from Kubernetes and how to use them.

The goal of Michael‘s talk: Create your own Kubernetes resources that look like, behave like and can be used like every other Kubernetes resource. For example, if you want to let your users manage helm for Kubernetes, you have to give them access to your instance, what means, they can control the hole cluster. That’s not what you want.

The recipe:

  • A resource definition
  • Some logic to make it do something
  • Some API magic to make it all stick together

 

1) Resource definition

CustomResourceDefinition = It is used to tell Kubernetes about your new resource.

It consists of three parts:

  • API group
  • some metadata
  • the kind (the name of your resource)

 

2) Some logic to make it to something

For this, Michael uses a tool called Kubeless. It is a so called function as a service framework. It is basically a framework where you can say ‘Here is my code, make it work as a webservice’. (That’s a very oversimplified description of what it is, but for the use case in this presentation it is enough.)

Use Kubeless to create our actual resource logic in form of a web service. How do we do that? As everytime in Kubernetes we use a Kubernetes resource (in this case it is a function).

Example:

  • API
  • kind (function)
  • metadata (name, namespace, etc.)
  • spec (runtime, handler, checksum, function-content-type, the actual function)

The function (logic) can now be found at http://hello-world.test:8080.

 

3) Some API magic to make it all stick together

How to connect your custom resource with your logic? As always, we use a Kubernetes resource. The special feature here is to give the resource the parentResource, that means, the apiVersion of the custom resource. We also have to tell, what childResource it has to create. In our case just “pods”. 

Furthermore, we have to define what to do if the resource changes. For example, what should happen if we change the parent resource or add some configuration? At the end of the configuration we have to tell where to find the logic we built. In our example it is http://hello-world.test:8080.

And this ties our two pieces together. It connects our custom resource definition with our logic. Now we have on the right our logic, on the left our resource definition and meta controller for the communication in the middle.

 

If the user now creates a new instance of our custom resource, the logic gets notified by the API, that ensures the meta controller gets notified. After this, the meta controller calls our function and returns a JSON structure containing the status and the list of children. Meta Controller then uses these information to do whatever API requests are necessary to create these children.

If you are interested now, watch the full video to have a look at a live demo how this works!

Tobias Bauriedel
Tobias Bauriedel
Systems Engineer

Tobias ist ein offener und gelassener Mensch, dem vor allem der Spaß an der Arbeit wichtig ist. Bei uns hat er seine Ausbildung zum Fachinformatiker für Systemintegration abgeschlossen und arbeitet nun im NETWAYS Professional Services Support Team und entwickelt nebenbei Projekte für die NPS. In seiner Freizeit engagiert er sich ehrenamtlich bei der Freiwilligen Feuerwehr, bereist die Welt und unternimmt gerne etwas mit Freunden.

Trainings

Web Services

Events