Select Page

NETWAYS Blog

stackconf 2022 | Spotify’s outage of 8.3.2022, explained

We’re still excited about stackconf 2022! Our Open Source Infrastructure Conference, which for the very first time took place in person in Berlin this year. We’ve had many awesome speakers on stage and one of their outstanding lectures I will present to you in the following.

Spotify had one of its most disruptive outages in recent history in the evening of 8.3.2022 Tue 19:00 CET, which resulted in over an hour of downtime and users getting logged out. Kat Liu, Senior Software Engineer at Spotify Berlin, explained the storm of this incident.

Kat was enjoying her day off because of International Women’s Day when she received the first alert. In a short time, she received many such alerts, and it became clear that there was a serious issue. Hundreds of people have posted online that they have been logged out and can no longer log in.

The Outage

As you can see in the screenshot above, there is a warning with the message: Failed to resolve name. The reason for this warning was that the internal system could not resolve the name of service2 because service2 was down, which caused the outage.

The Fix

The solution for this problem was very simple, just revert all services back to using the Nameless system. The outage was mostly restored by 19:40 CET.

But why were users logged out?

The screenshot above shows how service1 calls service2. Since Service2 was not available, an incorrect NOT_FOUND error was returned, causing the user to be logged out and unable to log back in.

This error was later changed to UNAVAILABLE.

The Aftermath

An outage lasting about 40 minutes resulted in about 50 million login sessions were disrupted.

Over the next few days/weeks, 3 million new duplicate accounts were created as many users were not regularly logging into Spotify and had forgotten their credentials.

That was just a short summary of Kat Liu’s talk at stackconf 2022. You can watch her full talk on our YouTube channel. Enjoy!
And don’t forget to register for the stackconf newsletter to stay tuned about the upcoming plans for next year’s stackconf! See you there!

Sukhwinder Dhillon
Sukhwinder Dhillon
Developer

Sukhwinder hat 2021 seine Ausbildung als Fachinformatiker für Anwendungsentwicklung bei NETWAYS erfolgreich abgeschlossen. In seiner Freizeit fährt er gerne Fahrrad, trifft sich mit Freunden, geht Joggen oder sitzt vorm Computer und lernt etwas Neues.

stackconf online 2021 | Spot the Anti-Pattern

This entry is part 6 of 27 in the series stackconf online 2021

stackconf online 2021 is over and was a full success. It was all about open source infrastructure solutions in the spectrum of continuous integration, container, hybrid and cloud technologies. We’re still excited about all of our experts sessions and the large number of participants who joined us from all over the world. In the following you get an insight about one of our talks.

Arushi Jain, a senior software engineer at Reddit, talked about anti-pattern in her speech at stackconf 2021.

The talk on “Spot the Anti-Pattern” dives deep into the study of anti-patterns. How it helps to create a common language and focus the stakeholders on it. It helps to analyse the past and find out how to interrupt the patterns in the future to avoid the same mistakes. The presence of anti-patterns and how to find one, this information is properly communicated, such as a commonly implemented practice with negative effects when used in varying degrees of severity.  A common example of an anti-pattern is the fart system at work. Every system needs an upgrade after time and a variety of frameworks to develop the concerns and the need to show continuous upgrades.  To develop a solution for any kind of anti-pattern, the one common thing is to analyse the record consisting of a particular volume to find out the pattern and then work towards the alternative things to design a better way. 

Anti-patterns can be identified in almost everything and architectural and some micro-organisational examples that occur in everyday life were discussed. The follow up work is to keep all stakeholders informed and then have meaningful conversations to identify the counter plan by collecting the data and identifying the root cause. It also takes a team effort to identify the counter pattern and then work on the solution because nothing will happen in one go. Some patterns are complex and require multi-layered iteration to address.

About Patterns and Anti-Patterns

Following are some questions and answers that summarise the subject:

What is a pattern? 

A pattern is a general repeatable solution to a commonly occurring problem.

What is an anti-pattern? 

An anti-pattern is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive.

Note the reference to “a common response”. Anti-patterns are not occasional mistakes, they are common ones, and are nearly always followed with good intentions.

Why anti-patterns exist? 

Patterns exist because humans are flawed thinkers. Cognitive bias is a systemic error in thinking that occurs when people process and interpret information from their environment and then use that information to influence the decisions and judgements they make.

How can you identify an anti-pattern?

Identify human conflict.

Incomprehensible systems are a sign.

Look for teams who are constantly behind.

More from and about stackconf

stackconf 2022 will take place in Berlin. The final date will be announced soon. If you want to learn more about infrastructure solutions in advance you have the possibility to take look at our archive where you can find all slides and videos from this year’s stackconf.

Stay tuned!

Sukhwinder Dhillon
Sukhwinder Dhillon
Developer

Sukhwinder hat 2021 seine Ausbildung als Fachinformatiker für Anwendungsentwicklung bei NETWAYS erfolgreich abgeschlossen. In seiner Freizeit fährt er gerne Fahrrad, trifft sich mit Freunden, geht Joggen oder sitzt vorm Computer und lernt etwas Neues.

Kommende Icinga Web-Funktion: Rememberme

Wir freuen uns immer über Feedback von euch, um Icinga noch besser zu machen. Viele Icinga-Benutzer haben die Meinung geäußert, dass sie gerne eine Rememberme-Checkbox auf der Login-Seite von Icinga Web hätten, damit sie sich nicht jedes Mal anmelden müssen, wenn sie Icinga Web besuchen.
Wir haben an diesem neuen Feature speziell während des Home-Office gearbeitet und planen, es in der nächsten Version von Icinga Web zu veröffentlichen.

