DevTest och DevOps för IaaS-lösningar

Azure Active Directory
Boards
Azure DevOps
DevTest Labs
Key Vault
Monitor
Pipelines
Policy

IaaS (Infrastructure as a Service) är en form av molnbaserad data behandling som tillhandahåller virtualiserade dator resurser.Infrastructure as a service (IaaS) is a form of cloud computing that provides virtualized computing resources. Utvecklings testning (DevTest) är en program utvecklings metod som integrerar testning tidigt i utvecklings fasen.Development testing (DevTest) is a software development approach that integrates testing early in the development phase. I den här lösningen minskar kostnaderna och omkostnaderna för utvecklings-och test miljöer genom att konfigurera DevTest-åtgärder för ett IaaS-program, samtidigt som det underlättar snabbare utveckling via automatiserad virtuell dator (VM) och integrering och distribution av virtuella datorer.In this solution, configuring DevTest operations for an IaaS application reduces the cost and overhead of development and test environments, while facilitating faster development through automated virtual machine (VM) and VM image integration and deployment.

DevOps är en uppsättning metoder som kombinerar program utveckling och IT-åtgärder för att förkorta utvecklings cykeln och tillhandahålla högkvalitativ kontinuerlig distribution (CD).DevOps is a set of practices that combine software development and IT operations to shorten the development cycle and provide high-quality continuous deployments (CD). Att använda Azure DevOps med DevTest-miljöer är ett sätt att utveckla och fokusera på IaaS-utvecklings processen.Using Azure DevOps with DevTest environments lends power and focus to the IaaS development process.

ArkitekturArchitecture

Diagram som visar konfigurationen av DevTest och DevOps för ett IaaS-program.

  1. I stället för att manuellt konfigurera utvecklings miljöer kan utvecklare använda Windows virtuella Skriv bords avbildningar, förkonfigurerade med de bibliotek, verktyg och körningar som de behöver för sina projekt.Instead of manually configuring development environments, developers can use Windows Virtual Desktop images, pre-configured with the libraries, tools, and runtimes they need for their projects. Genom att lägga till en utvecklare i en Azure DevTest-prenumeration blir lämplig Windows Virtual Desktop-avbildning tillgänglig för dem från DevTest-miljön.Adding a developer to an Azure DevTest Subscription makes the appropriate Windows Virtual Desktop image available to them from the DevTest environment.

  2. Käll koden finns i GitHub databaser, som kan integreras sömlöst med Azure DevOps.Source code is available in GitHub repos, which integrate seamlessly with Azure DevOps. Utvecklings miljön i Visual Studio kombinerar GitHub käll kods redigering med funktioner som arbets objekt och spårning av pull-begäranden.The Visual Studio development environment combines GitHub source code editing with features like work item and pull request tracking.

  3. Azure-pipeliner utlöser automatisk kontinuerlig integrering (CI) som bygger på GitHub-databaser och levererar dem automatiskt till DevTest-miljöerna, som når kvalitets säkrings testning snabbt med låga utvecklings kostnader.Azure Pipelines triggers automated continuous integration (CI) builds from GitHub repos and automatically delivers them to the DevTest environments, reaching quality assurance (QA) testing quickly with low developer overhead. Azure-pipelines använder Azure Key Vault för att på ett säkert sätt använda hemligheter som autentiseringsuppgifter och anslutnings strängar som krävs för att kunna släppa och distribuera konfigurationer.Azure Pipelines uses Azure Key Vault to securely consume secrets like credentials and connection strings required for release and deployment configurations.

  4. Azure-kort ansluts till GitHub-databaser, så att utvecklarna kan spåra både kod och uppgifter på en och samma plats.Azure Boards connects back to the GitHub repos, letting developers track both code and tasks in one location. Automatiserad testning genererar även buggar för eventuella build-eller release-fel och matar tillbaka resultatet till utvecklings cykeln.Automated testing also generates bugs for any build or release failures, feeding the results back into the development cycle.

  5. Azure-korts arbets uppgifter kommer från automatiserad testning, manuella frågor och svar och ytterligare funktioner.Azure Boards work items come from automated testing, manual QA testing, and added features. Utvecklare kan skapa funktions grenar och koppla dem till arbets objekt för att spåra utveckling och skapa fler iterationer av utvecklings slingan.Developers create feature branches and associate them with work items to track development, creating more iterations of the development loop.

  6. Azure-pipelines distribuerar till låg kostnads Azure DevTest Labs prenumerations miljöer, där utvecklare och testare snabbt kan etablera virtuella datorer.Azure Pipelines deploys builds to the low-cost Azure DevTest Labs subscription environments, where developers and testers can rapidly provision VMs. Azure policy reglerar och begränsar DevTest VM-nummer och kostnader och granskar användningen av virtuella datorer för att ge insikt och spårning.Azure Policy regulates and limits DevTest VM numbers and costs, and audits VM usage to provide insight and tracking.

    Utvecklare kan distribuera virtuella datorer så snabbt som det behövs i labbet, samtidigt som de finns i resurs-och kostnads parametrar som angetts av chefer och administratörer.Developers can deploy VMs as quickly as needed within the lab, while staying within resource and cost parameters set by managers and administrators. Flexibiliteten med låg kostnads labb labb är utvecklare med alla de miljöer som de behöver för snabb iterativa framsteg.The flexibility of low-cost labs provides developers with all the environments they need for rapid iterative progress.

    Testare kan köras i sin egen DevTest Labs miljö, Hämta färdiga bilder till test teamets labb separat från utvecklings teamet.Testers can operate within their own DevTest Labs environment, pulling ready-for-test images into the test team's labs separately from the development team. Utvecklare och testare kan arbeta parallellt med parallella DevTest-labb och bidrar till snabb iteration av färdiga avbildnings versioner.The ability of developers and testers to work in parallel DevTest Labs contributes to rapid iteration of ready-to-release image versions.

  7. Eftersom de utvecklade VM-avbildningarna når ett versions tillstånd utlöser Azure pipelines-versioner, som generaliserar mål avbildningarna för mål som virtuella dator skalnings uppsättningar, och höjer ut dem från DevTest och till en produktions miljö.As the developed VM images reach a release state, Azure Pipelines triggers releases, which generalize the targeted images for destinations like virtual machine scale sets, and promotes them out of DevTest and into a Production environment.

    Test av användar godkännande (UAT) verifierar en mellanlagrad virtuell dator eller skalnings uppsättning för virtuella datorer innan distributionen till produktion.User Acceptance Testing (UAT) validates a staged VM or virtual machine scale set before deployment to Production.

    Godkännanden krävs vanligt vis för att lanseras till kunder med högre kostnad, klientbaserade produktions destinationer.Approvals are usually required for releases to higher-cost, client-facing Production destinations. Produktionen förblir isolerad och skyddas från oavsiktliga eller icke godkända distributioner.Production remains isolated and protected from inadvertent or unapproved deployments.

