Skip to content

Instantly share code, notes, and snippets.

View gustavo-freitas's full-sized avatar

gustavo-freitas

  • Porto Alegre, Brasil
View GitHub Profile
@gustavo-freitas
gustavo-freitas / netflix.md
Created February 17, 2016 04:07
Post Netflix

Post "The Netflix Simian Army"

###Consumer Driven Contracts (http://martinfowler.com/articles/consumerDrivenContracts.html)

####Como evoluir um serviço?

Um exemplo: Product Search, serviço que permite procurar produtos. Duas aplicações consomem esse serviço. Essas aplicações utilizam [XSD] (https://en.wikipedia.org/wiki/XML_Schema_(W3C)) para validar a resposta do serviço antes de realizar qualquer processamento. Um terceiro consumidor precisa de um novo campo na resposta do serviço já existente. Duas abordagens para implementar essa alteração:

  1. Provedor altera o esquema e os consumidores terão que atualizar a cópia dos seus esquemas para validar corretamente a resposta do serviço, necessitando mudanças de todos os envolvidos (provedor e os três consumidores).

  2. Adicionar uma nova operação ao serviço, com um novo esquema. O custo das mudanças fica todo do lado do provedor, mas o serviço irá ficar mais complexo e difícil de manter.

@gustavo-freitas
gustavo-freitas / httpd_installed.rb
Created April 8, 2017 22:58
gists para artigo sobre teste de infraestrutura
describe package(‘httpd’) do
it { should be_installed }
end
@gustavo-freitas
gustavo-freitas / httpd_conf_exists.rb
Created April 8, 2017 22:59
gists para artigo sobre teste de infraestrutura
describe file(‘/etc/httpd/conf/httpd.conf’) do
it { should exist }
end
@gustavo-freitas
gustavo-freitas / jenkins_setup_bravo.rb
Created April 8, 2017 23:00
gists para artigo sobre teste de infraestrutura
describe host(‘bravo.jenkins.com’) do
it { should be_resolvable.by(‘hosts’) }
it { should be_reachable }
end
@gustavo-freitas
gustavo-freitas / conf_setup.rb
Created April 8, 2017 23:01
gists para artigo sobre teste de infraestrutura
describe file(‘/etc/httpd/conf/httpd.conf’) do
it { should contain ‘ServerName www.thoughtworks.com' }
end
@gustavo-freitas
gustavo-freitas / jenkins_up_and_ready.rb
Last active April 8, 2017 23:02
gists para artigo sobre teste de infraestrutura
describe service(‘jenkins’), :if => os[:family] == ‘ubuntu’ do
it { should be_enabled }
it { should be_running }
end
describe port(80) do
it { should be_listening }
end

Introdução a Tecnologia da Informação


Agenda