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

102 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
102
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

×