GitLab CI Runners with Auto-scaling on OpenStack

 

With migrating our CI/CD pipelines from Jenkins to GitLab CI in the past months, we’ve also looked into possible performance enhancements for binary package builds. GitLab and its CI functionality is really really great in this regard, and many things hide under the hood. Did you know that “Auto DevOps” is just an example template for your CI/CD pipeline running in the cloud or your own Kubernetes cluster? But there’s more, the GitLab CI runners can run jobs in different environments with using different hypervisors and the power of docker-machine.

One of them is OpenStack available at NWS and ready to use. The following examples are from the Icinga production environment and help us on a daily basis to build, test and release Icinga products.

 

Preparations

Install the GitLab Runner on the GitLab instance or in a dedicated VM. Follow along in the docs where this is explained in detail. Install the docker-machine binary and inspect its option for creating a new machine.

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
apt-get install -y gitlab-runner
  
curl -L https://github.com/docker/machine/releases/download/v0.16.2/docker-machine-`uname -s`-`uname -m` -o /usr/local/bin/docker-machine
chmod +x /usr/local/bin/docker-machine
  
docker-machine create --driver openstack --help

Next, register the GitLab CI initially. Note: This is just to ensure that the runner is up and running in the GitLab admin interface. You’ll need to modify the configuration in a bit.

gitlab-runner register \
  --non-interactive \
  --url https://git.icinga.com/ \
  --tag-list docker \
  --registration-token SUPERSECRETKEKSI \
  --name "docker-machine on OpenStack" \
  --executor docker+machine \
  --docker-image alpine

 

Docker Machine with OpenStack Deployment

Edit “/etc/gitlab-runner/config.toml” and add/modify the “[[runners]]” section entry for OpenStack and Docker Machine. Ensure that the MachineDriver, MachineName and MachineOptions match the requirements. Within “MachineOptions”, add the credentials, flavors, network settings just as with other deployment providers. All available options are explained in the documentation.

vim /etc/gitlab-runner/config.toml

  [runners.machine]
    IdleCount = 4
    IdleTime = 3600
    MaxBuilds = 100
    MachineDriver = "openstack"
    MachineName = "customer-%s"
    MachineOptions = [
      "openstack-auth-url=https://cloud.netways.de:5000/v3/",
      "openstack-tenant-name=1234-openstack-customer",
      "openstack-username=customer-login",
      "openstack-password=sup3rS3cr3t4ndsup3rl0ng",
      "openstack-flavor-name=s1.large",
      "openstack-image-name=Debian 10.1",
      "openstack-domain-name=default",
      "openstack-net-name=customer-network",
      "openstack-sec-groups="mine",
      "openstack-ssh-user=debian",
      "openstack-user-data-file=/etc/gitlab-runner/user-data",
      "openstack-private-key-file=/etc/gitlab-runner/id_rsa",
      "openstack-keypair-name=GitLab Runner"
    ]

The runners cache can be put onto S3 granted that you have this service available. NWS luckily provides S3 compatible object storage.

  [runners.cache]
    Type = "s3"
    Shared = true
    [runners.cache.s3]
      ServerAddress = "s3provider.domain.localdomain"
      AccessKey = "supersecretaccesskey"
      SecretKey = "supersecretsecretkey"
      BucketName = "openstack-gitlab-runner"

Bootstrap Docker in the OpenStack VM

Last but not least, these VMs need to be bootstrapped with Docker inside a small script. Check the “–engine-install-url” parameter in the help output:

root@icinga-gitlab:/etc/gitlab-runner# docker-machine create --help
  ...
  --engine-install-url "https://get.docker.com"							Custom URL to use for engine installation 

You can use the official way of doing this, but putting this into a small script also allows customizations like QEMU used for Raspbian builds. Ensure that the script is available via HTTP e.g. from a dedicated GitLab repository 😉

#!/bin/sh
#
# This script helps us to prepare a Docker host for the build system
#
# It is used with Docker Machine to install Docker, plus addons
#
# See --engine-install-url at docker-machine create --help

set -e

run() {
  (set -x; "$@")
}

echo "Installing Docker via get.docker.com"
run curl -LsS https://get.docker.com -o /tmp/get-docker.sh
run sh /tmp/get-docker.sh

