Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Soluções DevOps para automação de desenvolvimento de banco de dados

O que é DevOps?


Database DevOps é uma filosofia que compreende os seguintes conceitos:
  • automatizando os processos de desenvolvimento, implantação, documentação, teste e monitoramento entre desenvolvedores de software e engenheiros de operações
  • integrando os processos de desenvolvimento e operações para sincronizar, validar, gerenciar e aplicar com eficiência as alterações do banco de dados

A prática de DevOps de banco de dados está focada em melhorar a eficiência do gerenciamento de banco de dados. Ele ajuda a agilizar o processo de implantação e aprimoramento de bancos de dados, oferecendo a capacidade de automatizar muitos aspectos do ciclo de vida do banco de dados, acelerando-os e simplificando-os.

Portanto, o DevOps é a melhor prática para unificar os processos de desenvolvimento, operações e garantia de qualidade.

Histórico


Patrick Debois, da Bélgica, trabalhou para o governo no projeto Migração. Ele estava frustrado com os conflitos entre o administrador do sistema e os desenvolvedores. Para resolver esses problemas e melhorar diversos processos, ele estudou a metodologia Agile.

Em 2008, Patrick foi à conferência Agile onde Andrew Shafer foi palestrante. A conferência foi sobre Infraestrutura Ágil. Nesta conferência, Patrick foi a única pessoa que participou desse relatório.

Junto com Andrew, eles criaram o Agile Systems Administration Group.

Em 2009, uma conferência chamada “O’Reilly Velocity 09” foi realizada com o relatório:“10 Deploys a Day:Dev and Ops Cooperation at Flickr”. Patrick queria participar pessoalmente da conferência e alguém sugeriu que ele criasse o grupo Velocity na Bélgica.

No mesmo ano, ele criou um grupo chamado DevOpsDays com a hashtag #DevOps no Twitter.
Depois que o conceito de DevOps foi desenvolvido, eventualmente as pessoas começaram a aplicar a abordagem especificamente ao desenvolvimento de banco de dados e alterá-la de acordo.

Definição


O Database DevOps simplifica o processo de entrega de bancos de dados funcionais e versáteis usando as melhores práticas e filosofias culturais. Isso pode melhorar muito o trabalho de desenvolvedores e administradores de sistema.

A ideia básica do DevOps é unir e compartilhar os processos de desenvolvimento e operação para torná-los compatíveis e eficazes.

Basicamente, desenvolvedores e administradores de sistema precisam trabalhar juntos na implantação de um banco de dados funcional.

Exemplo


Qualquer empresa de software tem uma equipe de desenvolvedores. Essa equipe precisa lançar novas versões de software, incluindo patches, hotfixes e muito mais. Quando uma nova versão estiver pronta, o software atualizado deve ser carregado em um servidor.

A implantação e atualização no servidor requerem coordenação com a equipe de operação. A equipe de operação geralmente está de acordo com os administradores do sistema e pode ter outras atribuições e tarefas, o que pode causar atraso no processo de implantação. Por isso é necessário integrar os dois processos e automatizar as tarefas, incluindo as implantações.

Solução de DevOps


Para fazer isso e reduzir o tempo de entrega do software, você precisaria do seguinte:
  • Ferramentas de automação para acompanhar as alterações no software.
  • Ferramentas de teste automatizadas.
  • Ferramentas para automatizar a configuração.
  • Ferramentas para verificar o desempenho da implantação.
  • Ferramentas para automatizar a documentação.
  • Ferramentas para melhorar a qualidade do software, incluindo formatação e desenvolvimento de código.

Como o dbForge pode ajudá-lo no processo de DevOps do banco de dados?


Vamos considerar a solução dbForge DevOps Automation e algumas ferramentas dbForge para SQL Server que podem ser usadas para melhorar os processos DevOps para bancos de dados:

dbForge SQL concluído


Ao escrever código, os desenvolvedores geralmente precisam transmitir seus pensamentos o mais rápido possível para manter a eficácia e a produtividade, mantendo o código consistente e legível.

O dbForge SQL Complete fornece uma ampla variedade de recursos para autocompletar código, formatação e refatoração para simplificar bastante o processo de desenvolvimento. Isso inclui um extenso conjunto de trechos de código, renomeação inteligente de aliases e variáveis, recursos de formatação de código altamente personalizáveis, visualizador de dados e muito mais.

Um dos recursos mais notáveis ​​do SQL Complete é a interface de linha de comando de formatação SQL. Com sua ajuda, arquivos SQL e pastas de script podem ser formatados automaticamente como uma etapa de validação de integração contínua.

Controle de origem do dbForge


Toda vez que o código é implantado, é necessário verificar automaticamente as alterações no código-fonte.

Com a ferramenta dbForge Source Control, é mais fácil monitorar as alterações do arquivo de script SQL e revertê-las se algumas modificações afetarem a integridade do seu banco de dados.

O dbForge Source Control é um plugin SSMS que ajuda você a gerenciar as alterações do banco de dados no controle do código-fonte. Você pode visualizar o histórico de alterações de um banco de dados SQL inteiro, confirmar suas alterações locais no controle de origem, fazer atualizações em sua cópia de trabalho buscando as alterações mais recentes do repositório do sistema de controle de origem, detectar e resolver conflitos entre versões e muito mais. Todas as tarefas de controle de origem também podem ser automatizadas por meio da interface de linha de comando.