I det här scenariot används en separat DevTest och produktions Azure Active Directory (Azure AD) per prenumeration för att skapa en distinkt separation av problem.This scenario uses a separate DevTest and Production Azure Active Directory (Azure AD) per subscription to create a distinct separation of concerns. För att uppfylla kraven på efterlevnad kan produktions prenumerationens Azure AD behöva ta med ett mindre tvärsnitt av användarna än DevTest Azure AD.To meet compliance requirements, the Production subscription's Azure AD might need to include a smaller cross section of users than the DevTest Azure AD.

Azure Monitor fungerar över prenumerationer för att övervaka virtuella datorer i både produktions-och DevTest miljöer.Azure Monitor works across subscriptions to monitor VMs in both the Production and DevTest environments.

KomponenterComponents

  • Azure DevTest Labs tillhandahåller labb som har alla verktyg och program som krävs för att skapa miljöer.Azure DevTest Labs provides labs that have all the necessary tools and software to create environments. Utvecklare kan effektivt sköta resurser utan att vänta på godkännanden.Developers can efficiently self-manage resources without waiting for approvals. Med DevTest Labs kan grupper styra kostnader och reglera resurser per labb, ge utvecklare behörighet och flexibilitet att använda sina sand boxar inom kostnads begränsningar.With DevTest Labs, teams can control costs and regulate resources per lab, granting developers permission and flexibility to operate their sandboxes within cost constraints.

  • Tjänsten Azure VM Image Builder tillhandahåller VM-avbildningar för virtuella datorer som utvecklare kan anpassa.Azure VM Image Builder service provides baseline VM images that developers can customize. Tjänsten underlättar skapandet och korrigeringen av avbildningar och kan anropas som en Azure pipeline-uppgift.The service facilitates the creation and patching of images and can be called as an Azure Pipelines task.

  • Det delade bild galleriet fungerar som en lagrings plats för virtuella datorer för IaaS-lösningar.Shared Image Gallery acts as a VM image repository for IaaS solutions. VM Image Builder kan bygga direkt till ett delat avbildnings Galleri, vilket underlättar en Azure pipelines CI/CD-process för version av det VM-baserade programmet.VM Image Builder can build directly into a Shared Image Gallery, facilitating an Azure Pipelines CI/CD process of versioning the VM-based application.

  • GitHub är en kod värd plattform för versions kontroll och samarbete.GitHub is a code hosting platform for version control and collaboration. En GitHub-lagringsplats innehåller alla projektfiler och deras revisions historik.A GitHub repository contains all project files and their revision history. Utvecklare kan samar beta för att bidra, diskutera och hantera kod i lagrings platsen.Developers can work together to contribute, discuss, and manage code in the repository.

  • Azure-pipeliner distribuerar de virtuella dator avbildningarna.Azure Pipelines deploys the VM application images. Pipelines kan också distribuera de virtuella dator resurserna, via Azure Resource Manager arm-mallar.Pipelines can also deploy the VM resources themselves, through Azure Resource Manager (ARM) templates. Den här infrastrukturen som kod kan vara kontrollerad och KONFIGURERAD för CI/CD och se till att infrastrukturen förblir uppdaterad.This infrastructure-as-code can be source controlled and configured for CI/CD, ensuring that the infrastructure remains up to date.

  • Azure Key Vault säkert lagrar och tätt styr åtkomsten till hemligheter som API-nycklar, lösen ord och certifikat.Azure Key Vault securely stores and tightly controls access to secrets like API keys, passwords, and certificates. Mer information om Key Vault i DevOps-scenarier finns i DevSecOps i Azure.For more information about Key Vault in DevOps scenarios, see DevSecOps in Azure.

  • Azure-kort är en tjänst för att hantera arbete för program varu projekt.Azure Boards is a service for managing work for software projects. Azure-kort ger en omfattande uppsättning funktioner, inklusive inbyggt stöd för Scrum-och kanban-metoder, anpassningsbara instrument paneler och integrerad rapportering.Azure Boards brings a rich set of capabilities, including native support for Scrum and Kanban methodologies, customizable dashboards, and integrated reporting.

  • Azure Active Directory (Azure AD) Enterprise Identity Platform tillhandahåller enkel inloggning och multifaktorautentisering för att styra användarnas åtkomst till resurser.Azure Active Directory (Azure AD) enterprise identity platform provides single sign-on and multifactor authentication to govern user access to resources. I det här scenariot skapar en separat Azure AD per prenumeration en tydlig separation av problem mellan Azure-användare.In this scenario, a separate Azure AD per subscription creates a distinct separation of concerns between Azure users.

  • Azure policy styr resurser för att uppfylla organisationens standarder och efterlevnad.Azure Policy governs resources to meet organizational standards and compliance. I en DevTest-roll kan Azure Policy reglera och begränsa antalet och kostnaderna för virtuella datorer i prenumerationen.In a DevTest role, Azure Policy can regulate and limit the number and costs of VMs in the subscription. Granskning kan ge insikter och spåra användningen av virtuella DevTest-datorer.Auditing can provide insights and track the usage of the DevTest VMs.

  • Azure Monitor kan arbeta över prenumerationer för att övervaka virtuella datorer i både produktions-och DevTest miljöer.Azure Monitor can work across subscriptions to monitor VMs in both Production and DevTest environments. Azure Monitor kan samla in loggdata från virtuella dator operativ system och krasch dum par, och aggregera dem för att visa i Azure Security Center.Azure Monitor can collect log data from VM operating systems as well as crash dump files, and aggregate them for viewing in Azure Security Center.

AlternativAlternatives

I situationer där VM Image Builder och ett delat bild galleri inte fungerar kan du konfigurera en avbildnings fabrik för att skapa avbildningar av virtuella datorer från CI/CD-pipeline och distribuera dem automatiskt till alla Azure DevTest Labs som är registrerade på dessa avbildningar.In situations where VM Image Builder and a Shared Image Gallery don't work, you can set up an image factory to build VM images from the CI/CD pipeline and distribute them automatically to any Azure DevTest Labs registered to those images. Mer information finns i köra en avbildnings fabrik från Azure DevOps.For more information, see Run an image factory from Azure DevOps.

Nästa stegNext steps