Seite wählen

NETWAYS Blog

How To NWS: Software as a Service

Und weiter geht es mit der Blogserie „How To NWS“. Nachdem ich das letzte Mal darauf eingegangen bin, für wen unsere Dienstleistungen überhaupt interessant sind und aus welchen Beweggründen man sich auf die Suche nach uns macht, möchte ich nun dazu übergehen, einen Überblick über unser Portfolio geben.

Dieses setzt sich aus drei Bausteinen zusammen:

  1. SaaS / Open Source Apps
  2. IaaS
  3. MyEngineer

Im heutigen Blog erläutere ich, was es mit den Open Source Apps auf sich hat.

Open Source Apps – einfach starten!!

Wer direkt einsatzfähige Apps sucht, ist auf unserer Self-Service-Plattform genau richtig. Hier findet Ihr ein breites Spektrum an Tools, die je nach Unternehmensgröße in unterschiedlichen Paketen zu kostengünstigen Preisen gebucht werden können. Hierbei kann je nach Zahlungsform eine Vertragslaufzeit von einem Monat oder einem Jahr gewählt werden.

Der Grundgedanke dieser Plattform ist, dass alles einfach, schnell und stabil funktioniert. Und wie schaffen wir das? Mit Hilfe unserer Container-Lösung. Die Anwendungen werden von den Kunden:innen selbst gestartet. Alle  Apps sind in Container verpackt und werden dadurch innerhalb kürzester Zeit (ca. 3-4 Minuten) hochgefahren und sind dann direkt einsatzbereit.

Je nachdem für welche App Ihr Euch entscheidet, lassen sich nun auch noch individuelle Einstellungen hinterlegen (Domain, Branding oder 2-Faktor-Authorisierung etc.), um das Tool somit nach den eigenen Vorstellungen anzupassen.

Support

Für den Fall, dass man hier an seine Grenzen stößt oder dass es mal irgendwo klemmt, gibt es den NWS-Support. Für einen Hilferuf könnt Ihr Euch per Ticketsystem, LiveChat oder Telefon bei uns melden und wir kümmern uns darum, dass die Fragezeichen umgehend aus der Welt geschafft werden. Dieser Service ist bereits im Monatspreis inbegriffen. Gleiches gilt für die Betriebsführung. Alle Updates und Wartungen werden automatisch durch unsere Techniker durchgeführt. So bleiben die Apps sicher und sind stets auf dem neuesten Stand. Unsere Kunden müssen sich um nichts kümmern und können den Dienst einfach benutzen.

Kostenlos Testen!

Zu guter Letzt gibt es bei ALLEN Apps eine kostenlose Probezeit von 30 Tagen. Du bist nicht ganz sicher, ob das Tool mit all Deinen Anforderungen hundertprozentig übereinstimmt? Kein Problem: starte einfach die App und probiere alles einen Monat lang in Ruhe aus. Hierbei musst Du keine Angst vor einer Abo-Falle haben – Deine Kontodaten musst Du erst mit Ablauf der Probezeit hinterlegen (natürlich nur, wenn  Du die App über den Testzeitraum hinaus weiter nutzen möchtest).

App-Auswahl

Inhaltlich decken wir mit Apps aus den Bereichen Kommunikation, Organisationsverwaltung bis hin zur Überwachung der eigenen IT-Infrastruktur ein sehr breites Spektrum ab. Für fast alle Anforderungen, die das Arbeiten im (Home)Office so mit sich bringt, findet man hier den richtigen Dienst.

Kommunikation

Wer einen Instant-Messenger sucht, um sich mit den Kollegen:innen unkompliziert auszutauschen, kann sich bei uns zwischen RocketChat und Mattermost entscheiden. Als Videokonferenzsystem bieten wir mit Jitsi eine tolle, DSGVO-konforme Alternative zu den Datenkraken von Teams, Zoom u. Co. Für den sicheren Dokumentenaustausch zwischen Kolleg:innen oder mit Kund:innen haben wir Nextcloud im Programm. Hierbei kann man u.a. mit dem Textverarbeitungsprogramm OnlyOffice sogar zeitgleich gemeinsam Dokumente, Tabellen und Präsentationen bearbeiten. Außerdem bekommt Ihr vollen Zugriff auf den Nextcloud-Appstore, über den sich unzählige, weitere Tools an die eigene Nextcloud-Instanz anbinden lassen.

Organisation