A ferramenta pode vincular seus bancos de dados ao SVN, TFS, Git, Perforce, Mercurial e SourceGear Vault.

Comparação de Esquemas dbForge


Quando você tem várias implantações, o banco de dados é modificado constantemente. Nesse caso, é necessário verificar se novas tabelas, exibições ou procedimentos armazenados são criados ou removidos. Com o dbForge Schema Compare for SQL Server, você pode comparar dois bancos de dados e sincronizá-los facilmente.

A ferramenta permite trabalhar com bancos de dados ativos, backups ou instantâneos e monitorar alterações no banco de dados de produção. Para visualizar as alterações, você pode gerar um relatório HTML ou Excel com informações sobre as diferenças entre os bancos de dados.

Usando esta ferramenta, você pode automatizar o processo de atualização com a ajuda da interface de linha de comando integrada, acelerar o desenvolvimento do software e simplificar as operações para desenvolver e implantar o produto.

teste de unidade dbForge


Para melhorar o processo de desenvolvimento, um engenheiro de qualidade geralmente executa testes de unidade para verificar se tudo funciona corretamente no código – principalmente após algumas atualizações serem feitas.

O dbForge Unit Test é a solução perfeita projetada para criar, organizar e executar casos de teste em apenas alguns cliques. O teste de unidade dbForge é baseado na estrutura tSQLt de código aberto que permite usar T-SQL para implementar testes de unidade. Com o dbForge Unit Test, você pode simplificar o processo geralmente manual e demorado de teste de unidade, pois permite executar vários testes de unidade ao mesmo tempo e fornece uma interface de linha de comando para automatizar e agendar o processo.

Gerador de dados dbForge


Antes que os bancos de dados possam ser movidos para o ambiente de produção, vários testes devem ser executados para garantir que tudo esteja funcionando corretamente. No entanto, para fazer isso corretamente, você deve primeiro preencher os bancos de dados com dados de teste.

O dbForge Data Generator fornece a capacidade de gerar milhões de linhas de dados de teste realistas para qualquer tipo de banco de dados ou tabela.

Você pode escolher um dos mais de 200 geradores de dados integrados sob medida para vários requisitos. No entanto, se nenhum deles atender às suas necessidades, você poderá criar um gerador de dados personalizado.

As tarefas de geração de dados também podem ser agendadas e automatizadas com a ajuda da interface de linha de comando.

Bomba de dados dbForge


O Data Pump oferece recursos poderosos para preencher bancos de dados SQL com dados de fontes externas e migrar dados entre sistemas.

Os seguintes formatos de dados são suportados:
  • Importar:Texto, MS Excel, MS Excel 2007, MS Access, XML, CSV, ODBC, DBF (FoxPro, dBase III, dBase IV, dBase 7), JSON
  • Exportar:HTML, Texto, MS Excel, MS Excel 2007, MS Access, RTF, PDF, XML, CSV, ODBC, DBF (Foxpro, dBase III, dBase IV, dBase 7), SQL, JSON

Com a ajuda de assistentes especializados de importação e exportação que oferecem um amplo conjunto de opções, você poderá configurar com precisão os processos de importação e exportação.

Você também pode criar e salvar modelos para operações de importação e exportação para simplificar tarefas recorrentes e automatizar essas tarefas por meio da interface de linha de comando.

Monitor dbForge


Em um ambiente de desenvolvimento ágil, é necessário automatizar o processo de implantação. Após a implantação do software, você pode executar testes automatizados em seu banco de dados e analisar o desempenho do SQL Server usando o dbForge Monitor.

Este plug-in GRATUITO para SSMS permite monitorar o desempenho do SQL Server, utilização da CPU, uso de memória e disco, latências de leitura e gravação, deadlocks, transações por segundo e muito mais.

Com esta ferramenta, você pode verificar se as alterações no código causam algum problema no desempenho. Você também pode verificar facilmente as propriedades do ambiente em desenvolvimento e produção, incluindo versão do SQL Server, service pack, versão do sistema operacional, agrupamento, uso do cluster e muito mais. Essa ferramenta pode ser usada para analisar se há vazamentos de memória, deadlocks ou outros problemas.

Você pode, por exemplo, executar testes de unidade com consultas e monitorar como essa ferramenta funciona para verificar se o desempenho é aceitável e detectar as consultas que mais consomem recursos e que diminuem a atividade do servidor.

Perfil de eventos do dbForge


Enquanto o dbForge Monitor tem acesso aos contadores e registros do SQL Server e do SO, o dbForge Event Profiler se concentra na verificação do desempenho de consultas e procedimentos armazenados.

Você pode executar automaticamente rastreamentos de código T-SQL e verificar o tempo de CPU para analisar os resultados do rastreamento e salvá-los em um arquivo. Essa ferramenta ajuda a detectar consultas de longa duração, deadlocks e outros problemas relacionados ao desempenho com consultas.

Comparada a outras, esta ferramenta tem uma ótima qualidade de desempenho e consome menos recursos para realizar tarefas.

Conclusão


Como você pode ver, o dbForge oferece um grande número de ferramentas para automatizar os processos de desenvolvimento de software, comparação de dados e esquemas, monitoramento de desempenho em diferentes níveis, teste de alterações no código, padronização e criação de código, geração de relatórios e muito mais.

Referências


Para obter mais informações sobre DevOps, consulte estes links:

O que é DevOps? – Em inglês simples
Tutorial de DevOps para iniciantes
DevOps