Hier sind einige Schritte, wie dies funktioniert:

  • Wir führen ein neues “remember me” Cookie und ein “Stay logged in” checkbox auf der Login Seite ein.
  • Alle sensiblen Benutzerinformationen werden mit einem RSA-Schlüsselpaar verschlüsselt.
  • Das Cookie läuft nach 30 Tagen ab.
  • Die Erneuerung erfolgt automatisch nach einer erfolgreichen “remember me” Authentifizierung und beinhaltet die Neuerstellung des RSA-Schlüsselpaares und des Cookies mit 30 Tagen Ablaufdatum.
  • Die Authentifizierung über das “remember me” Cookie löst unseren normalen Authentifizierungsprozess aus, d. h. die Anmeldung mit dem Benutzernamen und dem Kennwort und die Erstellung eines neuen Sitzungs-Cookies bei erfolgreicher Authentifizierung.
  • Das Cookie wird gelöscht, wenn die Authentifizierung fehlschlägt oder ein Logout ausgelöst wird.

Um die Geheimnisse des Benutzers sicher zu speichern, erzeugen wir auf der Serverseite ein RSA-Schlüsselpaar bei der Erstellung des “remember me” Cookies. Das Schlüsselpaar wird in unserer Web-Datenbank gespeichert. Der Inhalt des Cookies sieht wie folgt aus:

  • Öffentlicher Schlüssel
  • Benutzername und Kennwort, verschlüsselt mit dem öffentlichen Schlüssel

Damit ist der öffentliche Schlüssel unser gemeinsames Geheimnis. Bei der Authentifizierung über das “remember me” Cookie suchen wir den öffentlichen Schlüssel in unserer Datenbank, entschlüsseln die Geheimnisse mit dem privaten Schlüssel und lösen unsere normale Authentifizierung mit dem entschlüsselten Benutzernamen und Passwort aus.

Warum lösen wir die normale Authentifizierung aus?

Die normale Authentifizierung beinhaltet bereits die Überprüfung der Kombination aus Benutzernamen und Passwort. Auf diese Weise prüfen wir, ob der Benutzer existiert oder das Passwort geändert wurde.
Wenn das Cookie bereits existiert und der Benutzer die Seite besucht, entschlüsseln wir die Benutzergeheimnisse und versuchen, uns damit anzumelden. Das funktioniert genauso, als ob der Benutzer diese Informationen manuell eingegeben und auf Login geklickt hätte.

Du kannst die Entwicklung dieser Funktion auf Github verfolgen. Wenn Du einen anderen Vorschlag oder einen neuen Feature Vorschlag hast, den Du gerne sehen würdest, kannst Du gerne ein Issue auf Issue auf Github öffnen.

 

Sukhwinder Dhillon
Sukhwinder Dhillon
Developer

Sukhwinder hat 2021 seine Ausbildung als Fachinformatiker für Anwendungsentwicklung bei NETWAYS erfolgreich abgeschlossen. In seiner Freizeit fährt er gerne Fahrrad, trifft sich mit Freunden, geht Joggen oder sitzt vorm Computer und lernt etwas Neues.

NETWAYS stellt sich vor – Sukhwinder Dhillon

This entry is part 28 of 62 in the series NETWAYS stellt sich vor


Name:
 Sukhwinder Dhillon
Alter: 23
Position bei NETWAYS: Junior Developer
Ausbildung: Fachinformatiker, Richtung Anwendungsentwicklung
Bei NETWAYS seit: Januar 2020

Wie bist du zu NETWAYS gekommen und was genau gehört zu Deinem Aufgabenbereich?
Ich habe meine Ausbildung in einem anderen Betrieb angefangen und habe mein Betrieb wechseln wollen. Da ich in der Berufsschule NETWAYS Azubis als Klassenkameraden habe und sehr viel Gutes über NETWAYS gehört hatte, habe ich mich im Dezember hier beworben.
Die Aufgabenbereiche sind vielfältig. Zurzeit habe ich das Entwickeln von neue Modulen und Features für Icinga Web zu meinem Aufgabenbereich gemacht. Inzwischen habe ich auch Schulungen und andere kleine Aufgaben.

Was macht Dir an Deiner Arbeit am meisten Spaß?
Jeden Tag etwas Neues zu lernen und somit meine Programmierkenntnisse zu erweitern, nette Kollegen helfen immer bei Problemen und es wird nie langweilig. Und Problemlösungen zu finden macht mir am meisten Spaß.

Welche größeren, besonders interessanten Projekte stehen künftig an?
Die nächsten Wochen entwickle ich das Support-Modul, füge neue Features hinzu und bin auf das Endergebnis sehr gespannt. Außerdem steht bald das jährliche Azubi-Projekt an, bei dem alle Azubis gemeinsam ein Projekt ihrer Wahl umsetzen und präsentieren.

Was machst Du, wenn Du mal nicht bei NETWAYS bist?
Ich fahre gerne Fahrrad und mache manchmal Fahrradtouren. Spiele gerne Volleyball, treffe mich mit Freunden und fahre mit Freunden in den Urlaub. In meiner Freizeit, wenn ich nichts anderes mache, lerne ich Programmieren und arbeite an meinem Blog.

Wie geht es in Zukunft bei Dir weiter?
Nachdem ich die Ausbildung erfolgreich abgeschlossen habe, würde ich gerne bei NETWAYS bleiben und die Icinga Entwicklung unterstützen.

Sukhwinder Dhillon
Sukhwinder Dhillon
Developer

Sukhwinder hat 2021 seine Ausbildung als Fachinformatiker für Anwendungsentwicklung bei NETWAYS erfolgreich abgeschlossen. In seiner Freizeit fährt er gerne Fahrrad, trifft sich mit Freunden, geht Joggen oder sitzt vorm Computer und lernt etwas Neues.