sql >> Database >  >> RDS >> Sqlserver

DevOps-oplossingen voor automatisering van databaseontwikkeling

Wat is DevOps?

Database DevOps is een filosofie die de volgende concepten omvat:

  • het automatiseren van de ontwikkelings-, implementatie-, documentatie-, test- en monitoringprocessen tussen softwareontwikkelaars en operations engineers
  • het integreren van de ontwikkelings- en operationele processen om databasewijzigingen efficiënt te synchroniseren, valideren, beheren en toe te passen

De Database DevOps-praktijk is gericht op het verbeteren van de efficiëntie van databasebeheer. Het helpt bij het stroomlijnen van het implementatie- en verbeteringsproces van databases door de mogelijkheid te bieden om veel aspecten van de databaselevenscyclus te automatiseren, waardoor ze worden versneld en vereenvoudigd.

Daarom is DevOps de beste manier om processen voor ontwikkeling, bedrijfsvoering en kwaliteitsborging te verenigen.

Geschiedenis

Patrick Debois, uit België, werkte voor de overheid aan het Migratieproject. Hij was gefrustreerd door de conflicten tussen de systeembeheerder en de ontwikkelaars. Om deze problemen op te lossen en verschillende processen te verbeteren, bestudeerde hij de Agile-methodologie.

In 2008 ging Patrick naar de Agile-conferentie waar Andrew Shafer een spreker was. De conferentie ging over Agile Infrastructure. Op deze conferentie was Patrick de enige die dat rapport bijwoonde.

Samen met Andrew hebben ze de Agile Systems Administration Group opgericht.

In 2009 werd een conferentie gehouden genaamd "O'Reilly Velocity 09" met het rapport:"10 Deploys a Day:Dev and Ops Cooperation bij Flickr." Patrick wilde de conferentie persoonlijk bijwonen en iemand stelde voor om de Velocity-groep in België op te richten.

In hetzelfde jaar richtte hij een groep op met de naam DevOpsDays met de #DevOps-hashtag in Twitter.
Nadat het DevOps-concept was ontwikkeld, begonnen mensen de aanpak specifiek toe te passen op database-ontwikkeling en dienovereenkomstig te veranderen.

Definitie

Database DevOps vereenvoudigt het proces van het leveren van functionele en veelzijdige databases met behulp van de best practices en culturele filosofieën. Dit kan het werk van ontwikkelaars en systeembeheerders aanzienlijk verbeteren.

Het basisidee van DevOps is om deel te nemen aan de ontwikkelings- en operationele processen en deze te delen om ze compatibel en effectief te maken.

In principe moeten ontwikkelaars en systeembeheerders samenwerken bij het implementeren van een functionele database.

Voorbeeld

Elk softwarebedrijf heeft een team van ontwikkelaars. Dit team moet nieuwe versies van software uitbrengen, inclusief patches, hotfixes en meer. Wanneer een nieuwe versie gereed is, moet de bijgewerkte software naar een server worden geüpload.

Implementatie en update op de server vereisen afstemming met het operationele team. Het operatieteam is het meestal eens met systeembeheerders en kan andere taken en taken hebben, die vertraging in het implementatieproces kunnen veroorzaken. Daarom is het noodzakelijk om beide processen te integreren en de taken, inclusief implementaties, te automatiseren.

DevOps-oplossing

Om dit te doen en de levertijd van de software te verkorten, heeft u het volgende nodig:

  • Automatiseringstools om wijzigingen in de software bij te houden.
  • Geautomatiseerde testtools.
  • Hulpprogramma's om configuratie te automatiseren.
  • Hulpprogramma's om de implementatieprestaties te controleren.
  • Hulpmiddelen om documentatie te automatiseren.
  • Hulpprogramma's om de kwaliteit van de software te verbeteren, inclusief opmaak en code-ontwikkeling.

Hoe kan dbForge u helpen bij het DevOps-proces van de database?

Laten we eens kijken naar de dbForge DevOps Automation-oplossing en enkele dbForge-tools voor SQL Server die kunnen worden gebruikt om de DevOps-processen voor databases te verbeteren:

