Sunday 8 July 2018

Knight upgrade triggered old trading system


- benzóico. . ,. Zombie Software Blamed para Knight Capital Trading Snafu Postado 15 Ago 2017 19:30 GMT A Bloomberg Notícias história derramou um pouco mais de insight sobre o que causou a negociação eletrônica descontrolada pelo mercado fazendo corretagem Knight Capital há algumas semanas. Parece que um programa de legado adormecido foi de alguma forma reativado quotinentemente. E depois interferiu com (ou assumiu) a negociação da empresa em 1 de agosto, quando um novo programa de comércio de software Knight tinha instalado começou a operar. Uma vez desencadeada em 1 de agosto, o sistema adormecido começou a multiplicar os negócios em ações por mil, disse Bloomberg por duas fontes anônimas que foram informadas sobre o assunto. Hmm, software morto torna-se reanimado, assume um sistema de computador e, em seguida, corre amok. Eu acho que eu vi esse filme em algum lugar. Além disso, de acordo com as fontes, a equipe de ldquoKnightrsquos olhou através de oito conjuntos de software antes de determinar o que aconteceu. Quase parece que havia um cemitério cheio de software morto pronto para ser reanimado. Infelizmente, o artigo não diz nada mais sobre como o software adormecido despertou e se interpôs quando se tratava de executar negócios que deveriam ser iniciados pelo novo software que Knight tinha instalado. Também não diz por que Knight iria manter ldquoeight conjuntos de softwarerdquo aparentemente residentes em seu ambiente de execução. Wersquoll provavelmente terá que esperar até que a SEC termine sua investigação para descobrir o que realmente aconteceu, bem como, presumivelmente, alguns detalhes suculentos sobre o desenvolvimento de software Knight e as práticas de teste do sistema. No entanto, o chamado "rastreamento" (entre outros) estimulou os reguladores da Ásia e da Austrália a diminuir o número de empresas comerciais de alta freqüência, informou o Financial Times nesta semana. Os reguladores estão lançando propostas abrangentes que exigiriam que os comerciantes tivessem controles sobre seus sistemas e os testassem anualmente para evitar a interrupção do mercado, segundo o jornal. Reguladores querem controles de risco ldquopre-traderdquo no lugar para manter o comércio ldquoaberrantrdquo de acontecer, bem como ldquokill troca switchrdquo quando os controles de risco falhar. Em notícias relacionadas, o FT também informou que a falha recente na Bolsa de Valores de Tóquio foi rastreada para um mau ldquorouter em seu sistema de negociação de derivativos Tdex. rdquo Por razões ainda não explicadas, um roteador de backup não conseguiu chutar. Esta é a segunda vez Este ano que um sistema de backup TSE não chutar quando era necessário. Um problema de roteador também causou problemas durante várias horas ontem de manhã no Californiarsquos Departamento de Veículos Motorizados (DMV). De acordo com a Associated Press. Um problema com um roteador de estado da Califórnia causou o DMVrsquos computadores para se tornar desligado da rede statersquos de cerca de 0800 para meio-dia hora local, sem dúvida exasperar e irritar muitos clientes. De acordo com a estação de televisão CBS Sacramento. O DMV Califórnia pediu desculpas aos seus clientes através do Twitter 26 vezes sozinho desde fevereiro para dificuldades técnicas. A estação tem investigado sem muita sorte as paradas do DMV que aparentemente estão tomando o sistema para baixo com alguma regularidade desde 2007. Por coincidência, diversas outras agências de estado de Califórnia tiveram problemas de rede de computador ontem também, que o estado culpou em um ldquocircuit inexplicado reconfigurationrdquo problema . Esta questão não relacionada, os relatórios da AP, também foi corrigida no meio-dia de ontem. Finalmente, Manganese Bronze, a empresa que fabrica Londonrsquos táxi preto familiar, anunciou esta semana que ldquoit está atrasando a liberação de seus resultados semestrais não auditados para os seis meses findos em 30 de junho de 2017. devido à necessidade de reapresentar anos anteriores resultados financeiros porque De erros contábeis que vieram à luz. rdquo Os erros poderiam provavelmente ser rotulados erros relacionados com computadores, no entanto, ao invés de contabilidade. De acordo com um comunicado da empresa, em agosto de 2018, um novo sistema integrado de contabilidade de TI, que foi instalado para ajudar a gerenciar a empresa, ldquocomplex cadeia global de abastecimento, rdquo perdeu algumas transações chave durante o corte: ldquoDue a uma combinação de sistema e erros processuais , Um número de transacções relativas a 2018 e 2017 e alguns saldos residuais do sistema anterior não foram devidamente processados ​​através do novo sistema de TI. Este problema levou à sobre-declaração de estoque e under-statement de passivos nas demonstrações financeiras de anos anteriores. rdquo Como resultado, a empresa subestimada por £ 3,9 milhões suas perdas históricas. Manganese Bronze tem estado sob forte pressão competitiva, ou em suas próprias palavras, ldquoTrading nos primeiros sete meses do ano tem sido difícil e continua a ser um desafio com o Grupo continuar a negociar em uma loss. rdquo Embora espera que a situação, eventualmente, melhorar, A forte concorrência atual da Mercedes-Benz (que agora fornece quase um terço da frota de táxis de Londres) e alguns espera nova concorrência de Nissanrsquos táxis de baixa emissão de novos não pode ser um bom presságio para a saúde financeira futuro companyrsquos. O FT informou que o estoque de Manganês Bronze caiu 34 por cento sobre a notícia da atualização de resultados e agora só tem um valor de mercado de cerca de libra5 milhões. Saiba maisA Knights Tale Phil Factor Há tantas lições a serem aprendidas com a história de Knight Capital perder quase meio bilhão de dólares como resultado de uma implantação errada. O Knight Capital Group (KCG N) foi uma empresa americana de serviços financeiros globais envolvida na criação de mercado, execução eletrônica e vendas e negociações institucionais. De acordo com a recente ordem (File No.3.15570) contra Knight Capital por US Securities and Exchange Commissionacirc, Knight tinha, por muitos anos, usado algum software que quebrou as ordens 8220parent8221 recebidas em ordens 8220child8221 menores que foram então transmitidas para várias bolsas ou locais de negociação Para execução. Uma função tracking 8216cumulative quantity8217 contou o número de ordens 8216child8217 e parou o processo uma vez que o total de ordens filho correspondeu ao 8216parent8217 e assim a ordem pai tinha sido concluída. De volta à névoa do tempo, algum código tinha sido adicionado a ele que foi excuted se um determinado flag foi definido. Era chamado 8216power peg8217 e parece ter tido um design e propósito semelhantes, mas, uma suposição, teria compartilhado a mesma função de rastreamento. Este código tinha sido abandonado em 2003, mas nunca excluído. Em 2005, a função de rastreamento foi movida para um ponto anterior no processo principal. Parece do relato que, a partir desse ponto, se aquela bandeira tivesse sido definida, o velho 8216Power Peg8217 teria sido executado como Godzilla estourando do gelo, fazendo ordens infantis sem limite sem qualquer função de rastreamento. Ele wasn8217t, presumivelmente porque o software que definiu o sinalizador foi removido. Em 2017, quase uma década após a 8216Power Peg8217 ter sido abandonada, Knight preparou um novo módulo para seu software para lidar com o iminente Retail Liquidity Program (RLP) para a Bolsa de Valores de Nova York. Por esta altura, a bandeira tinha permanecido inutilizado e alguém tomou a decisão fatídica de reutilizá-lo, e substituir o antigo 8216power peg8217 código com este novo código RLP. Se as duas ações tivessem sido feitas em conjunto em uma única implantação automatizada, ea nova implantação testada, tudo teria sido bem. Não foi. 8220 Começando em 27 de julho de 2017, Knight implantou o novo código RLP em SMARS em etapas, colocando-o em um número limitado de servidores em SMARS em dias sucessivos. Durante a implantação do novo código, no entanto, um dos técnicos Knight8217s não copiar o novo código para um dos oito servidores de computador SMARS. Knight não tinha um segundo técnico revisar essa implantação e ninguém em Knight percebeu que o código Power Peg não havia sido removido do oitavo servidor, nem o novo código RLP adicionado. Knight não tinha procedimentos escritos que exigissem tal revisão.8221 (parágrafo 15) 8220O 1 de agosto, Knight recebeu ordens de corretores de valores cujos clientes eram elegíveis para participar no RLP. Os sete servidores que receberam o novo código processaram essas ordens corretamente. No entanto, as ordens enviadas com a bandeira repurposed para o oitavo servidor acionado o código Power Peg defeituoso ainda presente nesse servidor. Como resultado, este servidor começou a enviar ordens secundárias para certos centros de negociação para execução. Como a função de quantidade cumulativa tinha sido movida, este servidor enviou continuamente ordens de filho, em sequência rápida, para cada ordem de entrada de pai, independentemente do número de execuções de ações que Knight já havia recebido de centros de negociação. Embora uma parte do sistema de tratamento de pedidos do Knight8217s reconhecesse que as ordens dos pais haviam sido preenchidas, essas informações não foram comunicadas à SMARS.8221 (parágrafo 16) A SMARS encaminhou milhões de pedidos para o mercado ao longo de um período de 45 minutos e obteve mais de 4 milhões Execuções em 154 ações para mais de 397 milhões de ações. No momento em que Knight deixou de enviar as ordens, Knight tinha assumido uma posição líquida longa em 80 ações de aproximadamente 3,5 bilhões e uma posição líquida curta em 74 ações de aproximadamente 3,15 bilhões. As ações da Knight8217s caíram mais de 20 depois que os traders viram picos de volume extremos em várias ações, incluindo ações preferenciais da Wells Fargo (JWF) e da companhia de semicondutores Spansion (CODE). Ambos os estoques, que veem aproximadamente 100.000 trocas por dia, mudaram de mãos mais de 4 milhões de vezes no final da manhã. Em última análise, Knight perdeu mais de 460 milhões deste selvagem 45 minutos de negociação. Obviamente, estou interessado em tudo isso porque, ao mesmo tempo, eu costumava escrever sistemas de negociação para a cidade de Londres. Obviamente, os EUA SEC está em uma posição muito melhor do que qualquer um de nós para trabalhar as falhas do departamento de TI Knight8217s, eo relatório faz para a leitura dolorosa. Contudo, não posso deixar de observar que mesmo com os erros de tirar o fôlego ao longo do caminho, um processo robusto de implantação automatizada, que foi testado de sopa para nozes, teria evitado o desastre. O relatório lê como uma tragédia grega. Todo o caminho ao longo de um quer gritar 8216Não que way8217 e 8216Aargh Don8217t fazê-lo8217. À medida que a tragédia se desenrola, o público chora pelos jogadores, presos por um destino cruel. Todo o desenvolvimento e implantação de aplicativos exige uma defesa em profundidade. Tudo vai mal de vez em quando, mas se houver uma cultura de programação defensiva por toda parte, as conseqüências são geralmente contíguas. Para sistemas financeiros, essas defesas são exigidas por estatuto, e ignorado apenas pelo tolo. Knight8217s erros weren8217t feita por apenas um infeliz sysadmin, mas foram erros progressivos por uma cultura de TI abrangendo pelo menos dez anos. Pode-se soletrar isso, mas acho que eles são óbvios. Só se pode esperar que a indústria estuda o que aconteceu em detalhes, aprende com os erros e tira as conclusões corretas. Subscrever para mais artigos boletins quinzenais ajudam a aguçar suas habilidades e mantê-lo à frente, com artigos, ebooks e opinião para mantê-lo informado. Artigos relacionadosEu estava falando em uma conferência no ano passado sobre os tópicos de DevOps, Configuração como Código e Entrega Contínua e usei a seguinte história para demonstrar a importância de fazer implantações totalmente automatizadas e repetíveis como parte de uma iniciativa DevOpsContinuous Entrega. Desde aquela conferência, fui convidado por várias pessoas a compartilhar a história através do meu blog. Esta história é verdade que isso realmente aconteceu. Esta é a minha contar a história com base no que eu li (eu não estava envolvido neste). Esta é a história de como uma empresa com quase 400 milhões em ativos faliu em 45 minutos por causa de uma falha de implantação. Histórico Knight Capital Group é uma empresa americana de serviços financeiros globais que se dedica à criação de mercado. Execução eletrônica e vendas e negociações institucionais. Em 2017 Knight foi o maior trader em ações dos EUA com quota de mercado de cerca de 17 em cada NYSE e NASDAQ. O Grupo de Negociação Eletrônica Knights (ETG) gerenciou um volume de negociação médio diário de mais de 3,3 bilhões de negociações diárias, negociando mais de 21 bilhões de dólares diariamente. Isso não é brincadeira Em 31 de julho de 2017 Knight tinha aproximadamente 365 milhões em dinheiro e equivalentes. A NYSE estava planejando lançar um novo Programa de Liquidez de Varejo (um programa destinado a fornecer melhores preços para os investidores de varejo através de corretores de varejo, como Knight) em 1 de agosto de 2017. Na preparação para este evento Knight atualizou seus algoritmos automatizados de alta velocidade Roteador que envia ordens para o mercado para execução conhecido como SMARS. Uma das funções principais do SMARS é receber ordens de outros componentes da plataforma de negociação Knights (ordens dos pais) e, em seguida, enviar uma ou mais ordens filho para execução. Em outras palavras, SMARS receberia grandes encomendas da plataforma de negociação e quebrá-las em várias ordens menores, a fim de encontrar uma partida de comprador para o volume de ações. Quanto maior a ordem pai, mais ordens filho serão geradas. A atualização para SMARS destinava-se a substituir o antigo, código não utilizado como Power Peg funcionalidade que Knight hadnt usado em 8 anos (por que código que tinha sido morto por 8 anos ainda estava presente na base de código é um mistério, mas thats Não o ponto). O código que foi atualizado reutilizou uma bandeira antiga que foi usada para ativar a funcionalidade Power Peg. O código foi completamente testado e comprovado para funcionar correta e confiável. O que poderia ir mal O que poderia eventualmente ir errado De fato, entre 27 de julho de 2017 e 31 de julho de 2017 Knight manualmente implantado o novo software para um número limitado de servidores por dia oito (8) servidores em todos. Isto é o que o depósito SEC diz sobre o processo de implantação manual (BTW se houver um depósito SEC sobre sua implantação algo pode ter ido terrivelmente errado). Durante a implantação do novo código, no entanto, um dos técnicos Knights não copiar o novo código para um dos oito servidores de computador SMARS. Knight não tinha um segundo técnico revisar essa implantação e ninguém em Knight percebeu que o código Power Peg não havia sido removido do oitavo servidor, nem o novo código RLP adicionado. Knight não tinha procedimentos escritos que exigissem tal revisão. SEC liberação de registro No. 70694 16 de outubro de 2017 Às 9:30 AM Eastern Time em 1 de agosto de 2017 os mercados abriram e Knight começou a processar ordens de corretores em nome de seus clientes para o novo Programa de Liquidez de Varejo. Os sete (7) servidores que tiveram a implantação SMARS correta começaram a processar essas ordens corretamente. As ordens enviadas para o oitavo servidor acionaram a bandeira suposível repurposed e trouxeram de volta dos mortos o velho código Power Peg. Ataque do Zombies do Código Assassino É importante entender o que o código do Power Peg morto foi feito para fazer. Esta funcionalidade destinava-se a contar o boughtsold partes contra uma ordem pai como ordens filho foram executadas. Power Peg instruiria o sistema a parar de rotear ordens filho uma vez que a ordem pai foi cumprida. Basicamente, Power Peg iria manter o controle das ordens filho e pará-los uma vez que a ordem pai foi concluída. Em 2005, Knight moveu essa funcionalidade de rastreamento cumulativo para um estágio anterior na execução do código (removendo assim o rastreamento de contagem da funcionalidade Power Peg). Quando a bandeira Power Peg no oitavo servidor foi ativada, a funcionalidade Power Peg começou a rotear ordens infantis para execução, mas não estava monitorando a quantidade de ações contra a ordem pai, como um loop infinito. 45 Minutos do Inferno Imagine o que aconteceria se você tivesse um sistema capaz de enviar ordens automatizadas e de alta velocidade para o mercado sem qualquer rastreamento para ver se havia ordens suficientes executadas. Sim, foi tão ruim assim. Quando o mercado abriu às 9:30 da manhã pessoas rapidamente sabia algo estava errado. Às 9h31 era evidente para muitas pessoas em Wall Street que algo sério estava acontecendo. O mercado estava sendo inundado com ordens fora do comum para volumes de negociação regulares em determinadas ações. Às 9:32 da manhã muitas pessoas em Wall Street estavam se perguntando por que não tinha parado. Esta foi uma eternidade em termos comerciais de alta velocidade. Por que alguém hadnt hit o kill-switch em qualquer sistema estava fazendo isso Como ele gira para fora não havia nenhum interruptor de matar. Durante os primeiros 45 minutos de negociação Knights execuções constituíram mais de 50 do volume de negociação, dirigindo certas ações acima de mais de 10 de seu valor. Em conseqüência outros estoques diminuíram no valor na resposta às trocas erradas. Para piorar as coisas, o sistema Knights começou a enviar mensagens de e-mail automatizadas mais cedo no dia tão cedo quanto 8:01 AM (quando SMARS tinha processado pedidos elegíveis para negociação pré-mercado). As mensagens de email referenciam SMARS e identificaram um erro como Power Peg desativado. Entre 8:01 AM e 9:30 AM havia 97 destes email enviados ao pessoal de Knight. Claro que esses e-mails não foram projetados como alertas do sistema e, portanto, ninguém olhou para eles imediatamente. Ups. Durante os 45 minutos do Inferno que Knight experimentou eles tentaram várias medidas de contador para tentar parar as negociações erradas. Não houve nenhum kill-switch (e nenhum procedimento documentado para como reagir), então eles ficaram tentando diagnosticar o problema em um ambiente de negociação em que 8 milhões de ações estavam sendo negociadas a cada minuto. Como eles não conseguiram determinar o que estava causando as ordens erradas, eles reagiram desinstalando o novo código dos servidores nos quais ele foi implantado corretamente. Em outras palavras, eles removeram o código de trabalho e deixaram o código quebrado. Isso só amplificou os problemas causando pedidos pai adicionais para ativar o código Power Peg em todos os servidores, e não apenas aquele que não foi implantado corretamente. Eventualmente eles foram capazes de parar o sistema após 45 minutos de negociação. Nos primeiros 45 minutos o mercado estava aberto o código Power Peg recebeu e processou 212 ordens dos pais. Como resultado, SMARS enviou milhões de ordens infantis para o mercado resultando em 4 milhões de transações contra 154 ações por mais de 397 milhões de ações. Para viciados em mercado de ações isso significava que o Cavaleiro assumiu aproximadamente 3,5 bilhões de posições longas líquidas em 80 ações e 3,15 bilhões de posições líquidas em 74 ações. Em termos laymen8217s, Knight Capital Group realizou uma perda de 460 milhões em 45 minutos. Lembre-se, Knight só tem 365 milhões em dinheiro e equivalentes. Em 45 minutos, Knight passou de ser o maior trader em ações dos EUA e um grande fabricante de mercado na NYSE e NASDAQ a falência. Eles tinham 48 horas para aumentar o capital necessário para cobrir suas perdas (o que eles conseguiram fazer com um investimento de 400 milhões de cerca de meia dúzia de investidores). A Knight Capital Group foi finalmente adquirida pela Getco LLC (Dezembro de 2017) ea empresa resultante da fusão passou a ser denominada KCG Holdings. Uma lição para aprender Os eventos de 1 de agosto de 2017 devem ser uma lição para todas as equipes de desenvolvimento e operações. Não é suficiente para construir um grande software e testá-lo você também tem que garantir que é entregue ao mercado corretamente para que seus clientes recebem o valor que você está entregando (e assim você não falir sua empresa). O engenheiro (s) que implantou SMARS não são apenas a culpa aqui o processo Knight tinha criado não era adequado para o risco que foram expostos. Além disso, o seu processo (ou falta dele) era inerentemente propenso a erros. Sempre que seu processo de implantação depende de seres humanos lendo e seguindo instruções, você está se expondo a riscos. Os seres humanos cometem erros. Os erros poderiam estar nas instruções, na interpretação das instruções, ou na execução das instruções. As implementações precisam ser automatizadas e repetíveis e livres de possíveis erros humanos quanto possível. Se Knight implementasse um sistema de implantação automatizado completo com configuração, implantação e automação de teste, o erro que causaria o Knightmare teria sido evitado. Alguns dos princípios para a Entrega Contínua aplicam-se aqui (mesmo se você não estiver implementando um processo de Entrega Contínua Completa): Liberar o software deve ser um processo repetível e confiável. Automatize tanto quanto é razoável. Um cenário: Vamos supor que eles tinham muito bom DevOps. Portanto, todos os servidores estarão sincronizados. Mas 8211 assumem que o novo código tinha um bug. Assim, todos os servidores estão em sincronia, mas têm o mesmo código buggy. E se duas versões do código, isto é, as últimas 2 implementações tivessem esse bug. Então, uma vez que eles percebem que algo está errado, they8217d reverter o código, o bug ainda stays8230 Minutos preciosos passaram. Talvez 20 minutos em vez dos 45 minutos em seu artigo. Assim, em curto 8211 seu desastre kill-switch é uma implantação de rollback de código em um ambiente ao vivo. Isso ainda seria um projeto defeituoso. O que eles precisariam seria um grande interruptor vermelho (quase literalmente, em algum lugar em seu painel) para parar imediatamente. Onde está a regra de negócios que diz 8220não faça primeiro nenhum mal8221. VJ se a implantação para todos os servidores tinha funcionado, eles teriam sido ok. Mas, neste caso, 7 de 8 para um subsistema foram implantados corretamente. Devido ao mau comportamento, eles reverteram os outros 7 pensando que o novo código nesse subsistema era o problema. Isso multiplicou o problema até o eventual interruptor de matar. Os desastres são quase sempre complexos. Nesse caso, eram práticas de codificação deficientes, além de práticas de inspeção de códigos de teste questionáveis, além de um erro na implantação, além de uma reversão na granularidade do subsistema em vez de todo o sistema. Se você resolver qualquer desses problemas, você não terá um desastre. Uma das coisas que foram vistas em empresas que não reconhecem a verdadeira importância e impacto de seus sistemas de TI é que elas não fornecem orçamento para atualizações de código legado. Por exemplo: Já vi situações em que a TI não tem orçamento. Tem de justificar tudo o que faz contra uma despesa de negócio. O que significa constantemente lutando para alinhar novos projetos. Negócios raramente vê a necessidade de atualizar software antigo que está funcionando atualmente, então eles se recusam a pagar por ele. O resultado é um novo código constante, feito pelos codificadores mais baratos possíveis, sem investir em tecnologias que, em última instância, melhorariam o desempenho e mitigariam os riscos. Porque Porque estes são vistos como 8220IT problemas8221 e não o purview de qualquer projeto que as pessoas de TI estão trabalhando, então ninguém vai pagar por isso. Uma grande leitura sobre esta prática é o projeto de Phoenix por Gene Kim, Kevin Behr, e George Spafford. Obrigado por aplicar o cérebro para o hype. Provavelmente, deve-se perguntar por que os técnicos envolvidos chegaram a assumir a culpa, mas não conseguiram autoridade para matar o interruptor por conta própria. Oh direito, that8217s porque você pôs OpsSRE no lugar de qualquer maneira. 8220R8221 é responsável, aka isca de chama. Escrevi um pouco sobre esse evento e gostaria de alertar alguém para usar o relatório da SEC como qualquer outra coisa senão para o que a SEC precisava. Kitchensoap20171029counterfactuals-knight-capital Fascinante ler. Eu trabalhei em uma grande casa de leilões de frutas e legumes, uma vez que uma nova versão de software foi instalado e falhou, levando a grandes perdas para os comerciantes (embora não tão grande como estes). Este também foi um caso de implantação imprópria e não fall-back. A lição a ser aprendida é que existem domínios onde o computador não deve tomar qualquer decisão sem validação humana. O que acontece com as pessoas que perderam seus empregos porque, oops, havia um bug E sobre as outras empresas que talvez entrou em trubble por causa da mudança súbita do valor da ação Automation of 8220high level decisions8221 deve ser tratado com cuidado8230 Nice e pós educacional Btw. Usando o quadro Cynefin fornece uma melhor caracterização desta falha 8216DevOps8217 Este post parece ter sido escrito a partir de uma perspectiva DevOps. As soluções sugeridas são consistentes com uma perspectiva de DevOps 8211 examinar o processo de liberação, automatizar mais e criar um interruptor de matar com recursos de reversão. Alguém pode ler o post e colocar muita ênfase no técnico Knight que não copiar o código antigo para um dos oito servidores. Alguém pode simplificar demais uma relação de causa e efeito. 8211 Aumentar a diversidade para analisar a situação e sintetizar melhores opções 8211 Melhorar a comunicação entre especialidades 8211 Melhorar a coordenação implícita entre as especialidades 8211 Recrutar indivíduos com mais Especialização para escrever e rever o código Um fator importante que limitou a melhoria da capacidade da equipe de nove anos antes do evento de falha significativo foi mis-caracterização do sistema. Em um framework Cynefin, confinar essa falha a um problema DevOps é associar o sistema com o domínio 8220Obvious8221 onde existem relações de causa e efeito simples que são reconhecidas por 8216professionals.8217 A falha não deve ser associada ao domínio Cynefin 8220Complicated8221 onde uma análise significativa Por 8216specialists8217 teria evitado o fracasso. O sistema deve estar associado ao domínio 8211Complex8221 da Cynefin 8211, um sistema adaptativo complexo. O sistema é disposicional. As mesmas condições iniciais não produzirão a mesma falha (exceto por acidente). Para obter mais informações sobre Cynefin, visite en. wikipedia. orgwikiCynefin e CognitiveEdge. Agradeço que você destaque os fatores tácitos em tal catástrofe. Como o autor, eu também trabalho em operações, e é fácil cair nos mesmos velhos padrões de pensamento sobre causas e soluções. Aprecio particularmente o seu ponto relativo à diversidade (que vem em todas as formas: níveis de experiência, antecedentes culturais e educacionais, habilidades, idade, etc), como eu acho que este é um forte impulsionador por trás do sucesso do próprio DevOps. Ter uma variedade de perspectivas, dentro e fora de sua equipe, olhando para o seu projeto tem forte, demonstrável potencial e pode ajudar a reduzir oversights, como o trazido neste artigo. Gt por que o código que tinha sido morto por 8 anos ainda estava presente na base de código é um mistério, mas thats não o ponto Pelo contrário, that8217s exatamente o ponto. Código com possibilidades de configuração não utilizadas e, portanto, não testadas, é um desastre esperando para acontecer. É por isso que I8217m é muito cético em relação às abordagens baseadas em flag-feature. A configuração é tanto uma parte do seu programa como o código é, e as alterações de configuração devem passar pelo mesmo ciclo de vida 8211 solicitação de pull, revisão de código, lançamento, implantar no teste 8211 como qualquer outra alteração. Se o processo de liberação for muito pesado e você precisar fazer alterações rápidas de configuração na produção, corrija o processo de liberação. Houve muitos erros para atribuir a falha épica a apenas DevOps (embora eu concorde totalmente que a automação e os testes são a única maneira): 8211 Sem trabalhos de equipe e listas de verificação ao fazer uma atualização em servidores de produção. Qualquer atualização na produção deve exigir uma equipe assistindo uns aos outros, e passando por uma lista de verificação. 8211 8 anos de código antigo não utilizado na produção. Isso diz-lhe muito sobre a falta de compreensão sobre os riscos de dangling 8220unused8221 código. 8211 Registro insuficiente do código e insuficiente monitoramento, correlação e análise em log em tempo real. Isso teria desencadeado pistas bastante cedo um para os engenheiros e ops pessoas. 8211 Não há failover hot-hot para um cluster com a versão anterior. Isso teria parado todos os problemas após 1 ou 2 minutos. Se você também tem sido arquitetando software, sistemas e empresas por um longo tempo, você sabe que o desastre acontece, você sabe que alguns bugs só são capturados na natureza e não durante simulações, assim como você Saber máquinas vai cair. Você precisa se preparar para o pior caso em ambos os cenários. A lei de Murphy8217s é tão verdadeira em nosso mundo que eu estive no que agora é chamado de espaço de 8220DevOps8221 por quase 20 anos, mais de metade do que no mundo financeiro. Knight era um fornecedor e um concorrente da empresa para a qual trabalho atualmente. A automação de implantação pode ter ajudado. Talvez. Mas poucas empresas podem pagar exatamente ambientes duplicados, e isso foi causado essencialmente por diferenças ambientais. Mesmo a validação automatizada de implantação pode não ter ajudado neste caso se a automação não soubesse sobre a diferença ambiental. A automação é tão boa quanto o conhecimento das pessoas que o configuram. Se uma instalação manual não estivesse ciente do sistema antigo, então haveria uma boa chance de que o sistema automatizado também não soubesse verificar. A automatização de um rollback também é tão boa quanto a tomada de decisão sobre se fazer o roll-back. E se a automatização inadventently começou o velho sistema, there8217s também nenhuma garantia que a mudança do sistema contemporâneo de volta teria parado o velho sistema 8211 você poderia ter terminado com o mesmo problema, mesmo após um rollback automatizado do sistema contemporâneo. O que me leva a um ponto final: Automação é uma exigência em ambientes grandes e modernos. Mas o excesso de confiança nele pode levar as pessoas operando o sistema a ser inconsciente do que está fazendo. Automação é mais útil para validações, porque validar as coisas são feitas corretamente é tedioso e fácil de economizar quando feito manualmente. Mesmo quando a automatização, ter pontos de interrupção humanos ou etapas humanas ajudam a garantir que aqueles que operam o sistema conhecem o sistema e como ele funciona, melhorando muito a sua capacidade de solucionar problemas, diagnosticar problemas e fazer sugestões adequadas sobre as etapas a serem tomadas. Parar ou atenuar um problema. Automação é uma ferramenta, mas é apenas uma ferramenta e ainda requer um artesão para usá-lo adequadamente. Especialização é o que faz e mantém grandes sistemas grandes. Reblogged isso em Garrett S. Y. Hampton e comentou: Incrível. DevOps sempre assistir, documentar e analisar suas implantações

No comments:

Post a Comment