Sunday 26 November 2017

Ritter Upgrade Ausgelöst Alt Trading System


, -,,,,,,,,,,,,. . Aufrechtzuerhalten. Zombie-Software beschuldigt für Knight Capital Trading Snafu Posted 15 Aug 2012 19:30 GMT Eine Bloomberg News Geschichte gestern vergossen ein bisschen mehr Einblick in das, was verursacht die unkontrollierten elektronischen Handel durch den Markt machen Brokerage Knight Capital vor ein paar Wochen. Es scheint, dass ein ruhender Legacy-Programm irgendwie eindeutig reaktiviert wurde. Und dann störte (oder übernahm) die Firma 39s Handel am 1. August, als ein neues Software-Handelsprogramm Knight installiert hatte, begann den Betrieb. QuotOnce ausgelöst am 1. August, das ruhende System begann Multiplikation Aktien Trades von tausend, rdquo Bloomberg wurde von zwei unbenannten Quellen, die über die Angelegenheit informiert wurde, erzählt. Hmm, tote Software wird reanimiert, übernimmt ein Computersystem und läuft dann amok. Ich glaube, ich habe diesen Film irgendwo gesehen. Auch nach den Quellen, ldquoKnightrsquos Mitarbeiter sah durch acht Sätze von Software vor der Bestimmung, was passiert. rdquo Fast klingt wie es war ein Friedhof voller toter Software bereit, wieder belebt werden. Unglücklicherweise sagt der Artikel nichts mehr darüber, wie die ruhende Software erwacht und sich bei der Ausführung von Trades, die von der neuen Software, die Knight installiert hatte, Es sagt auch nicht, warum Ritter würde ldquoeight Sets von softwarerdquo scheinbar resident in seiner Ausführungsumgebung zu halten. Wersquoll muss wohl warten, bis die SEC ihre Untersuchung beendet hat, um herauszufinden, was tatsächlich passiert ist, und vermutlich einige saftige Details über Knight39s Softwareentwicklung und Systemtests. Trotzdem hat der so genannte ldquoKnight-mare-Glitch-rdquo (ua) die Regulierungsbehörden in Asien und Australien dazu veranlasst, auf hochfrequenten Handelsfirmen nach unten zu verzichten, berichtete die Financial Times in dieser Woche. Die Regulatoren sind ldquounveiling fegende Vorschläge, die Händler benötigen, um Kontrollen auf ihren Systemen zu haben und sie jährlich zu prüfen, um Marktunterbrechung zu verhindern, rdquo das Papier sagte. Regulatoren wollen ldquopre-traderdquo Risikokontrollen an Ort und Stelle zu halten ldquoaberrantrdquo Handel von geschieht, sowie Handel ldquokill switchrdquo, wenn die Risikokontrollen fehlschlagen. In verwandten Nachrichten, die FT auch berichtet, dass die jüngsten Glitch an der Tokyo Stock Exchange wurde zu einem schlechten ldquorouter in seinem Tdex Derivat Handelssystem zurückgeleitet. rdquo Aus Gründen noch nicht erklärt, ein Backup-Router nicht zu treten. Dies ist das zweite Mal In diesem Jahr, dass ein TSE-Backup-System nicht treten, wenn es nötig war. Ein Router Problem verursacht auch Probleme für mehrere Stunden gestern Morgen bei Californiarsquos Department of Motor Vehicles (DMV). Nach der Associated Press. Ein Problem mit einem California State Router verursacht die DMVrsquos Computer aus dem statersquos Netzwerk von etwa 0800 zu Mittag Ortszeit getrennt, ohne Zweifel erblicken und verärgern viele Kunden. Laut Fernsehsender CBS Sacramento. Die kalifornische DMV hat sich bei ihren Kunden über Twitter 26 mal alleine entschuldigt seit Februar für technische Schwierigkeiten. Die Station hat ohne viel Glück DMV Ausfälle untersucht, die anscheinend das System mit einer gewissen Regelmäßigkeit seit 2007 genommen haben. Durch Zufall hatten einige andere Kalifornien-Staatsagenturen gestern auch Computervernetzungprobleme, die der Staat auf eine unerklärliche ldquocircuit reconfigurationrdquo Ausgabe aufgab . Diese unabhängige Frage, die AP berichtet, wurde auch gestern mittags korrigiert. Schließlich hat Mangan Bronze, das Unternehmen, das Londonrsquos vertrautes schwarzes Taxi macht, diese Woche angekündigt, dass ldquoit die Freigabe seiner ungeprüften Halbjahresergebnisse für die sechs Monate, die am 30. Juni 2012 enden, verzögern wird. Aufgrund der Notwendigkeit, vorherige Jahre zu erklären, Von Rechnungsfehlern, die zum Licht gekommen sind. rdquo Die Fehler könnten vermutlich als computerbezogene Fehler bezeichnet werden, aber eher als Rechnungswesen. Nach einer Unternehmenserklärung, im August 2010, ein neues integriertes IT-Accounting-System, das installiert wurde, um die Verwaltung der companyrsquos ldquocomplex globale Supply Chain, rdquo verpasste einige wichtige Transaktionen während der Cut-over: ldquoDue zu einer Kombination von System-und Verfahrensfehler , Eine Reihe von Transaktionen in Bezug auf 2010 und 2011 und einige Restguthaben aus dem bisherigen System wurden nicht ordnungsgemäß durch das neue IT-System verarbeitet. Dieses Problem führte zu einer Über - und Rückstellung der Verbindlichkeiten in den Abschlüssen der Vorjahre. rdquo Infolgedessen unter - schied das Unternehmen mit einem Jahresumsatz von 3,9 Mio. € seine historischen Verluste. Mangan-Bronze hat unter starken Wettbewerbsdruck, oder in seinen eigenen Worten, ldquoTrading in den ersten sieben Monaten des Jahres war schwierig und bleibt herausfordernd mit der Gruppe weiterhin Handel mit einem Verlust. rdquo Obwohl es erwartet, dass die Situation schließlich zu verbessern, Die aktuelle starke Konkurrenz von Mercedes-Benz (die jetzt fast ein Drittel der London Taxi-Flotte) und einige erwartete neue Konkurrenz von Nissanrsquos neue emissionsarme Taxis kann nicht gut für die companyrsquos Zukunft finanzielle Gesundheit. Die FT berichtete, dass Mangan-Bronze-Aktien um 34 Prozent auf die Neuigkeiten der Ergebnisanpassung fielen und jetzt nur einen Marktwert von einigen Pfund 5 Millionen hat. Erfahren Sie mehrA Knights Tale Phil Factor Es gibt so viele Lehren aus der Geschichte von Knight Capital gelernt werden, die fast eine halbe Milliarde Dollar verliert, als Folge eines Einsatzes, der falsch gegangen ist. Die Knight Capital Group (KCG N) war ein US-amerikanisches globales Finanzdienstleistungsunternehmen, das sich mit der Markteinführung, der elektronischen Ausführung und dem institutionellen Vertrieb und Handel beschäftigt. Nach der jüngsten Order (File No.3.15570) gegen Knight Capital von US Securities and Exchange Commissionacirc hatte Knight seit vielen Jahren eine Software benutzt, die eingehende 8220parent8221 Aufträge in kleinere 8220kild8221 Aufträge brach, die dann an verschiedene Börsen oder Handelsplätze übertragen wurden Zur Ausführung Ein Tracking 8216cumulative quantity8217 Funktion zählte die Anzahl der 8216child8217 Aufträge und stoppte den Prozess, sobald die Summe der Kinderaufträge mit dem 8216parent8217 übereinstimmten und so die übergeordnete Bestellung abgeschlossen war. Zurück in den Nebeln der Zeit, wurde ihm ein Code hinzugefügt, der entschuldigt wurde, wenn eine bestimmte Flagge gesetzt wurde. Es hieß 8216power peg8217 und scheint ein ähnliches Design und Zweck zu haben, aber, man vermutet, hätte die gleiche Tracking-Funktion geteilt. Dieser Code wurde 2003 aufgegeben, aber nie gelöscht. Im Jahr 2005 wurde die Tracking-Funktion zu einem früheren Zeitpunkt im Hauptprozess verschoben. Es scheint aus der Rechnung, dass von diesem Punkt an, dass diese Fahne jemals gesetzt worden war, die alte, als obdach, wie Godzilla aus dem Eis platzen würde, so dass Kinderaufträge ohne Begrenzung ohne Tracking-Funktion ausgeführt worden wären. Es war gar nicht so, weil die Software, die die Flagge gesetzt hat, entfernt wurde. Im Jahr 2012, fast ein Jahrzehnt nach 8216Power Peg8217 wurde aufgegeben, Ritter vorbereitet ein neues Modul, um ihre Software, um mit dem bevorstehenden Retail Liquidity Program (RLP) für die New York Stock Exchange zu bewältigen. Zu diesem Zeitpunkt war die Fahne unbenutzt geblieben, und jemand machte die schicksalhafte Entscheidung, es wiederzuverwenden und ersetzte den alten 8216power peg8217 Code durch diesen neuen RLP-Code. Wurden die beiden Aktionen in einem einzigen automatisierten Einsatz durchgeführt und die neue Implementierung getestet, wäre alles gut gewesen. Es war nicht 8220Beginning am 27. Juli 2012 setzte Knight den neuen RLP-Code in SMARS in Stufen ein, indem er sie auf einer begrenzten Anzahl von Servern in SMARS an aufeinanderfolgenden Tagen platzierte. Während der Bereitstellung des neuen Codes jedoch hat einer der Knight8217s Techniker den neuen Code nicht auf einen der acht SMARS Computer Server kopiert. Knight hatte keinen zweiten Techniker, der diese Bereitstellung überprüfte und niemand bei Knight erkannte, dass der Power Peg-Code nicht vom achten Server entfernt worden war und der neue RLP-Code nicht hinzugefügt wurde. Ritter hatte keine schriftlichen Verfahren, die eine solche Überprüfung erforderten.8221 (Abs. 15) 8220 Am 1. August erhielt Knight Aufträge von Maklerhändlern, deren Kunden zur Teilnahme am RLP berechtigt waren. Die sieben Server, die den neuen Code erhalten haben, verarbeiteten diese Aufträge korrekt. Allerdings haben Aufträge, die mit dem repurposed-Flag an den achten Server gesendet wurden, den defekten Power Peg-Code ausgelöst, der auf diesem Server noch vorhanden ist. Infolgedessen begann dieser Server, Kinderaufträge an bestimmte Handelszentren zur Ausführung zu senden. Weil die kumulative Mengenfunktion verschoben worden war, schickte dieser Server kontinuierlich Kinderaufträge in rascher Reihenfolge für jeden eingehenden Elternauftrag ohne Rücksicht auf die Anzahl der Aktienausführungen, die Ritter bereits von Handelszentren erhalten hatte. Obwohl ein Teil des Auftragsmanagements von Knight8217s erkannt hat, dass die übergeordneten Aufträge gefüllt waren, wurde diese Information nicht an SMARS.8221 (Abs. 16) übermittelt. SMARS veranlasste Millionen von Aufträgen über einen Zeitraum von 45 Minuten in den Markt und erhielt über 4 Millionen Ausführungen in 154 Aktien für mehr als 397 Millionen Aktien. Zu der Zeit, als Knight die Befehle abschickte, hatte Knight eine Netto-Long-Position in 80 Aktien von rund 3,5 Milliarden und eine Netto-Short-Position in 74 Aktien von rund 3,15 Milliarden angenommen. Knight8217s Aktien sank mehr als 20 nach Händler sahen extreme Volumen Spikes in einer Reihe von Aktien, darunter bevorzugte Aktien von Wells Fargo (JWF) und Halbleiter-Unternehmen Spansion (CODE). Beide Aktien, die etwa 100.000 Handel pro Tag sehen, hatten die Hände mehr als 4 Millionen Mal um den späten Vormittag gewechselt. Letztendlich verlor Knight über 460 Millionen von diesen wilden 45 Minuten des Handels. Offensichtlich interessierte ich mich für all das, weil ich zu einem Zeitpunkt Tradesysteme für die City of London geschrieben habe. Offensichtlich ist die US SEC in einer weit besseren Position als jeder von uns, um die Fehler der Knight8217s IT-Abteilung zu erarbeiten, und der Bericht macht für schmerzhafte Lesung. Ich kann aber auch beobachten, dass auch mit den atemberaubenden Fehlern auf dem ganzen Weg ein robuster automatisierter Einsatzprozess, der von der Suppe bis zu den Nüssen getestet wurde, die Katastrophe verhindert hätte. Der Bericht liest sich wie eine griechische Tragödie. Der ganze Weg dahin will man schreien, aber nicht so. Als die Tragödie entfaltet, weint das Publikum für die Spieler, gefangen von einem grausamen Schicksal. Alle Anwendungsentwicklung und - verwendung erfordert Verteidigung in der Tiefe. Alle IT geht gelegentlich schief, aber wenn es eine Kultur der defensiven Programmierung im ganzen gibt, sind die Konsequenzen in der Regel enthalten. Für die Finanzsysteme sind diese Verteidigung gesetzlich vorgeschrieben und nur von den Toren ignoriert. Knight8217s Fehler weren8217t gemacht von nur einem unglücklichen sysadmin, aber waren progressive Fehler durch eine IT-Kultur, die mindestens zehn Jahre umfasst. Man kann diese auszählen, aber ich denke, sie sind offensichtlich. Man kann nur hoffen, dass die Industrie studiert, was im Detail passiert ist, lernt aus den Fehlern und zieht die richtigen Schlussfolgerungen. Abonnieren Sie weitere Artikel Fortnightly Newsletter helfen, schärfen Sie Ihre Fähigkeiten und halten Sie voran, mit Artikeln, ebooks und Meinung, um Sie informiert zu halten. Verwandte Artikel Ich habe auf einer Konferenz im vergangenen Jahr zu den Themen von DevOps, Konfiguration als Code und Continuous Delivery gesprochen und die folgende Geschichte verwendet, um zu zeigen, wie wichtig es ist, die Implementierungen vollautomatisch und wiederholbar im Rahmen einer DevOpsContinuous Delivery Initiative zu machen. Seit dieser Konferenz bin ich von mehreren Leuten gefragt worden, um die Geschichte über meinen Blog zu teilen. Diese Geschichte ist wahr, das ist wirklich passiert. Das ist meine Erzählung von der Geschichte, die auf dem basiert, was ich gelesen habe (ich war nicht daran beteiligt). Dies ist die Geschichte, wie ein Unternehmen mit fast 400 Millionen in Vermögenswerten in 45 Minuten wegen eines gescheiterten Einsatzes in Konkurs ging. Hintergrund Ritter Kapital-Gruppe ist ein amerikanisches globales Finanzdienstleistungsunternehmen, das in der Marktherstellung engagiert. Elektronische Ausführung und institutionelle Verkäufe und Handel. Im Jahr 2012 war Knight der größte Händler in US-Aktien mit Marktanteil von rund 17 auf jeder der NYSE und NASDAQ. Knights Electronic Trading Group (ETG) verwaltete ein durchschnittliches tägliches Handelsvolumen von mehr als 3,3 Milliarden Trades täglich und handelte über 21 Milliarden Dollar täglich. Das ist kein Witz Am 31. Juli 2012 hatte Knight ungefähr 365 Millionen in Bargeld und Äquivalenten. Die NYSE hat am 1. August 2012 ein neues Retail-Liquidity-Programm eingeführt (ein Programm, das den Einzelhandelsanlegern durch Einzelhandelsmakler wie Knight am 1. August 2012 eine verbesserte Preisgestaltung ermöglicht. In Vorbereitung auf diese Veranstaltung hat Knight ihre automatisierte, hochgeschwindigkeitsalgorithmische Software aktualisiert Router, der Aufträge in den Markt für die Ausführung als SMARS bekannt sendet. Eine der Kernfunktionen von SMARS ist es, Aufträge von anderen Komponenten der Knights Trading-Plattform (übergeordnete Aufträge) zu erhalten und dann eine oder mehrere Kinderaufträge zur Ausführung zu senden. Mit anderen Worten, SMARS würde große Aufträge von der Handelsplattform erhalten und sie in mehrere kleinere Aufträge aufteilen, um ein Käufer-Match für das Volumen der Aktien zu finden. Je größer die übergeordnete Reihenfolge, desto mehr Kinderaufträge würden erzeugt. Das Update zu SMARS sollte den alten, unbenutzten Code, der als Power Peg-Funktionalität bezeichnet wird, ersetzen, den Knight in 8 Jahren nicht benutzt hatte (warum der Code, der seit 8 Jahren tot war, in der Codebasis noch vorhanden war, ist ein Rätsel, aber das ist Nicht der Punkt). Der Code, der aktualisiert wurde, hat eine alte Flagge umgestellt, die verwendet wurde, um die Power Peg-Funktionalität zu aktivieren. Der Code wurde sorgfältig geprüft und erwies sich als ordnungsgemäß und zuverlässig. Was könnte falsch gehen Was könnte Möglicherweise falsch gehen In der Tat Zwischen 27. Juli 2012 und 31. Juli 2012 Ritter manuell entfaltete die neue Software auf eine begrenzte Anzahl von Servern pro Tag acht (8) Server in allen. Dies ist, was die SEC-Einreichung über den manuellen Bereitstellungsprozess sagt (BTW, wenn es eine SEC-Anmeldung über Ihre Bereitstellung gibt, kann etwas schrecklich falsch gegangen sein). Während des Einsatzes des neuen Codes hat jedoch einer der Rittertechniker den neuen Code nicht auf einen der acht SMARS-Computer-Server kopiert. Knight hatte keinen zweiten Techniker, der diese Bereitstellung überprüfte und niemand bei Knight erkannte, dass der Power Peg-Code nicht vom achten Server entfernt worden war und der neue RLP-Code nicht hinzugefügt wurde. Ritter hatte keine schriftlichen Verfahren, die eine solche Überprüfung erforderten. SEC Filing Release Nr. 70694 16. Oktober 2013 Um 9:30 Uhr Eastern Time am 1. August 2012 eröffneten die Märkte und Knight begann im Auftrag ihrer Kunden Aufträge von Broker-Händlern für das neue Retail Liquidity Program zu verarbeiten. Die sieben (7) Server, die die korrekte SMARS-Implementierung hatten, begannen, diese Aufträge korrekt zu bearbeiten. Aufträge, die an den achten Server gesendet wurden, lösten die angeblich wiederverfügte Flagge aus und brachten den Toten den alten Power Peg Code zurück. Angriff der Killer-Code Zombies Es ist wichtig zu verstehen, was der tote Power Peg-Code zu tun war. Diese Funktionalität sollte dazu bestimmt sein, die Aktien bürgerlich gegen eine Elternordnung zu zählen, als Kinderaufträge ausgeführt wurden. Power Peg würde das System anweisen, die Befehlsaufträge zu stoppen, sobald die übergeordnete Bestellung erfüllt war. Grundsätzlich würde Power Peg die Kinderaufträge behalten und sie stoppen, sobald die übergeordnete Bestellung abgeschlossen war. Im Jahr 2005 hat Knight diese kumulative Tracking-Funktionalität zu einem früheren Stadium der Codeausführung bewegt und damit die Zählverfolgung von der Power Peg-Funktionalität entfernt. Als das Power Peg-Flag auf dem achten Server aktiviert wurde, fing die Power Peg-Funktionalität an, Kinderaufträge für die Ausführung zu starten, aber war nicht die Aufzeichnung der Menge an Aktien gegen die übergeordnete Reihenfolge etwas wie eine endlose Schleife. 45 Minuten der Hölle Stellen Sie sich vor, was passieren würde, wenn Sie ein System hätten, das in der Lage wäre, automatisierte, schnell geschaltete Aufträge in den Markt zu schicken, ohne zu verfolgen, ob genug Aufträge ausgeführt worden sind. Ja, es war so schlimm. Als der Markt um 9:30 Uhr eröffnete, wussten die Leute schnell, dass etwas nicht stimmte. Um 9:31 Uhr war es für viele Leute an der Wall Street offensichtlich, dass etwas Ernstes passierte. Der Markt wurde mit Aufträgen aus dem ordentlichen für reguläre Handelsvolumina auf bestimmte Bestände überschwemmt. Um 9:32 Uhr waren viele Leute an der Wall Street gefragt, warum es nicht aufgehört hatte. Dies war eine Ewigkeit in High-Speed-Trading-Bedingungen. Warum hatte niemand den Kill-Switch auf was auch immer das System getan hat. Wie es sich herausstellt, gab es keinen Kill-Schalter. Während der ersten 45-minütigen Handelsrunden führten Ritterausführungen mehr als 50 des Handelsvolumens aus und trieben bestimmte Bestände über 10 ihres Wertes an. Infolgedessen verringerten sich andere Bestände im Wert auf die fehlerhaften Geschäfte. Um die Dinge noch schlimmer zu machen, begann das Knights-System, bereits früh um 8:01 Uhr (wenn SMARS Aufträge für den Pre-Market-Handel in Anspruch genommen hatte), automatisierte E-Mails zu senden. Die E-Mail-Nachrichten verweisen auf SMARS und haben einen Fehler als Power Peg deaktiviert. Zwischen 8:01 und 9:30 Uhr gab es 97 dieser E-Mails an Ritter Personal. Natürlich waren diese E-Mails nicht als Systemwarnungen konzipiert und deshalb sah sie niemand sofort an. Hoppla. Während der 45-Minuten der Hölle, die Ritter erlebt haben, versuchten sie mehrere Gegenmaßnahmen zu versuchen, die falschen Trades zu stoppen. Es gab keinen Kill-Switch (und keine dokumentierten Verfahren, wie man reagiert), so dass sie versuchten, das Problem in einem Live-Trading-Umfeld zu diagnostizieren, wo 8 Millionen Aktien jede Minute gehandelt wurden. Da sie nicht in der Lage waren zu bestimmen, was die falschen Aufträge verursacht, die sie durch die Deinstallation des neuen Codes von den Servern umgesetzt haben, wurde sie korrekt eingesetzt. Mit anderen Worten, sie haben den Arbeitscode entfernt und den gebrochenen Code verlassen. Dies verstärkte nur die Probleme, die zusätzliche übergeordnete Aufträge verursachten, um den Power Peg-Code auf allen Servern zu aktivieren, nicht nur der, der nicht korrekt eingesetzt wurde. Schließlich konnten sie das System nach 45 Minuten des Handels stoppen. In den ersten 45 Minuten war der Markt offen, der Power Peg Code erhielt und verarbeitete 212 Elternaufträge. Infolgedessen setzte SMARS Millionen von Kinderaufträgen in den Markt, was zu 4 Millionen Transaktionen gegen 154 Aktien für mehr als 397 Millionen Aktien führte. Für Sie Aktienmarkt-Junkies bedeutet dies, dass der Ritter etwa 3,5 Milliarden Netto-Long-Positionen in 80 Aktien und 3,15 Milliarden Netto-Short-Positionen in 74 Aktien angenommen. In Laien8217s Begriffe, Knight Capital Group realisiert einen 460 Millionen Verlust in 45 Minuten. Denken Sie daran, Ritter hat nur 365 Millionen in bar und Äquivalente. In 45-Minuten-Ritter ging von der größten Händler in US-Aktien und ein bedeutender Marktmacher in der NYSE und NASDAQ zu bankrott. Sie hatten 48 Stunden Zeit, um das notwendige Kapital zu erheben, um ihre Verluste zu decken (was sie mit einer Investition von 400 Millionen aus rund einem halben Dutzend Investoren zu tun hatten). Knight Capital Group wurde schließlich von Getco LLC (Dezember 2012) erworben und das fusionierte Unternehmen heißt jetzt KCG Holdings. Eine Lektion zum Lernen Die Ereignisse vom 1. August 2012 sollten eine Lehre für alle Entwicklungs - und Operations-Teams sein. Es ist nicht genug, um große Software zu bauen und zu testen, die Sie auch sicherstellen müssen, dass es geliefert wird, um korrekt zu vermarkten, damit Ihre Kunden den Wert erhalten, den Sie liefern (und damit Sie Ihr Unternehmen nicht bankrottieren). Die Ingenieure, die SMARS eingesetzt haben, sind nicht nur die Schuld daran, dass der Prozess, den Ritter eingerichtet hatte, nicht für das Risiko geeignet war, dem sie ausgesetzt waren. Darüber hinaus war ihr Prozess (oder dessen Fehlen) anfällig für Fehler. Jedes Mal, wenn Ihr Deployment-Prozess auf Menschen Lesung und nachfolgende Anweisungen, die Sie sich ausgesetzt sind, riskieren. Menschen machen Fehler. Die Fehler könnten in der Anweisung, in der Auslegung der Anweisungen oder in der Ausführung der Anweisungen sein. Deployments müssen automatisiert und wiederholbar und frei von möglichen menschlichen Fehlern wie möglich sein. Hatte Knight ein automatisiertes Bereitstellungssystem implementiert, das mit der Konfiguration, dem Einsatz und der Testautomatisierung kompatibel ist, ist der Fehler, der die Knightmare verursacht hätte, vermieden. Ein paar der Prinzipien für Continuous Delivery gelten hier (auch wenn Sie nicht einen vollständigen Continuous Delivery Prozess implementieren): Freigeben von Software sollte ein wiederholbarer, zuverlässiger Prozess sein. Automatisieren Sie so viel wie vernünftig Ein Szenario: Nehmen wir an, sie hatten sehr gute DevOps. Also alle Server würden synchron sein. Aber 8211 davon ausgehen, dass der neue Code einen Bug hatte. Also alle Server sind synchron, haben aber den gleichen Buggy Code. Was, wenn zwei Versionen des Codes, d. h. die letzten 2 Bereitstellungen hatte diesen Fehler. Also, sobald sie merken, dass etwas nicht stimmt, holt sie den Code zurück, der Bug ist immer noch still8230 Kostbare Minuten sind vergangen. Vielleicht 20 Minuten statt der 45 Minuten in deinem Artikel. Also in kurzen 8211 ihre Katastrophe Kill-Switch ist ein Code-Rollback-Einsatz in einer Live-Umgebung. Das wäre noch ein defektes Design. Was sie brauchen würde, wäre ein großer roter Schalter (fast wörtlich, irgendwo im Armaturenbrett), um sofort zu stoppen. Wo ist die Geschäftsregel, die sagt, dass es keinen Schaden gibt. VJ, wenn die Bereitstellung auf alle Server gearbeitet hatte, wäre es ok gewesen Aber in diesem Fall wurden 7 von 8 für ein Subsystem korrekt eingesetzt. Weil das schlechte Verhalten, sie rollten die anderen 7 Denken der neue Code in diesem Subsystem war das Problem. Das vervielfachte das Problem bis zum eventuellen Kill-Schalter. Katastrophen sind fast immer komplex In diesem Fall waren es schlechte Codierungspraktiken, plus fragwürdige Testcode-Inspektionspraktiken sowie ein Fehler bei der Bereitstellung sowie ein Rollback bei der Granularität des Subsystems und nicht für das gesamte System. Wenn du irgendwelche dieser Probleme beheben wirst, bekommst du eine Katastrophe. Eines der Dinge, die ich in Unternehmen gesehen habe, die die wahre Bedeutung und die Auswirkungen ihrer IT-Systeme nicht erkennt, ist, dass sie das Budget für Legacy-Code-Updates bieten. Zum Beispiel: I8217ve gesehen Situationen, in denen IT kein Budget hat. Es muss alles rechtfertigen, was es gegen einen Geschäftsaufwand macht. Das bedeutet immer wieder, um neue Projekte aufzurichten. Business sieht selten die Notwendigkeit, alte Software zu aktualisieren, die gerade arbeitet, also weigern sie sich dafür zu bezahlen. Das Ergebnis ist ein konstanter neuer Code, der von den günstigsten Codern möglich gemacht wird, während er nicht in die Technologien investiert, die letztlich die Leistung verbessern und das Risiko verringern würden. Warum, weil diese als 8220IT Probleme8221 gesehen werden und nicht die Einschätzung von was auch immer Projekt die IT-Leute arbeiten, so wird niemand dafür bezahlen. Ein toller Bericht über diese Praxis ist das Phoenix-Projekt von Gene Kim, Kevin Behr und George Spafford. Vielen Dank für die Anwendung des Gehirns auf den Hype. Wahrscheinlich sollte man fragen, warum die beteiligten Techniker die Schuld annehmen wollten, aber sie wurden nicht berechtigt, den eigenen Sender zu töten. Oh, genau das, warum hast du opsSRE sowieso an Ort und Stelle gesetzt. 8220R8221 ist für verantwortlich, aka Flammenköder. Ich habe ein bisschen über dieses Ereignis geschrieben, und ich würde jeden empfehlen, den SEC-Bericht als alles andere zu verwenden, als für das, was die SEC es brauchte. Kitchensoap20131029counterfactuals-Ritter-Hauptstadt Faszinierende lesen. Ich arbeitete an einem großen Auktionshaus für Obst und Gemüse einmal, wo eine neue Software-Version installiert und gescheitert war, was zu großen Verlusten an die Händler (wenn auch nicht so massiv wie diese). Auch dies war ein Fall von unsachgemäßem Einsatz und kein Rückfall. Die Lektion, die gelernt wird, ist, dass es Domains gibt, in denen Computer keine Entscheidung ohne menschliche Validierung treffen sollte. Was ist mit den Leuten, die ihre Arbeit verloren haben, weil, oops, da war ein Bug Was ist mit den anderen Firmen, die vielleicht in Trubble wegen der plötzlichen Änderung der Aktienwert Automation von 8220high Ebene Entscheidungen8221 ist zu behandeln sorgfältig8230 Nizza und pädagogischen Post Btw. Mit dem Cynefin-Framework bietet eine bessere Charakterisierung dieses 8216DevOps8217 Ausfalls Dieser Beitrag scheint aus einer DevOps-Perspektive geschrieben worden zu sein. Die vorgeschlagenen Lösungen sind im Einklang mit einer DevOps-Perspektive 8211 untersuchen den Release-Prozess, automatisieren mehr und Handwerk ein Kill-Switch mit Rollback-Fähigkeiten. Jemand kann die Post lesen und legte zu viel Wert auf den Rittertechniker, der den alten Code nicht auf einen der acht Server kopierte. Jemand kann eine Ursache - und Wirkungsbeziehung überschreiten. Jemand kann auf neue Regeln hineinstecken, um dies zu veranlassen, jemals wieder aufzutreten.8217 Ein stärkerer Ansatz kann investieren: 8211 Erhöhung der Vielfalt, um die Situation zu analysieren und bessere Möglichkeiten zu synthetisieren 8211 Verbessern Sie die Kommunikation zwischen den Spezialitäten 8211 Verbessern Sie die implizite Koordination zwischen den Spezialitäten 8211 Rekrutieren Sie Personen mit mehr Know-how zu schreiben und zu überprüfen Code Ein wichtiger Faktor, dass die Verbesserung der Fähigkeit des Teams von neun Jahren vor dem erheblichen Fehler Ereignis war falsch charakterisieren das System. In einem Cynefin-Framework verknüpft dieses Fehlen eines DevOps-Problems das System mit der Domäne 8220Obvious8221, wo es einfache Ursachen - und Wirkungsbeziehungen gibt, die von 8216professionals erkannt werden.8217 Der Fehler sollte nicht mit der Cynefin 8220Complicated8221 Domäne verknüpft werden, wo eine signifikante Analyse vorliegt Von 8216spezialisten8217 hätte das versagen verhindert Das System sollte mit der Cynefin 8220Complex8221 Domäne 8211 ein komplexes adaptives System verknüpft werden. Das System ist dispositional. Die gleichen Anfangsbedingungen werden nicht das gleiche Versagen (außer durch Unfall). Für weitere Informationen über Cynefin, besuchen Sie en. wikipedia. orgwikiCynefin und CognitiveEdge. Ich schätze Ihre Hervorhebung der stillschweigenden Faktoren in einer solchen Katastrophe. Wie der Autor arbeite ich auch in Operationen, und es ist leicht, in die gleichen alten Gedankenmuster auf Ursachen und Lösungen zu fallen. Ich freue mich besonders auf die Vielfalt (die in allen Formen kommt: Erfahrungsstufen, kulturelle und pädagogische Hintergründe, Skillsets, Alter usw.), wie ich denke, das ist ein starker Fahrer hinter dem Erfolg von DevOps selbst. Mit einer Vielzahl von Perspektiven, sowohl innerhalb als auch ohne Ihr Team, Blick auf Ihr Projekt hat ein starkes, nachweisbares Potenzial und kann helfen, Eindringlinge wie die, die in diesem Artikel aufgewachsen. Gt Warum Code, der seit 8 Jahren tot war, war noch in der Codebasis vorhanden, ist ein Mysterium, aber das ist nicht der Punkt Im Gegenteil, das ist genau der Punkt. Code mit unbenutzten und daher ungetesteten Konfigurationsmöglichkeiten ist eine Katastrophe, die darauf wartet zu passieren. Dies ist der Grund, warum I8217m sehr skeptisch über Feature-Flag-basierte Ansätze im Allgemeinen. Konfiguration ist so viel ein Teil Ihres Programms wie Code ist, und Konfigurationsänderungen sollten durch den gleichen Lebenszyklus gehen 8211 ziehen Anforderung, Code-Überprüfung, Release, Bereitstellung auf Staging 8211 wie jede andere Änderung. Wenn Ihr Release-Prozess zu schwer ist und Sie müssen schnell konfigurieren Änderungen an der Produktion, beheben Sie Ihre Release-Prozess. Es gab zu viele Fehler, um das epische Versagen nur DevOps zuzuschreiben (obwohl ich voll und ganz zustimme, dass Automatisierung und Test ist der einzige Weg): 8211 Keine Teamarbeit und Checklisten bei einem Update auf Produktionsservern. Jede Aktualisierung auf Produktion sollte ein Team über einander beobachten, und durch eine Checkliste. 8211 8 Jahre unbenutzter alter Code in Produktion. Das erzählt Ihnen viel über den Mangel an Verständnis über die Risiken der baumeln 8220unused8221 Code. 8211 Unzureichende Protokollierung aus dem Code und unzureichende Echtzeit-Protokollüberwachung, Korrelation und Analyse. Das hätte genügend Anhaltspunkte für die Ingenieure und Ops-Leute gegeben. 8211 Kein Hot-Hot-Failover zu einem Cluster mit der vorherigen Version. Das hätte nach 1 oder 2 Minuten alle Probleme aufgegeben. (Das ist der Fehler rote Taste, die der Artikel erwähnt) Wenn Sie auch schon seit langem Software, Systeme und Unternehmen architektonisch kennengelernt haben, wissen Sie, dass manche Bugs nur in der Wildnis gefangen werden und nicht während der Simulationen, genau wie Sie Die Maschinen werden nach unten gehen. Sie müssen sich in beiden Szenarien auf den schlimmsten Fall vorbereiten. Murphy8217s Gesetz ist so wahr in unserer Welt I8217ve gewesen in dem, was jetzt genannt wird der 8220DevOps8221 Raum für fast 20 Jahre, mehr als die Hälfte davon in der Finanzwelt. Ritter war sowohl ein Verkäufer als auch ein Konkurrent des Unternehmens, für das ich zurzeit arbeite. Bereitstellungsautomatisierung könnte geholfen haben. Könnte sein. Aber nur wenige Unternehmen können sich genau doppelte Umgebungen leisten, und dies wurde im Wesentlichen durch Umweltunterschiede verursacht. Auch eine automatisierte Validierung des Einsatzes hätte in diesem Fall nicht geholfen, wenn die Automatisierung nicht über den Umweltunterschied informiert hätte. Automatisierung ist nur so gut wie das Wissen der Leute, die es aufstellen. Wenn eine manuelle Installation nicht auf das alte System aufmerksam geworden wäre, dann gibt es eine gute Chance, dass das automatisierte System es auch nicht gewollt hat. Automatisierung eines Rollbacks ist auch nur so gut wie die Entscheidungsfindung, ob man den Roll-back machen soll. Und wenn die Automatisierung das alte System unbeabsichtigt gestartet hat, gibt es auch keine Garantie dafür, dass das Umschalten des zeitgenössischen Systems zurückgegangen wäre, das alte System 8211 hätten Sie auch nach einem automatisierten Rollback des zeitgenössischen Systems mit demselben Problem enden können. Das bringt mich zu einem letzten Punkt: Automatisierung ist eine Voraussetzung in großen, modernen Umgebungen. Aber über-Vertrauen auf sie kann zu den Leuten führen, die das System betreuen, das nicht bewusst ist, was it8217s tut. Automatisierung ist für die Validierung am nützlichsten, denn die Validierung der Dinge ist korrekt durchgeführt ist langweilig und einfach zu skimp auf, wenn manuell durchgeführt. Auch bei der Automatisierung, mit menschlichen Pausen oder menschlich betriebenen Schritten hilft sicherzustellen, dass diejenigen, die das System betreiben, das System kennen und wie es funktioniert, erheblich verbessert ihre Fähigkeit, Probleme zu beheben, Probleme zu diagnostizieren und geeignete Vorschläge zu machen, welche Schritte zu ergreifen Stoppen oder mildern ein Problem. Automatisierung ist ein Werkzeug, aber es ist nur ein Werkzeug, und es bedarf noch eines Handwerkers, um es entsprechend auszuführen. Kompetenz ist das, was macht und hält große Systeme großartig. Hat diesen Eintrag auf Garrett S. Y. Hampton gerebloggt und kommentiert: Incredible. DevOps sehen, dokumentieren und überprüfen Sie Ihre Bereitstellungen

No comments:

Post a Comment