Mit Suite CRM verwaltet Ihr Eure Kundendaten und behaltet stets die Übersicht über alle getätigten kundenspezifischen Aktionen. Perfekt ergänzt wird das Ganze durch den RequestTracker, mit dessen Hilfe jegliche Korrespondenz in verschiedene Queues einsortiert wird. Dabei können zusammengehörige Anliegen miteinander verknüpft und alle Aufgaben mit einem Bearbeitungsstatus versehen werden. So habt Ihr zu jeder Zeit alle Kundenanfragen im Blick und nichts kann mehr verloren gehen. Den Überblick zu behalten gilt es auch bei der Versionsverwaltung Eurer Softwareprojekte. Dies gelingt mittels GitLab. Hier können all Eure Entwickler gleichzeitig Quellcode programmieren, Änderungen vornehmen und deren Funktionalität testen. Alle Änderungen werden durch Commits gespeichert und sind für jeden Entwickler jederzeit sichtbar.

Monitoring

Für das Monitoring Eurer Infrastruktur haben wir den Icinga Master und den Icinga Satelliten im Programm. Mit dem Icinga Master kannst Du Dir Hosts mit vorkonfigurierten Prüfungen einrichten und hier dann beispielsweise Lastspitzen mittels grafischen Metriken sofort erkennen. Icinga 2 Satellite hilft Dir, Deine Dienste aus der Sicht Deiner Kunden (also aus externer Sicht) zu überprüfen. Den Abschluss bildet Cachet. Das ist ein benutzerfreundliches Statusseitensystem, mit dem all Deine Benutzer stets über die Verfügbarkeit Deiner Services im Bilde bleiben.

Neugierig geworden? Na dann auf zu unseren SaaS Apps: Alle Infos findest Du unter https://nws.netways.de/de/apps/

Im nächsten Blog geht es dann weiter mit Punkt 2 unseres Portfolios: Infrastructure as a Service mit OpenStack.

Stefan Schneider
Stefan Schneider
Account Manager

Vor seiner Zeit bei NETWAYS hat Stefan als Projektmanager in einer Nürnberger Agentur dabei geholfen, Werbeprojekte auf die Straße zu bringen. Seit Juni 2017 ist er nun stolzes Mitglied der NETWAYS-Crew. Hier war er zuerst der Ansprechpartner für unserer Schulungen und kümmert sich aktuell um alle Anfragen rund um unser Hostingangebot. Die Freizeit vertreibt sich Stefan am liebsten mit Sport. Vom Joggen über Slacklining bis zum PennyBoard fahren ist er für alles zu haben.

Request Tracker – Dark Theme und SearchResult

Bei der neuen Version des Request Tracker 5 wurde – meiner Meinung nach – ein tolles neues Feature implementiert und zwar das sog. Dark ThemeDabei wurde die Hintergrundfarbe verdunkelt und die Textschrift aufgehellt, wodurch eine bessere Lesbarkeit in dunklen Umgebungen gewährleistet wird. In diesem Zuge musste die RT-Extension SearchResult auf das neue Dark Theme angepasst werden. SearchResult ist eine RT-Extension die es möglich macht, Tickets nach bestimmten Kriterien farblich hervorzuheben, wie z.B. bei Ablauf des Due Date, um somit möglichst schnell einen Überblick über den aktuellen Status eines oder mehrerer Tickets zu erhalten.

Hinweis: Im folgenden Blogpost gehe ich davon aus, dass die Grundinstallation des Request Tracker bereits vorhanden ist. Falls dies nicht der Fall ist und Probleme oder anderweitige Fragen zum Request Tracker auftauchen, einfach bei NETWAYS nachfragen. Wir helfen gerne 🙂

 

An dieser Stelle ist zu erwähnen, dass die Aktualisierung netterweise von RedBridge gesponsert wurde, vielen Dank hierfür 🙂

 

Um dies zu verdeutlichen, oben das Light Theme und unten das Dark Theme:

Im Folgenden ein kleiner Exkurs wie das Dark Theme sowie SearchResult installiert bzw. aktiviert werden:

 

Dark Theme:

Durch Hinzufügen der Option innerhalb der RT_SiteConfig.pm  und anschließendem Neustart des Webservers, wird das Dark Theme aktiviert:

# cat /opt/rt5/etc/RT_SiteConfig.pm
[...]
Set($WebDefaultStylesheet, "elevator-dark");
[...]

 

Neustart des Webservers (in diesem Fall Apache):