dbForge SQL voltooid

Bij het schrijven van code moeten ontwikkelaars hun gedachten vaak zo snel mogelijk overbrengen om de effectiviteit en productiviteit te behouden, terwijl de code consistent en leesbaar blijft.

dbForge SQL Complete biedt een breed scala aan functies voor het automatisch aanvullen, formatteren en herstructureren van code om het ontwikkelingsproces aanzienlijk te vereenvoudigen. Deze omvatten een uitgebreide set codefragmenten, slim hernoemen van aliassen en variabelen, zeer aanpasbare code-opmaakmogelijkheden, gegevensvisualisatie en nog veel meer.

Een van de meest opvallende kenmerken in SQL Complete is de opdrachtregelinterface voor SQL-opmaak. Met zijn hulp kunnen SQL-bestanden en scriptmappen automatisch worden geformatteerd als een continue integratievalidatiestap.

dbForge broncontrole

Elke keer dat de code wordt geïmplementeerd, is het nodig om automatisch wijzigingen in de broncode te verifiëren.

Met de dbForge Source Control-tool is het eenvoudiger om wijzigingen in SQL-scriptbestanden te controleren en terug te draaien als sommige wijzigingen de integriteit van uw database beïnvloeden.

dbForge Source Control is een SSMS-plug-in die u helpt bij het beheren van databasewijzigingen in bronbeheer. U kunt de wijzigingsgeschiedenis voor een volledige SQL-database bekijken, uw lokale wijzigingen vastleggen in broncodebeheer, updates aanbrengen in uw werkkopie door de laatste wijzigingen op te halen uit de repository van het bronbeheersysteem, conflicten tussen versies detecteren en oplossen, en nog veel meer. Alle bronbeheertaken kunnen ook worden geautomatiseerd via de opdrachtregelinterface.

De tool kan uw databases koppelen aan SVN, TFS, Git, Perforce, Mercurial en SourceGear Vault.

dbForge-schema vergelijken

Wanneer u meerdere implementaties hebt, wordt de database voortdurend gewijzigd. In dit geval is het nodig om te kijken of er nieuwe tabellen, views of opgeslagen procedures zijn gemaakt of verwijderd. Met dbForge Schema Compare voor SQL Server kunt u twee databases vergelijken en eenvoudig synchroniseren.

Met de tool kunt u werken met live databases, back-ups of snapshots en wijzigingen in de productiedatabase volgen. Om de wijzigingen te bekijken, kunt u een HTML- of Excel-rapport genereren met informatie over verschillen tussen databases.

Met deze tool kunt u het updateproces automatiseren met behulp van de ingebouwde opdrachtregelinterface, de softwareontwikkeling versnellen en de bewerkingen voor het ontwikkelen en implementeren van het product vereenvoudigen.

dbForge-eenheidstest

Om het ontwikkelingsproces te verbeteren, voert een kwaliteitsingenieur vaak unit-tests uit om te controleren of alles goed werkt in de code, vooral nadat er enkele updates zijn doorgevoerd.

dbForge Unit Test is de perfecte oplossing die is ontworpen om met een paar klikken testgevallen te creëren, organiseren en uitvoeren. dbForge Unit Test is gebaseerd op het open-source tSQLt-framework waardoor T-SQL kan worden gebruikt voor het implementeren van unit-tests. Met dbForge Unit Test vereenvoudigt u het doorgaans handmatige en tijdrovende proces van het testen van eenheden, omdat het u in staat stelt meerdere eenheidstests tegelijkertijd uit te voeren en een opdrachtregelinterface biedt voor het automatiseren en plannen van het proces.

dbForge-gegevensgenerator

Voordat databases naar de productieomgeving kunnen worden verplaatst, moeten meerdere tests worden uitgevoerd om te controleren of alles correct werkt. Om dit echter goed te doen, moet u eerst de databases vullen met testgegevens.

dbForge Data Generator biedt de mogelijkheid om miljoenen rijen realistische testgegevens te genereren voor elk type database of tabel.

