devops: desenvolvedores e sysadmins cooperando na prática
TRANSCRIPT
![Page 1: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/1.jpg)
DevOps: desenvolvedores e
sysadmins cooperando na prática
Ari Stopassola Junior
![Page 2: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/2.jpg)
Bacharel em Informática com ênfase em Análise de Sistemas pela Unisinos, cursou mestrado em Engenharia Informática e de Computadores pelo Instituto Superior Técnico da Universidade Técnica de Lisboa (Portugal), perito judicial ad hoc especializado em TI (mantenedor do site PERITO.inf.br), Zend Certified Engineer (PHP 5.3), Zend Certified PHP Engineer (PHP 5.5) e Zend Framework 2 Certified Architect (ZFCA) #ZEND004019, Certified ScrumMaster pela Scrum Alliance #203613, Microsoft Certified Professional (MCP), idealizador do projeto Certificamp, consultor web e PHP evangelist.
Ari Stopassola Junior
![Page 3: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/3.jpg)
SlideShare
![Page 4: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/4.jpg)
![Page 5: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/5.jpg)
Realidade• Estruturada x Orientada à Objetos• Relacional x NoSQL• Waterfall x Agile• FTP x git push• Equipes remotas• Virtualização• Curriculum Vitae x GitHub | Stack
Overflow• Cloud
![Page 6: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/6.jpg)
"A harmonia do mundo depende da retificação dos nomes."
Confúcio551-479 a.C.
![Page 7: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/7.jpg)
Introdução• Termo "DevOps" foi cunhado em
2009 por Patrick Debois• Movimento que enfatiza a comunicação
entre desenvolvedores e administradores de sistema
• Desenvolvedores adicionam novos recursos enquanto que Administradores mantém o sistema estável, seguro e performático
• Diminiur riscos de implantação através da cultura + ferramental
Foto
: htt
ps:/
/ww
w.li
nked
in.c
om/in
/pat
rickd
eboi
s
![Page 8: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/8.jpg)
DesenvolvedorX
Administrador de Sistemas
http://www.hbo.com/silicon-valley
![Page 9: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/9.jpg)
"Na minha
máquina funciona
!"
![Page 10: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/10.jpg)
em.pa.ti.aAção de se colocar no lugar de outra pessoa, buscando agir ou pensar da forma como ela pensaria ou agiria nas mesmas circunstâncias.
![Page 11: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/11.jpg)
Cultura• Interesses da companhia são
superiores aos EGOs de sysadmins e desenvolvedores
• DevOps são práticas• Através da automação, tem-se
como resultado a melhoria contínua
• Postura amistosa: respeito, jamais esconda o problema, evite dizer não, confiança, seja transparente, evite fingerpointing.
Foto: http://cshr.cmb.ac.lk/?page_id=1678
![Page 12: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/12.jpg)
Fonte: http://www.gohorseprocess.com.br
![Page 13: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/13.jpg)
Full-stack developer
Fonte: https://flic.kr/p/4RyRRW
![Page 14: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/14.jpg)
Imagem inspirada no curso "DevOps: The Big Picture" da PluralSight por Richard Seroter:http://www.pluralsight.com/courses/devops-big-picture
![Page 15: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/15.jpg)
Collaboration
![Page 18: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/18.jpg)
Planning
![Page 20: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/20.jpg)
Issue tracking
![Page 22: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/22.jpg)
Jirahttps://www.atlassian.com/software/jira
![Page 23: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/23.jpg)
Monitoring
![Page 24: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/24.jpg)
ISO 8601
![Page 26: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/26.jpg)
• LogStashhttps://www.elastic.co/products/logstash
• Microsoft System Centerhttp://www.microsoft.com/en-us/server-cloud/products/system-center-2012-r2/
• Kibanahttps://www.elastic.co/products/kibana
![Page 27: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/27.jpg)
Configuration Management
![Page 28: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/28.jpg)
Petx
Cattle
Foto: https://steakbuenosaires.files.wordpress.com/2014/02/herding-sheep.jpg
![Page 29: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/29.jpg)
Pet10.0.0.11 "Poseidon"
poseidon.empresa.com.brCompaq Proliant ML330
Foto
: http
s://
flic.
kr/p
/bF4
xXY
![Page 30: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/30.jpg)
Cattleec2-54-91-213-25.compute-1.amazonaws.comec2-54-91-213-26.compute-1.amazonaws.comec2-54-91-213-27.compute-1.amazonaws.comec2-54-91-213-28.compute-1.amazonaws.comec2-54-91-213-29.compute-1.amazonaws.com Fo
to: h
ttps
://p
rezi.
com
/nftl
dtcq
niju
/rec
urso
s-bi
olog
icos/
![Page 31: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/31.jpg)
Infrastructure as codePuppet, Chef e Ansible
package "ntpd" do action :installend
template "/etc/ntpd.conf" do source "ntpd.conf.erb" owner "0755" notifies :restart, "service[ntpd]"end
service "ntpd" do action [:start, :enable]end
["site1", "site2", "site3"].each do |dir| directory "/srv/vhosts/#{dir}" do mode 0775 owner "root" group "root" action :create recursive true endend
![Page 32: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/32.jpg)
Provisionamento• SaltStack
www.saltstack.com• Phansible (focado em PHP)
www.phansible.com • PuPHPet
https://puphpet.com • Windows PowerShell Desired State
Configurationhttps://technet.microsoft.com/en-us/library/dn249912.aspx
![Page 33: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/33.jpg)
Controle de versão
![Page 34: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/34.jpg)
GNU/Linux Distro Timeline
http://futurist.se/gldt/
![Page 35: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/35.jpg)
Controle de versão• Concurrent Version System – CVS• Subversion• BitKeeper (características
híbridas)• Microsoft Visual SourceSafe• Git• Mercurial• Bazaar
Modelo descentralizado
![Page 36: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/36.jpg)
Repositório central
Hospedado• GitHub• BitBucket• Atlassian
Stash
Servidor próprio
• Gitosis• Gitorious• GitLab• GitBlit
![Page 37: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/37.jpg)
Hooks
![Page 38: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/38.jpg)
Fonte: https://enterprise.github.com/features
![Page 39: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/39.jpg)
P.J. Hyett Tom Preston-Werner Chris Wanstrath
![Page 40: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/40.jpg)
Environment
![Page 42: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/42.jpg)
Dockerwww.docker.com
Foto: https://flic.kr/p/9Wwj79
![Page 44: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/44.jpg)
Continuous Integration
![Page 45: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/45.jpg)
By Martin Fowler"Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly"
Foto: https://www.flickr.com/photos/adewale_oshineye/2933030620/
![Page 46: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/46.jpg)
Travis CIwww.travis-ci.org .travis.yml
![Page 47: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/47.jpg)
Jenkinswww.jenkins-ci.org
Font
e: h
ttps:
//ci
.ope
nshi
ft.re
dhat
.com
/jenk
ins/
![Page 48: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/48.jpg)
java -jar jenkins.war
Quem precisa de SaaS?
![Page 49: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/49.jpg)
IaaSPaaSSaaS
OpenShift, Heroku, Google App Engine (Google Cloud), AppFog, Pagoda Box, Fortrabbit, Laravel Forge
Digital Ocean, AWS, Linode, Azure, Rackspace, Open Stack
![Page 52: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/52.jpg)
Deployment
![Page 53: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/53.jpg)
O que seria um build no PHP?• Submeter aos testes (unitário, comportamento
e integração)• Executar as migrations• Concatenar e minificar arquivos JavaScript e
CSS• Comprimir imagens• Compilar Sass e LESS• Atribuir permissões em arquivos/pastas• Produzir arquivos estáticos, como HTMLs• Agendamentos na CRON• php.ini local x php.ini do servidor x php.ini do
CLI• Transformar código de ECMA6 para ECMA5
![Page 55: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/55.jpg)
Abordagem rudimentar…
![Page 56: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/56.jpg)
![Page 57: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/57.jpg)
Zero Downtime Deployment(implantação atômica)
Fonte: https://leanpub.com/deploying-php-applications
![Page 59: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/59.jpg)
Quem nunca…
![Page 60: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/60.jpg)
Foto
: http
s://
flic.
kr/p
/6m
NHc
j
Simples, previsível e reversível
![Page 61: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/61.jpg)
//Carrega o Gulp e seus plug-insvar gulp = require('gulp');var jshint = require('gulp-jshint');var sass = require('gulp-sass');var concat = require('gulp-concat');var uglify = require('gulp-uglify');var rename = require('gulp-rename');
//Analisa o códigogulp.task('lint', function() { return gulp.src('src/js/*.js') .pipe(jshint()) .pipe(jshint.reporter('default'));});//Compila o Sassgulp.task('sass', function() { return gulp.src('scss/*.scss') .pipe(sass()) .pipe(gulp.dest('css'));});//Concatena e minifica o JavaScriptgulp.task('scripts', function() { return gulp.src('src/js/*.js') .pipe(concat('src/js/all.js')) .pipe(gulp.dest('dist')) .pipe(rename('src/js/all.min.js')) .pipe(uglify()) .pipe(gulp.dest('dist'));});
// Default Taskgulp.task('default', ['lint', 'sass', 'scripts']);
Grunt e Gulp
![Page 62: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/62.jpg)
Lock-in• Banco de dados específico daquela
hospedagem• Mecanismo de filas exclusivo• Replica em diferentes data-centers
(worldwide) e troca automática de DNS
• S3 criptografado, gera token para acesso ao documento que usa UMA vez e expira
Foto: https://flic.kr/p/bAUx5j
![Page 63: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/63.jpg)
• DevOps é habilidade
• Trata-se de gestão de configuração
• Outsourced é impraticável
• Focado em sistemas modernos
• DevOps é ideologia• Trata-se de
comunicação• Outsourced é
totalmente viável• Para qualquer tipo
de sistema
![Page 64: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/64.jpg)
Font
e: h
ttp:/
/the
imita
tiong
amem
ovie
.com
Setup
![Page 65: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/65.jpg)
![Page 66: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/66.jpg)
![Page 67: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/67.jpg)
E-mail:[email protected]
Twitter: @stopassolaSkype: stopassolaLinkedIn:
http://pt.linkedin.com/in/stopassola
Facebook:http://www.facebook.com/arijunior
Sites:http://www.perito.inf.brhttp://www.certificamp.com http://www.rumoacertificacaophp.com
Contatos
![Page 68: DevOps: desenvolvedores e sysadmins cooperando na prática](https://reader037.vdocuments.pub/reader037/viewer/2022102703/58f284a71a28ab27528b45f3/html5/thumbnails/68.jpg)
Obrigado![ tem brinde ]