systemctl restart apache2

Kommt keine Fehlermeldung, wurde das Dark Theme erfolgreich aktiviert.

 

SearchResult:

Um die Extension SearchResult Extension zu aktivieren wird diese zunächst aus folgendem Repository geklont und anschließend installiert:

Klonen des Repository

# git clone https://github.com/NETWAYS/rt-extension-searchresult
# cd rt-extension-searchresult/

 

Installation von SearchResult

# perl Makefile.PL
# make
# make install

 

Konfiguration von SearchResult

# cat /opt/rt5/etc/RT_SiteConfig.pm
[...]
Plugin('RT::Extension::SearchResult');
Set($SearchResult_HighlightOnLastUpdatedByCondition,[
{
"conditions" => { "groups" => [ "admins" ] },
"color" => "purple",
"icon" => "fa-exclamation-triangle",
"tooltip" => "Customer replied. Action required."}]);
Set($SearchResult_HighlightOnDueDate,[
{
"conditions" => { "due" => 0 },
"color" => "red",
"icon" => "fa-question-circle",
"tooltip" => "Due date reached. Action required."},
{
"conditions" => { "due" => 3 },
"color" => "yellow",
"icon" => "fa-question-circle",
"tooltip" => "Due date soon. Plan ahead."},]);
[...]

Damit die Änderungen übernommen und aktiviert werden muss wie im obigen Beispiel der Webserver neugestartet werden. War dies erfolgreich, wird die Oberfläche des Request Tracker wie folgt dargestellt:

RequestTracker: Optimize Session Handling

To provide features like login or persistence to the user, stateless protocols like HTTP depend heavily on sessions. Almost every web application is using it.

An easy job you would say? Of course! But what about high availability setups with hundreds of concurrent users? And sessions need to be shared between application servers so that that users do not lose their current login session.

RT’s vanilla way is to put this in MySQL which produces queries on every request. Second bad thing is the created GET_LOCK query which slows down the environment after a while.

Better way is to use files because file sessions are extremely fast. No network overhead and not greatly influenced by differential IO. But then you have to share sessions between application servers and you should say good bye to that idea because we do not live in an ideal world and shared file systems are terribly slow.

What Next?

I opt for Redis. Meanwhile available on every system, fast as the LHC in Geneva and rock-solid like carbon. Redis is so adorable simple that you only can fall in love with this single-core-minimal-footprint-key-value-store thingy. But I’ll stop hallowing now.

RequestTracker uses Apache::Session::* default implementation and we choose the NoSQL module from there which provides access to Apache Cassandra and Redis.

Configuration Examples

[perl]# Annouce Redis to RequestTracker
Set($WebSessionClass, "Apache::Session::Redis");

# Single server
Set(%WebSessionProperties,
server => ‚127.0.0.1:6379‘
);

# Sentinel
Set(%WebSessionProperties,
sentinels => [ ‚127.0.0.1:26379‘ ],
service => ‚mymaster‘,
sentinels_cnx_timeout => 0.1,
sentinels_read_timeout => 1,
sentinels_write_timeout => 1
);
[/perl]

You can find more information in the product documentation.

Conclusion

It’s just a glimpse, but there a lot of ways to bring RequestTracker to enterprise level with more than 300 concurrent users and millions of tickets and attachments. Of course, highly available and scaled in every direction. You only need to ask us how to do!

Marius Hein
Marius Hein
Head of IT Service Management

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert und viele Jahre in der Softwareentwicklung gearbeitet. Mittlerweile ist er Herr über die interne IT und als Leiter von ITSM zuständig für die technische Schnittmenge der Abteilungen der NETWAYS Gruppe. Wenn er nicht gerade IPv6 IPSec Tunnel bohrt, sitzt er daheim am Schlagzeug und treibt seine Nachbarn in den Wahnsinn.

NETWAYS Webinare – Aus der Asche

Wer am letzten Webinar zur Icinga 2 Anbindung von Graphite und Grafana teilgenommen hat, wurde Live Zeuge wie sich ein System verhält wenn es faktisch zu heiß ist und einfach seinen Dienst quittiert. Zugegeben, so etwas passiert in der Regel relativ selten. Während eines Webinars ist der Zeitpunkt aber relativ ungünstig.
Wie angekündigt werden wir das Webinar nachholen und zwar am 23. August 2018 um 10:30 Uhr. Die kostenfreie Anmeldung ist direkt hier möglich.
Damit natürlich nicht das selbe Szenario wie beim letzten mal Auftritt, haben wir unser Equipment ein klein wenig aktualisiert.

