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.

TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já passou da hora!

225 views

Published on

Gestão de ciclo de vida de banco de dados: Já passou da hora!

Published in: Education
  • Be the first to comment

TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já passou da hora!

  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 Eu não trabalho no Facebok, nem no Twitter, nem no Google, nem na Amazon… 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

×