echo "Installing QEMU and helpers"
run sudo apt-get update
run sudo apt-get install -y qemu-user-static binfmt-support

Once everything is up and running, the GitLab runners are ready to fire the jobs.

 

Auto-Scaling

Jobs and builds are not run all the time, and especially with cloud resources, this should be a cost-efficient thing. When building Icinga 2 for example, the 20+ different distribution jobs generate a usage peak. With the same resources assigned all the time, this would tremendously slow down the build and release times. In that case, it is desirable to automatically spin up more VMs with Docker and let the GitLab runner take care of distributing the jobs. On the other hand, auto-scaling should also shut down resources in idle times.

By default, one has 4 VMs assigned to the GitLab runner. These builds run non-privileged in Docker, the example below also shows another runner which can run privileged builds. This is needed for Docker-in-Docker to create Docker images and push them to GitLab’s container registry.

root@icinga-gitlab:~# docker-machine ls
NAME                                               ACTIVE   DRIVER      STATE     URL                      SWARM   DOCKER     ERRORS
runner-privileged-icinga-1571900582-bed0b282       -        openstack   Running   tcp://10.10.27.10:2376           v19.03.4
runner-privileged-icinga-1571903235-379e0601       -        openstack   Running   tcp://10.10.27.11:2376           v19.03.4
runner-non-privileged-icinga-1571904408-5bb761b5   -        openstack   Running   tcp://10.10.27.20:2376           v19.03.4
runner-non-privileged-icinga-1571904408-52b9bcc4   -        openstack   Running   tcp://10.10.27.21:2376           v19.03.4
runner-non-privileged-icinga-1571904408-97bf8992   -        openstack   Running   tcp://10.10.27.22:2376           v19.03.4
runner-non-privileged-icinga-1571904408-97bf8992   -        openstack   Running   tcp://10.10.27.22:2376           v19.03.4

Once it detects a peak in the pending job pipeline, the runner is allowed to start additional VMs in OpenStack.

root@icinga-gitlab:~# docker-machine ls
NAME                                               ACTIVE   DRIVER      STATE     URL                      SWARM   DOCKER     ERRORS
runner-privileged-icinga-1571900582-bed0b282       -        openstack   Running   tcp://10.10.27.10:2376           v19.03.4
runner-privileged-icinga-1571903235-379e0601       -        openstack   Running   tcp://10.10.27.11:2376           v19.03.4
runner-non-privileged-icinga-1571904408-5bb761b5   -        openstack   Running   tcp://10.10.27.20:2376           v19.03.4
runner-non-privileged-icinga-1571904408-52b9bcc4   -        openstack   Running   tcp://10.10.27.21:2376           v19.03.4
runner-non-privileged-icinga-1571904408-97bf8992   -        openstack   Running   tcp://10.10.27.22:2376           v19.03.4
runner-non-privileged-icinga-1571904408-97bf8992   -        openstack   Running   tcp://10.10.27.23:2376           v19.03.4

...

runner-non-privileged-icinga-1571904534-0661c396   -        openstack   Running   tcp://10.10.27.24:2376           v19.03.4
runner-non-privileged-icinga-1571904543-6e9622fd   -        openstack   Running   tcp://10.10.27.25:2376           v19.03.4
runner-non-privileged-icinga-1571904549-c456e119   -        openstack   Running   tcp://10.10.27.27:2376           v19.03.4
runner-non-privileged-icinga-1571904750-8f6b08c8   -        openstack   Running   tcp://10.10.27.29:2376           v19.03.4

 

In order to achieve this setting, modify the runner configuration and increase the limit.

vim /etc/gitlab-runner/config.toml

[[runners]]
  name = "docker-machine on OpenStack"
  limit = 24
  output_limit = 20480
  url = "https://git.icinga.com/"
  token = "supersecrettoken"
  executor = "docker+machine"

This would result in 24 OpenStack VMs after a while, and all are idle 24/7. In order to automatically decrease the deployed VMs, use the OffPeak settings. This also ensures that resources are available during workhours while spare time and weekend are considered “off peak” with shutting down unneeded resources automatically.

    OffPeakTimezone = "Europe/Berlin"
    OffPeakIdleCount = 2
    OffPeakIdleTime = 1800
    OffPeakPeriods = [
      "* * 0-8,22-23 * * mon-fri *",
      "* * * * * sat,sun *"
    ]