Somit ist zumindest das Hitze- und Performance Problem kein Hindernis mehr und können entspannt in die Zukunft blicken und die nächsten geplanten Webinare mit Bravur meistern:

Ich freue mich wie immer auf eine rege Teilnahme!

Christian Stein
Christian Stein
Manager Sales

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Manager Sales und berät unsere Kunden in der vertrieblichen Phase rund um das Thema Monitoring. Gemeinsam mit Georg hat er sich Mitte 2012 auch an unserem Hardware-Shop "vergangen".

RT Extensions Made Easy

Heute geht es darum, wie man auf einfache Art und Weise Erweiterungen für Request Tracker vorbereitet. Einen kleinen Ausblick darauf wie man sie dann auch schreibt, gibt es am Ende auch, aber mehr würde den Rahmen dieses Posts sprengen.
Bevor wir beginnen, müssen jedoch erst einige Vorbereitungen erledigt werden:
# cpanm Module::Install::RTx Dist::Zilla::MintingProfile::RTx
Dies installiert einige Werkzeuge die wir für die folgenden Beispiele benötigen.
Außerdem bietet es sich an, ein paar grundlegende Informationen über die eigene Person zu konfigurieren. Das erspart uns später einige Angaben:
$ dzil setup

Wer sich fragt was man alles mögliche an Lizenzen angeben kann, darf hier einen Blick riskieren.
Schon kann es losgehen. Zuerst erstellen wir mit dem sogenannten „profile provider“ RTx ein blankes Skelett.
Dies erstellt dort wo wir uns gerade befinden ein neues Verzeichnis mit dem Namen „RT-Extension-Netways“:
$ dzil new -P RTx RT-Extension-Netways

Die darin enthaltene Datei „Netways.pm“ nun öffnen und entsprechend anpassen bzw. erweitern. Darunter fallen i.d.R. der Name, die Beschreibung, die RT Versions-Voraussetzungen und die Autoren Angabe. Der Rest sollte bereits größtenteils vorausgefüllt sein, wie schon zuvor erwähnt.
Außerdem ist es ratsam sich die Datei „Makefile.PL“ einmal genauer anzusehen. Denn dort sind ebenfalls einige wichtige Angaben zu finden über deren Korrektheit man sich vergewissern sollte.
Hat man dies getan, kann man bereits mit der eigentlichen Entwicklung der Erweiterung beginnen.
Hierzu sei jedem die offizielle Dokumentation von Best Practical und HTML::Mason ans Herz gelegt.
Ist man letztendlich fertig mit der Entwicklung oder möchte schon einmal testen was man da tolles fabriziert hat, ist es an der Zeit die Verteilung seiner neuen Erweiterung vorzubereiten:
$ perl Makefile.PL

Da dies die erste Ausführung von „Makefile.PL“ war, wurden einige für die Installation notwendige Bibliotheken in die Struktur integriert. Diese sind notwendig, damit Nutzer die Erweiterung zumindest installieren können, ohne zusätzlich notwendige Abhängigkeiten.
Außerdem wurden einige zusätzliche Dateien und Verzeichnisse angelegt. Diese jedoch sind nur ein Nebenprodukt und nicht notwendig für die Verteilung. (Darunter das „Makefile“ und die „MYMETA.*“ Dateien.) Was alles genau nicht notwendig ist, kann in der Datei „gitignore“ nachgelesen werden. (Wer sowieso mit Git arbeitet, kann diese Datei auch zu „.gitignore“ umbenennen.)
Nun folgt man nur noch den üblichen Schritten und schon kann die Erweiterung konfiguriert und genutzt/getestet werden:
$ make
# make install

Johannes Meyer
Johannes Meyer
Lead Developer

Johannes ist seit 2011 bei uns und inzwischen, seit er 2014 die Ausbildung abgeschlossen hat, als Lead Developer für Icinga Web 2, Icinga DB Web sowie alle möglichen anderen Module und Bibliotheken im Web Bereich zuständig. Arbeitet er gerade mal nicht, macht er es sich bei schlechtem Wetter am liebsten zum zocken oder Filme/Serien schauen auf dem Sofa gemütlich. Passt das Wetter, geht's auch mal auf eines seiner Zweiräder. Motorisiert oder nicht.