U kunt een van de meer dan 200 ingebouwde datageneratoren kiezen die zijn afgestemd op verschillende vereisten. Als geen van deze echter aan uw behoeften voldoet, kunt u een aangepaste gegevensgenerator maken.

Taken voor het genereren van gegevens kunnen ook worden gepland en geautomatiseerd met behulp van de opdrachtregelinterface.

dbForge-gegevenspomp

Data Pump biedt krachtige mogelijkheden voor het vullen van SQL-databases met gegevens uit externe bronnen en het migreren van gegevens tussen systemen.

De volgende gegevensformaten worden ondersteund:

  • Importeren:Tekst, MS Excel, MS Excel 2007, MS Access, XML, CSV, ODBC, DBF (FoxPro, dBase III, dBase IV, dBase 7), JSON
  • Exporteren:HTML, Tekst, MS Excel, MS Excel 2007, MS Access, RTF, PDF, XML, CSV, ODBC, DBF (Foxpro, dBase III, dBase IV, dBase 7), SQL, JSON

Met behulp van gespecialiseerde import- en exportwizards die een uitgebreide reeks opties bieden, kunt u de import- en exportprocessen nauwkeurig configureren.

U kunt ook sjablonen maken en opslaan voor import- en exportbewerkingen om terugkerende taken te vereenvoudigen en deze taken vervolgens te automatiseren via de opdrachtregelinterface.

dbForge-monitor

In een Agile ontwikkelomgeving is het noodzakelijk om het deploymentproces te automatiseren. Nadat u de software heeft geïmplementeerd, kunt u geautomatiseerde tests in uw database uitvoeren en de prestaties van SQL Server analyseren met dbForge Monitor.

Met deze GRATIS plug-in voor SSMS kunt u de prestaties van SQL Server, CPU-gebruik, geheugen en schijfgebruik, lees- en schrijflatenties, deadlocks, transacties per seconde en meer controleren.

Met deze tool kunt u controleren of wijzigingen in de code problemen veroorzaken voor de prestaties. U kunt ook eenvoudig de omgevingseigenschappen in ontwikkeling en productie controleren, inclusief SQL Server-versie, servicepack, besturingssysteemversie, sortering, clustergebruik en meer. Deze tool kan worden gebruikt om te analyseren of er geheugenlekken, impasses of andere problemen zijn.

U kunt bijvoorbeeld unit-tests uitvoeren met query's en controleren hoe deze tool werkt om te controleren of de prestaties acceptabel zijn en om de meest resource-intensieve query's te detecteren die de serveractiviteit vertragen.

dbForge Event Profiler

Terwijl dbForge Monitor toegang heeft tot SQL Server en OS-tellers en registers, richt dbForge Event Profiler zich op het controleren van de prestaties van query's en opgeslagen procedures.

U kunt automatisch traceringen van T-SQL-code uitvoeren en de CPU-tijd verifiëren om de traceerresultaten te analyseren en ze in een bestand op te slaan. Met deze tool kunt u langlopende zoekopdrachten, deadlocks en andere prestatiegerelateerde problemen met zoekopdrachten detecteren.

In vergelijking met andere heeft deze tool een geweldige prestatiekwaliteit en verbruikt hij minder middelen om taken uit te voeren.

Conclusie

Zoals u kunt zien, biedt dbForge een groot aantal tools om de processen van het ontwikkelen van software, het vergelijken van gegevens en schema's, het bewaken van de prestaties op verschillende niveaus, het testen van wijzigingen in de code, het standaardiseren en maken van code, het genereren van rapporten en nog veel meer te automatiseren.

Referenties

Raadpleeg deze links voor meer informatie over DevOps:

Wat is DevOps? – In eenvoudig Engels
DevOps-zelfstudie voor beginners
DevOps


  1. De evolutie en toekomst van Microsoft Access

  2. Room DB gebruiken in bibliotheekproject

  3. Kan geen verbinding maken met postgres vanaf een externe host

  4. Hoe kan sanitaire voorzieningen die ontsnappen aan enkele aanhalingstekens worden verslagen door SQL-injectie in SQL Server?