Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Charla Evento TestingUY 2018 - ¿Estás testeando tu infraestructura?

128 views

Published on

Expositor: Federico Kauffman

Resumen: Si te pido que cambies tu infraestructura radicalmente en muy poco tiempo, ¿cuánta confianza le tendrías a los cambios? O si “el sys admin” de la empresa desaparece, ¿qué tan rápido podrías superar su ausencia?

Si aplicamos estas preguntas al software en general, la mejor manera de superarlas suele ser el testing y la documentación.

En esta charla vamos a explorar cómo podemos testear nuestra infraestructura, y hacerlo parte de nuestro pipeline de CI/CD (Continuous Integration/Continuous Delivery) para así poder aumentar la confianza en ella.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Charla Evento TestingUY 2018 - ¿Estás testeando tu infraestructura?

  1. 1. ¿Estás testeando tu infraestructura? Federico Kauffman fede.kau@gmail.com @fedekauffman 21 y 22 de mayo, 2018 www.testinguy.org #testinguy |@testinguy
  2. 2. Un repaso general y muy rápido
  3. 3. ● ● ● ●
  4. 4. Usando códigoA mano
  5. 5. ¿Por qué hacerlo? ¿Cómo hacerlo?
  6. 6. Bajo nivel Medio nivel Alto nivel Manuales
  7. 7. #!/usr/bin/env bash -eo pipefail # Usage example: # ./bash-testing/simple-ssh-test federico example.com ~/.ssh/id_rsa_federico_wyeworks user=$1 host=$2 key_file=$3 ssh -i "$key_file" -q "$user"@"$host" exit exit $?
  8. 8. #!/usr/bin/env bash -eo pipefail # Usage example: # ./bash-testing/complex-ssh-test federico example.com ~/.ssh/id_rsa_federico_wyeworks | tee /dev/tty | grep "FAIL" | wc -l function bash_test() { RED='033[0;31m' GREEN='033[0;32m' NC='033[0m' echo -ne "${NC}$1" if eval "${@:2}"; then echo -e " -> ${GREEN}OK" else echo -e " -> ${RED}FAIL" fi } user=$1 host=$2 key_file=$3 bash_test "Testing if ssh port (22) is open" "nmap $host -PN -p ssh | grep -q open" bash_test "Testing if connection can be established" ssh -o BatchMode=yes -o ConnectTimeout=10 -i "$key_file" -q "$user"@"$host" exit
  9. 9. ● ● ● ● ● ●
  10. 10. # Script de InSpec.io # Es mucho más legible y práctico. describe host('federico.com', port: 22, protocol: 'tcp') do it { should be_resolvable } it { should be_reachable } end
  11. 11. RemotoLocal
  12. 12. Vamos a ver las herramientas, y una parte del flujo propuesto. https://github.com/fedekau/testing-uy-2018
  13. 13. https://drive.google.com/file/d/1YYtMohluxtcTxGgKt_4dQeP-XWoI8AWo/view?usp=sharing
  14. 14. 21 y 22 de mayo, 2018 www.testinguy.org #testinguy |@testinguy ¿PREGUNTAS? ¡MUCHAS GRACIAS! Federico Kauffman fede.kau@gmail.com @fedekauffman

×