Pretty neat functionality 🙂

 

Troubleshooting & Monitoring

“docker-machine ls” provides the full overview and tells whenever e.g. a connection to OpenStack did not work, or if the VM is currently unavailable.

root@icinga-gitlab:~# docker-machine ls
NAME                                               ACTIVE   DRIVER      STATE     URL                      SWARM   DOCKER     ERRORS
runner-privileged-icinga-1571900582-bed0b282       -        openstack   Error                                      Unknown    Expected HTTP response code [200 203] when accessing [GET https://cloud.netways.de:8774/v2.1/servers/], but got 404 instead

In case you have deleted the running VMs to start fresh, provisioning might take a while and the above can be a false positive. Check the OpenStack management interface to see whether the VMs booted correctly. You can also remove a VM with “docker-machine rm <id>” and run “gitlab-runner restart” to automatically provision it again.

Whenever the VM provisioning fails, a gentle look into the syslog (or runner log) unveils what’s the problem. Lately we had used a wrong OpenStack flavor configuration which was fixed after investigating in the logs.

Oct 18 07:08:48 3 icinga-gitlab gitlab-runner[30988]:  #033[31;1mERROR: Error creating machine: Error in driver during machine creation: Unable to find flavor named 1234-customer-id-4-8#033[0;m  #033[31;1mdriver#033[0;m=openstack #033[31;1mname#033[0;m=runner-non-privilegued-icinga-1571375325-3f8176c3 #033[31;1moperation#033[0;m=create

Monitoring your GitLab CI runners is key, and with the help of the REST API, this becomes a breeze with Icinga checks. You can inspect the runner state and notify everyone on-call whenever CI pipelines are stuck.

 

Conclusion

Developers depend on fast CI feedback these days, speeding up their workflow – make them move fast again. Admins need to understand their requirements, and everyone needs a deep-dive into GitLab and its possibilities. Join our training sessions for more practical exercises or immediately start playing in NWS!

Michael Friedrich
Michael Friedrich
Senior Developer

Michael ist seit vielen Jahren Icinga-Entwickler und hat sich Ende 2012 in das Abenteuer NETWAYS gewagt. Ein Umzug von Wien nach Nürnberg mit der Vorliebe, österreichische Köstlichkeiten zu importieren - so mancher Kollege verzweifelt an den süchtig machenden Dragee-Keksi und der Linzer Torte. Oder schlicht am österreichischen Dialekt der gerne mit Thomas im Büro intensiviert wird ("Jo eh."). Wenn sich Michael mal nicht in der Community helfend meldet, arbeitet er am nächsten LEGO-Projekt oder geniesst...

NETWAYS stellt sich vor – Henrik Triem

Name: Henrik Triem
Alter: 24 Jahre
Position bei NETWAYS: Junior Developer
Bei NETWAYS seit: August 2018
Was genau gehört zu Deinem Aufgabenbereich bei NETWAYS?
Ich habe das große Vergnügen, mich in C++ und Icinga Core reinzufuchsen. Von den Grundlagen der Softwareentwicklung bis hin zu ausgeklügelten Feinheiten des Icinga-Codes, meine Hauptaufgabe ist es momentan, mich zu einem Icingaexperten zu machen. Dazu werden von mir Issues bearbeitet, ich sauge die Konzepte und Ideen auf, die meine Kollegen in den Code eingearbeitet haben, und versuche mich Stück für Stück mehr einzubringen.
An welchen Projekten arbeitest Du gerade?
Momentan versuche ich verschiedenste Konzepte von Icinga zu verinnerlichen; darunter die DSL oder auch die Verwendung von TLS in unserem Code. Außerdem steht bald wieder ein neuer Release an!
Welche größeren oder besonders interessanten Projekte stehen zukünftig an?
Eines der größeren Projekte in näherer Zeit wird es sein, den Icinga Core auf C++11-Standard zu heben. Generell ist die Modernisierung ein Prozess, der niemals abgeschlossen ist, und mich brennend interessiert.
Was macht Dir an Deiner Arbeit am meisten Spaß?
Die Freiheiten, die ich bekomme, um mich in Themengebiete reinzuarbeiten, Issues und Probleme zu bewältigen, und einen aktiven Aufbereitungsprozess zu haben. Als Programmierer freut man sich eh über jede kleine Hürde, die genommen wird; sogesehen sind in einer Debugging Session tausende kleine Freudenmomente versteckt.
Was machst Du, wenn Du mal nicht bei NETWAYS bist?
Wenn ich mich mal zuhause rumtreiben sollte, widme ich mich dort meinem Klavier und meiner Gitarre. Meistens bin ich aber in allen Ecken und Enden Deutschlands meinen Schabernack treibend zu finden…
Wie geht es in Zukunft bei Dir weiter?
Erstmal steht der (hoffentlich gute!) Abschluss meiner Ausbildung als Fachinformatiker in Anwendungsentwicklung an; danach hoffe ich, dass ich mich weiterhin gut und in vielerlei Hinsicht gebildeter und wertvoller in die Firma einbringen kann.

Henrik Triem
Henrik Triem
Junior Developer

Henrik is Anwendungsentwickler in Ausbildung, verhindeter Rockstar, kaffeegetrieben und Open Source-begeistert. Zuhause lässt er es auch mal ruhiger mit Tee angehen, entspannt an Klavier oder Gitarre, erkundet neue Musik oder treibt sich mit seinen Freunden in Deutschland herum.

Milano – PostgreSQL Conference Europe 2019

It has been a while since one of us visited a PostgreSQL Conference. So when the opportunity arose Lennart and I took it. Additionally, it is somewhat of a special pgconf this year, because the conference is held where it originated, Italy. With over 500 attendees the conference set a new all time record. It is going to be a good one. Numerous talks, a lot of variety and gaining more insight into the postgres community. That being said, these talks can by no means be summarized in one blog post, that is why I have decided to bring you my just personal highlights. If you are interested in talks not mentioned here, I highly recommend checking out the official pgconf.eu website, where at least most slides of speakers can be found.

Paul Ramseys talk about PostGIS was the first one that spiked my attention. Having used PostGIS before without extensive knowledge, the add-on seemed pretty mundane, but little did I know. And I mean that. Little did I know of the extend of PostGIS or GIS as a whole. Let me try to give you the just of it. There was a phrase that he used a few times that somehow stuck: GIS without the GIS. To be just that PostGIS without the GIS the workload of low-performance scripts had to be moved to more efficient SQL. Additionally, spatial middleware from the database to the web had to go. Lastly, PostGIS had to be build in a way that provides developer with direct access to a GIS analytical engine. After giving everyone a basic introduction with the some example problems and queries to solve them. Well, he told us everything about PostGIS or atleast a lot. SFSQL, OSS, ISO, Indexing, Spatial Joins, the list is long. 189 Slides, If you will.

Next up in my little list of talks I really enjoyed was Wonderful SQL features your ORMs can use (or not) by Louise Grandjonc. She went through various ORMs (Object Relationship Mapper) during her talk like Django, SQLAlchemy, activerecord and Sequel and used them for a little project of hers. With scripts she aggregated Data regarding pop music lyrics and used this data as an example for various queries.

More Than a Query Language: SQL in the 21st Century was the title of the talk I want to tell you about next. Markus Winand talked a lot of history here. He looked at the very beginning and saw how SQL evolved and changed in many ways. A lot of empathisis was put on SQL having been bound to the idea of an relational data model for too long and that not necessarily beening the case today anymore. While jumping through the timeline of SQL development and explaining various features in the process he validated his claim.

I think it was a great event. I really liked the variety of topics and I hope even though I just mentioned a few, you got some insight into the event. PostgreSQL has an awesome community and having that conference as a platform to exchange experience, help and learn from eachother is just great

Alexander Stoll
Alexander Stoll
Junior Consultant

Alexander ist ein Organisationstalent und außerdem seit Kurzem Azubi im Professional Services. Wenn er nicht bei NETWAYS ist, sieht sein Tagesablauf so aus: Montag, Dienstag, Mittwoch Sport - Donnerstag Pen and Paper und ein Wochenende ohne Pläne. Den Sportteil lässt er gern auch mal ausfallen.

Ab in den Wald!

This entry is part 9 of 9 in the series Just fit – Just awesome

Kurzer Abriss

Wir Deutschen besitzen eine tiefe Verbundenheit zu unseren Wäldern. Das spüren wir wenn wir durch ihn durch spazieren. Damit meine ich jetzt nicht nur die “historische” Verbundenheit wie z.B. Versorgung, Okkultismus, Dämonen oder Wölfe. Bereits in meinem kurzen Leben geht es immer mal wieder um den Wald. Da gab es z.B. die Katastrophe von Tschernobyl, welche bis heute Auswirkungen auf das Waldleben hat. Dann hatten wir einige ominöse Waldsterben in den 80er Jahren welche plötzlich verschwunden sind und wir haben mehr oder minder erfolgreiche Aufforstungspläne miterlebt. In Deutschland werden gerne auch mal Bäume gezählt, inventarisiert (Bundeswaldinventur) oder mit Barcodes ausgestattet.

Das eigentlich Positive oder “Warum denn der Wald für uns wichtig ist”, war immer nur ein Gefühl wenn man ihn betritt. In den letzten Jahren allerdings rückt der Wald immer stärker in den gesundheitlichen Fokus. Das könnte auch daran liegen, dass wir einfach mehr über dessen Ökosystem und Lebensformen wissen und wir nach und nach einen verständigeren Blick entwickeln. Aber auch Bücher wie “Das geheime Leben der Bäume” von Peter Wohlleben tragen dazu bei, dass man sich wieder mehr mit dem Wald beschäftigt.

Was macht er denn nun, der Wald

Er wirkt positiv auf uns Menschen – und das ganz massiv. Das merkt man immer dann wenn Menschen keinen Zugang zum Wald haben. Was bei allgegenwärtiger Urbanisierung nicht besonders schwer sein dürfte.

Menschen, die sich häufig im Wald aufhalten leiden weniger an den typischen Zivilisationskrankheiten, also z.B. Bluthochdruck, Krebs oder Depressionen. Das hat besonders mit beruhigenden Faktoren zu tun: Der Wald dämpft Geräusche, beruhigt das Auge und besitzt ein eigenes Mikroklima. Die Gedanken kommen zu ruhe und die Luft erfrischt unseren Körper. Dadurch sinkt der Cortisolspiegel und wir fühlen uns weniger gestresst. Auch stellt der Wald komplexe Gerüche für unsere Nase bereit. Diese Terpene (Phytonzide) werden von Pflanzen als Kommunikationsmittel oder als Insektenschutz verwendet. Uns Menschen inspirieren diese “harzigen” Gerüche und steigern nach­ge­wie­se­ner­ma­ßen die Menge der Abwehrzellen in unserem Körper. Durch mäßige körperliche Aktivität wird außerdem das Herz-Kreislauf-System positiv gefördert.

Es gibt mittlerweile zig Studien, welche die oben genannten positiven Eigenschaften belegen und noch viele mehr aufzeigen. Ich wage es allerdings zu bezweifeln, dass ein so komplexes System wie der Wald in seine einzelnen Wirkbestandteile aufgeteilt werden kann und sollte. Es gibt aber einen nachgewiesenen Unterschied zwischen einem Stadtspaziergang, einem Sonnenbad in einer Heidelandschaft und dem Verweilen im Wald – Das ist wichtig!

Fazit

Deutschland ist ca. zu einem Drittel mit Wald bedeckt und das sollten wir nutzen. Hin und wieder einen Spaziergang im Wald, vielleicht Pilze sammeln (und jemand fragen der sich mit Speisepilzen auskennt) und ein positives Verhältnis zum Wald und dessen Bewohner aufbauen. Das entspannt Körper, Geist und Seele und hält fit. Jogger oder Radfahrer können ihre Runden im Wald drehen. Und wer die Möglichkeit hat, kann auch mit dem Laptop ins Gehölz gehen, ein Buch lesen, picknicken oder die nächste Yoga-Session in den Wald verlegen – oder neudeutsch: “Waldbaden”

Man wird im Allgemeinen überrascht sein, was man alles dort erleben kann!

Für mich persönlich ist es einfacher und außerdem nachhaltiger in den “eigenen” nächstgelegenen Wald zu gehen als mit dem SUV 100km in die nächste Therme zu brettern, um sich zu entspannen.

Marius Hein
Marius Hein
Head of Development

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert, dann als Application Developer gearbeitet und ist nun Leiter der Softwareentwicklung. Ausserdem ist er Mitglied im Icinga Team und verantwortet dort das Icinga Web.
Nachhaltigkeit in der Firma?

Nachhaltigkeit in der Firma?

Was bedeutet Nachhaltigkeit für dich?

Jeder von uns hat eine gewisse Vorstellung davon, was man dazu beitragen kann, für künftige Generationen Ressourcen zu erhalten. Manche setzen sich dafür ein, dass nur so viele Bäume gefällt werden, wie auch gepflanzt werden. Und manche finden es am Wichtigsten, dass nicht so viel Essen weggeworfen wird. Was ist dir wichtiger?
Dass weniger Plastikmüll produziert wird? Oder, dass man lokale Produkte kauft wegen der Umwelt?
Nun stellt sich die Frage, was man als Firma umsetzen kann, ohne direkt auf etwas zu verzichten.
Klar, wenn es einer Firma gut geht kann man tatsächlich einiges tun. Aber es muss gar nicht so viel kosten!

 

Was wir bei NETWAYS umsetzen

Also wir trinken unglaublich gerne Kaffee, und auch wenn wir wissen, dass sich dieser nicht auf der neuen Dachterrasse züchten lässt, können wir dennoch nicht darauf verzichten. Also, was tun?
Wir haben den Lieferanten gewechselt und werden nun von der lokalen Kaffeerösterei Rösttrommel beliefert, damit nicht auch noch der geröstete Kaffee weite Wege transportiert werden muss. Außerdem wird nun die Milch jede Woche frisch vom Biohof Stähr hierhin beliefert. Natürlich kostet es ein bisschen mehr als die H-Milch von Discounter um die Ecke, aber wir tun damit etwas Gutes nicht nur umwelttechnisch, sondern auch für unsere Gesundheit. Unser Obstlieferant Fruiton achtet auch auf einen Obstkorb mit Früchten der Saison, und kein Kollege beschwert sich, dass im Dezember keine Erdbeeren dabei sind. Dass wir trotzdem importierte Bananen dabei haben ist eine Wahl, die wir treffen. Keine Firma kann auf alles verzichten, aber was lässt sich machen ohne viel Aufwand? In unserem Büro haben wir zum Beispiel ein Filter am Wasserhahn, so dass wir keine Wasserflaschen bestellen müssen. Das spart Müll ein, es muss weniger hin und her gefrachtet werden, und wir sparen sogar dabei.

Unser Shop muss viel Verpackungsmaterial nutzen, um sicher zu gehen, dass jegliche Sensoren etc. heil beim Kunden ankommen. Aber was spricht dagegen Luftpolsterfolien von unseren Lieferungen wiederzuverwenden? Gar nichts, weshalb wir auch kaum Geld für solche Artikel ausgeben müssen, und gleichzeitig etwas für die Umwelt tun. Die neue Kollegin braucht einen Stifteköcher? Klar ist der aus Plastik günstiger, aber es gibt eine große Auswahl an Produkten aus nachwachsenden Rohstoffen, die gar nicht so unglaublich teuer sind.

 

Keine Firma kann im Alleingang die Welt retten

Jeder hat eigene Vorstellungen davon was wirklich wichtig ist. Also, was könnt ihr tun?
Wir bei NETWAYS haben viele Ideen, die wir künftig umsetzen können und werden.
Ihr auch?

Catharina Celikel
Catharina Celikel
Office Manager

Catharina unterstützt seit März 2016 unsere Abteilung Finance & Administration. Die gebürtige Norwegerin ist Fremdsprachenkorrespondentin für Englisch. Als Office Manager kümmert sie sich deshalb nicht nur um das Tagesgeschäft sondern übernimmt nebenbei zusätzlich einen Großteil der Übersetzungen. Privat ist der bekennende Bücherwurm am liebsten mit dem Fahrrad unterwegs.
Monthly Snap September 2019

Monthly Snap September 2019

The summer is officially over, and the days are getting shorter. At NETWAYS we are happy to have eight(!) new apprentices in the office! And since our team has a lot to teach, let`s start with one of our “old” trainees, teaching us something very useful!

Consultants consulting

Out of sheer curiosity Philipp learnt the advantages of a “hot backup” versus a “cold” or offline backup. Read about his hot backup with the tool Xtrabackup by Percona in Hot Backups mittels Xtrabackup.
Thilo told us why you should be Managing your Ansible Environment with Galaxy. Avoid a messy configuration and let Galaxy structure your environment. How do you combine Elastic Stack and Ansible? Thomas tried it in Logstash automatisiert ausrollen? Freilich!

NWS has a new App for you!

Our NWS-team has news for you! Cachet now available at NETWAYS Web Services. Marius checked it out for us. Do you want to test it? The first 30 days are for free!
In case you haven`t heard it yet: The NETWAYS Cloud offers Open Stack Software Defined Networking (SDN)! Martin explained how it works in NETWAYS Cloud: Schnell & einfach Netzwerke erstellen mit SDN.

Meet up with the community

Julia reminded us why we are looking forward to the OSMC with the blog series OSMC| take a glance back. Make sure to sign up for the workshop or the hackathon (or both) when you buy your OSMC ticket. More information can be found in Julia`s More Monitoring at OSMC: Workshops & Hackathon. Did you know that the program is fixed? OSMC 2019: The Program is Online
Have you seen the program for the DevOpsDays? Julia gave us the highlights in DevOpsDays Berlin: Work & Culture.

To Sleep or not to Sleep?

In our Blog-series “Just Fit- Just AwesomeStephanie wrote about early birds and night owls in Von Eulen und Lerchen. Which one you are influences your productive hours, and of course your sleep rhythm.

Webinars and Shop-news

Are you interested in our various webinars on Graylog? Or do want to know when the next webinars on Open Stack will take place? Christian is ready for you! Eine Reise in Richtung Graylog – Webinar Serie.
Nicole was very excited to announce that Icinga.com now also offers hardware integration for monitoring sensors and for SMS alerting. Find out how it works and which plugins to use in Verstärkte Zusammenarbeit mit Icinga. Do you want to know more about the products in our shop, and about their producers? Check out our new webinar series! Nicole let us know more about it in Kick Off für die neue Webinar-Reihe “Monitoring Hardware”. Who wants to build their own monitoring kit? Well, not build exactly, but the Tinkerforge bricks are easily connected. Interested? Nicole shared her happiness about our Icinga Team working on a plugin for Tinkerforge products in TinkerForge – ein Blick auf den Brick.
Darf es ein wenig Umweltüberwachung sein? As Christian explained, our shop offers monitoring systems from various producers. Which one is the right system for your needs? They are all good for monitoring, but what kinds of alerts do you prefer in case of e.g. too high humidity? There is an updated software version for the SMS gateways from SMS Eagle available, as Nicole informed us! SMSEagle: Neue Software-Version 3.41

Develop the WWW

How do we make our websites accessible for visually impaired? Flying blind – accessibility in the world wide web is Feu`s highly informative text on screen readers, colour blindness and colour themes for improving the world wide web.

#lifeatnetways

Niko joined the NETWAYS family a year ago as an apprentice, and now he shared a bit more about himself in the blogpost NETWAYS stellt sich vor – Niko Martini. Are you considering an apprenticeship at NETWAYS? Or just curious what it might be like? Read Tobias` review of his first year with us! Mein erstes Jahr bei NETWAYS! Working here is different for everyone, but it is truly important to us all that everyone should feel comfortable here!

Catharina Celikel
Catharina Celikel
Office Manager

Catharina unterstützt seit März 2016 unsere Abteilung Finance & Administration. Die gebürtige Norwegerin ist Fremdsprachenkorrespondentin für Englisch. Als Office Manager kümmert sie sich deshalb nicht nur um das Tagesgeschäft sondern übernimmt nebenbei zusätzlich einen Großteil der Übersetzungen. Privat ist der bekennende Bücherwurm am liebsten mit dem Fahrrad unterwegs.