Globalcode – Open4education
Gestão de ciclo de vida de banco
de dados: Já passou da hora!
Igor Abade V. Leite
@igorabade
L...
Globalcode – Open4education
@IgorAbade
blog.lambda3.com.br/L3/IgorAbade
“DevOps é a colaboração
Entre Desenvolvimento e
Infra (Ops)”
“DevOps é tratar sua
Infraestrutura como
código”
“DevOps é us...
Globalcode – Open4education
Tudo muito lindo, mas…
Falar é fácil
Historicamente bancos
de dados têm sido
implementados usa...
Globalcode – Open4education
Infrastructure As Code
Se bancos de
dados fazem parte
da infraestrutura...
... Precisam estar
...
Globalcode – Open4education
Duas abordagens
Code
First
Database
First
Globalcode – Open4education
Code First
Preferido dos
desenvolvedores
Classes primeiro,
banco depois
Ferramenta:
Migrations
Globalcode – Open4education
Demo
Globalcode – Open4education
Mas Code First não
resolve tudo
“Developer-centric”
Não funciona na cultura
de todas as empres...
Globalcode – Open4education
Database First
Primeiro o banco de
dados, depois o código
Mais comum para projetos
legados
Tip...
Globalcode – Open4education
Versionamento Imperativo
11
-- version 1
CREATE TABLE dbo.Auction
(
id INT NOT NULL,
name VARC...
Globalcode – Open4education
Versionamento Declarativo
-- version 1
CREATE TABLE dbo.Auction
(
id INT NOT NULL,
name VARCHA...
Globalcode – Open4education
SQL Server Data Tools
Gestão Declarativa de
Mudanças
Versionamento dos schemas
Implantação inc...
Globalcode – Open4education
Deployment AgentTFS
Build Agent
Fluxo SSDT
Desenvolvedor
Visual Studio
Git/TFVC
Continuous
Int...
Globalcode – Open4education
Continuous Deployment
Globalcode – Open4education
Demo
Globalcode – Open4education
Obrigado!
Gestão de ciclo de vida de banco de dados:
Já passou da hora!
Igor Abade V. Leite
@i...
Próximos SlideShares
Carregando em…5
×

Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)

90 visualizações

Publicada em

Apesar de todos os avanços que DevOps tem trazido para o mundo do desenvolvimento de sistemas, bancos de dados (em especial os RDBMS) têm ficado para trás. Ainda que haja ferramentas disponíveis para controle de versão e automação, poucas são as empresas que as usam. Venha conhecer algumas dessas ferramentas e estratégias que pode ajudar na gestão do ciclo de vida de seu banco de dados.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
90
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)

  1. 1. Globalcode – Open4education Gestão de ciclo de vida de banco de dados: Já passou da hora! Igor Abade V. Leite @igorabade Lambda3 Microsoft MVP – Visual Studio ALM Professional Scrum Trainer – Scrum.org
  2. 2. Globalcode – Open4education @IgorAbade blog.lambda3.com.br/L3/IgorAbade
  3. 3. “DevOps é a colaboração Entre Desenvolvimento e Infra (Ops)” “DevOps é tratar sua Infraestrutura como código” “DevOps é usar automação” “Kanban para Ops?” “DevOps é usar feature switches” “DevOps é fazer pequenas implantações”
  4. 4. Globalcode – Open4education Tudo muito lindo, mas… Falar é fácil Historicamente bancos de dados têm sido implementados usando ferramentas e processos desconexos do desenvolvimento de aplicações
  5. 5. Globalcode – Open4education Infrastructure As Code Se bancos de dados fazem parte da infraestrutura... ... Precisam estar definidos como código!
  6. 6. Globalcode – Open4education Duas abordagens Code First Database First
  7. 7. Globalcode – Open4education Code First Preferido dos desenvolvedores Classes primeiro, banco depois Ferramenta: Migrations
  8. 8. Globalcode – Open4education Demo
  9. 9. Globalcode – Open4education Mas Code First não resolve tudo “Developer-centric” Não funciona na cultura de todas as empresas Pode ser difícil de ler e manter Dev precisa criar “up” e “down” É preciso aprender outro “dialeto” Por que não usar DDL? Fácil para green field Mas trabalhoso para legado
  10. 10. Globalcode – Open4education Database First Primeiro o banco de dados, depois o código Mais comum para projetos legados Tipicamente envolve DAs e DBAs SQL DDL é lingua franca Declarativo x Imperativo
  11. 11. Globalcode – Open4education Versionamento Imperativo 11 -- version 1 CREATE TABLE dbo.Auction ( id INT NOT NULL, name VARCHAR(25) NOT NULL, start DATETIME NULL, len INT NULL ) -- version 2 ALTER TABLE dbo.Auction WITH CHECK ADD CONSTRAINT Au_PK -- version 3 ALTER TABLE dbo.Auction WITH CHECK ADD CONSTRAINT Au_SK UNIQUE (name) Histórico de VersõesV 1 V 2 V 3
  12. 12. Globalcode – Open4education Versionamento Declarativo -- version 1 CREATE TABLE dbo.Auction ( id INT NOT NULL, name VARCHAR(25) NOT NULL, start DATETIME NULL, len INT NULL ) -- version 2 CREATE TABLE dbo.Auction ( id INT NOT NULL PRIMARY KEY, name VARCHAR(25) NOT NULL, start DATETIME NULL, len INT NULL ) -- version 3 CREATE TABLE dbo.Auction ( id INT NOT NULL PRIMARY KEY, name VARCHAR(25) NOT NULL UNIQUE, start DATETIME NULL, len INT NULL ) Histórico de VersõesV 1 V 2 V 3
  13. 13. Globalcode – Open4education SQL Server Data Tools Gestão Declarativa de Mudanças Versionamento dos schemas Implantação incremental Refatoração Análise de Código e Testes Validação de dependências T-SQL Static Code Analysis Testes Unitários Integração no Ciclo de Vida da Aplicação (ALM) Continuous Integration, Deployment e/ou Delivery
  14. 14. Globalcode – Open4education Deployment AgentTFS Build Agent Fluxo SSDT Desenvolvedor Visual Studio Git/TFVC Continuous Integration Deploy/Test MSBuild MSTest SQL SQL DacPac SQL Continuous Deployment DBA SQLPackage PublishDeploy/Test
  15. 15. Globalcode – Open4education Continuous Deployment
  16. 16. Globalcode – Open4education Demo
  17. 17. Globalcode – Open4education Obrigado! Gestão de ciclo de vida de banco de dados: Já passou da hora! Igor Abade V. Leite @igorabade Microsoft MVP – Visual Studio ALM Professional Scrum Trainer – Scrum.org

×