22. 1. Incremental é melhor que “big bang”
PRINCÍPIOS PARA ENTREGAS
DE BAIXO RISCO
23. 1. Incremental é melhor que “big bang”
2. Implantação != Entrega
PRINCÍPIOS PARA ENTREGAS
DE BAIXO RISCO
24. 1. Incremental é melhor que “big bang”
2. Implantação != Entrega
3. Foque em entregar lotes pequenos
PRINCÍPIOS PARA ENTREGAS
DE BAIXO RISCO
25. 1. Incremental é melhor que “big bang”
2. Implantação != Entrega
3. Foque em entregar lotes pequenos
4. Qualidade deve estar embutida no
processo
PRINCÍPIOS PARA ENTREGAS
DE BAIXO RISCO
26. 1. Mudança paralela
2. Implantação Azul-Verde
3. Implantação Canário
4. Feature Toggles
5. Entrega no Escuro
PADRÕES DE DEPLOY
27. MUDANÇA PARALELA
Também conhecida como “Expansão e Contração”
http://www.thoughtworks.com/insights/blog/mudança-paralela
17https://www.flickr.com/photos/telstar/8246798446
28. 1. EXPANSÃO
18
class Grid {
private Cell[][] cells;
…
!
public void addCell(int x, int y, Cell cell) {
cells[x][y] = cell;
}
public Cell fetchCell(int x, int y) {
return cells[x][y];
}
!
!
public boolean isEmpty(int x, int y) {
return cells[x][y] == null;
}
!
!
!
}
29. 1. EXPANSÃO
19
class Grid {
private Cell[][] cells;
…
!
public void addCell(int x, int y, Cell cell) {
cells[x][y] = cell;
}
!
public Cell fetchCell(int x, int y) {
return cells[x][y];
}
!
!
!
public boolean isEmpty(int x, int y) {
return cells[x][y] == null;
}
!
!
!
}
30. 1. EXPANSÃO
20
class Grid {
private Cell[][] cells;
private Map<Coordinate, Cell> newCells;
…
!
public void addCell(int x, int y, Cell cell) {
cells[x][y] = cell;
}
public void addCell(Coordinate coordinate, Cell cell) {
newCells.put(coordinate, cell);
}
public Cell fetchCell(int x, int y) {
return cells[x][y];
}
public Cell fetchCell(Coordinate coordinate) {
return newCells.get(coordinate);
}
public boolean isEmpty(int x, int y) {
return cells[x][y] == null;
}
public boolean isEmpty(Coordinate coordinate) {
return !newCells.containsKey(coordinate);
}
}
44. IMPLANTAÇÃO CANÁRIO
34
Nova Versão
Versão Antiga
Servidor
web
Servidor de
aplicação
Servidor de
BD
Servidor
web
Servidor de
aplicação
Servidor de
BD
RoteadorUsuários
Todos os
usuários
45. IMPLANTAÇÃO CANÁRIO
35
Nova Versão
Versão Antiga
Servidor
web
Servidor de
aplicação
Servidor de
BD
Servidor
web
Servidor de
aplicação
Servidor de
BD
RoteadorUsuários
Maior parte dos
usuários
(95%)
Alguns
usuários
(5%)
46. IMPLANTAÇÃO CANÁRIO
36
Nova Versão
Versão Antiga
Servidor
web
Servidor de
aplicação
Servidor de
BD
Servidor
web
Servidor de
aplicação
Servidor de
BD
Usuários Roteador
Alguns
usuários
(2%)
Maior parte
dos usuários
(98%)
47. IMPLANTAÇÃO CANÁRIO
37
Nova Versão
Versão Antiga
Servidor
web
Servidor de
aplicação
Servidor de
BD
Servidor
web
Servidor de
aplicação
Servidor de
BD
Usuários
Todos os
usuários
Roteador
49. FEATURE TOGGLE
39
share_with_friends = false
Googlehttp://www.devopsnapratica.com.br
Livro Devops na Prática: Entrega de Software Confiável e Automatizada
Configuração:
50. FEATURE TOGGLE
40
share_with_friends = true
Googlehttp://www.devopsnapratica.com.br
Livro Devops na Prática: Entrega de Software Confiável e Automatizada
Configuração:
53. ENTREGA NO ESCURO
43
Googlehttp://facebook.com
Web Page Title
Phasellus nulla risus, semper non dictum semper, congue
vitae augue. Nunc vulputate ligula eget neque tempus. Maria
disse
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Curabitur eget ultrices velit.
Suspendisse ut justo elementum felis facilisis aliquam ut
sit amet mi. Praesent sit amet venenatis eros. Fusce est
tellus, congue ac augue in, congue elementum quam.João
disse
João
Backend de Chat
Googlehttp://facebook.com
Web Page Title
Phasellus nulla risus, semper non dictum semper, congue
vitae augue. Nunc vulputate ligula eget neque tempus. Maria
disse
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Curabitur eget ultrices velit.
Suspendisse ut justo elementum felis facilisis aliquam ut
sit amet mi. Praesent sit amet venenatis eros. Fusce est
tellus, congue ac augue in, congue elementum quam.João
disse
Maria
54. ENTREGA NO ESCURO
44
Googlehttp://facebook.com
Web Page Title
Phasellus nulla risus, semper non dictum semper, congue
vitae augue. Nunc vulputate ligula eget neque tempus. Maria
disse
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Curabitur eget ultrices velit.
Suspendisse ut justo elementum felis facilisis aliquam ut
sit amet mi. Praesent sit amet venenatis eros. Fusce est
tellus, congue ac augue in, congue elementum quam.João
disse
João
Backend de Chat
Googlehttp://facebook.com
Web Page Title
Phasellus nulla risus, semper non dictum semper, congue
vitae augue. Nunc vulputate ligula eget neque tempus. Maria
disse
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Curabitur eget ultrices velit.
Suspendisse ut justo elementum felis facilisis aliquam ut
sit amet mi. Praesent sit amet venenatis eros. Fusce est
tellus, congue ac augue in, congue elementum quam.João
disse
Maria