Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dark Launching: Minimizando os riscos de altera...

Dark Launching: Minimizando os riscos de alterações críticas em produção (TDC SP 2016)

Testes automatizados, ambiente para homologação idêntico ao de produção, experimentos com beta testers... Não adianta, quando de fato o código for para produção e todos os usuários da sua aplicação começarem a utilizá-lo, um bug pode aparecer. E muitas vezes tal bug pode ser devastador. Dark Launching é uma técnica apresentada pelo Facebook para testar mudanças críticas em produção de forma invisível ao usuário, conseguindo assim medir as consequências reais do seu novo código.

Guilherme Baptista

July 09, 2016
Tweet

More Decks by Guilherme Baptista

Other Decks in Programming

Transcript

  1. Globalcode – Open4education Um pouco de história: 1995 1996 1997

    1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016
  2. Globalcode – Open4education Um pouco de história: 1995 1996: Tamagotchi

    1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007: iPhone 2008 2009 2010 2011 2012 2013: Docker 2014 2015 2016
  3. Globalcode – Open4education Um pouco de história: 1995 1996: Tamagotchi

    1997 1998: ASP no IIS 3.0 e PHP 3 1999: eXtreme Programming 2000 2001: Agile Manifesto 2002: Scrum, TDD e ASP.NET 2003 2004: Ruby on Rails 2005: RSpec 2006: jQuery 2007: iPhone 2008: Cucumber e BDD 2009 2010 2011: Lean Startup e Continuous 2012 Deployment 2013: Docker e Growth Hacking 2014 2015 2016: TDC
  4. Globalcode – Open4education Um pouco de história: 1995 1996: Tamagotchi

    1997 1998: ASP no IIS 3.0 e PHP 3 1999: eXtreme Programming 2000 2001: Agile Manifesto 2002: Scrum, TDD e ASP.NET 2003 2004: Ruby on Rails 2005: RSpec 2006: jQuery 2007: iPhone 2008: Cucumber e BDD 2009 2010 2011: Lean Startup e Continuous 2012 Deployment 2013: Docker e Growth Hacking 2014 2015 2016: TDC
  5. Globalcode – Open4education Alterações críticas? Tela da Morte não sou

    capaz de opinar... Código MALDITO abridor de portas do inferno. Deveria ter Dados até tem, mas estão confusos agora.
  6. Globalcode – Open4education Como lidar? • Testes automatizados. • Ambientes

    de homologação. • Testes de carga. • Entregas incrementais. • … • Testes de mutação. • Integração contínua.
  7. Globalcode – Open4education Como lidar? • Testes automatizados. • Ambientes

    de homologação. • Testes de carga. • Entregas incrementais. • … • Testes de mutação. • Integração contínua.
  8. Globalcode – Open4education Dark Launching • Não influenciar na resposta

    ao usuário. • Comparar os dados retornados. • Comparar desempenho. • Registrar todos os erros.
  9. Globalcode – Open4education Lembrando do Manifesto Ágil • Software em

    funcionamento mais que documentação abrangente. • Entrega contínua e adiantada de software com valor agregado. • Software funcionando é a medida primária de progresso.
  10. Globalcode – Open4education Complementando • Hammering Usernames https://www.facebook.com/notes/facebook-engineering/hammering-usernames/96390263919/ • Feature

    Toggles http://martinfowler.com/articles/feature-toggles.html • Dark Launching e Feature Toggles http://blog.locaweb.com.br/author/guilhermesilva/