Check lista för DevOpsDevOps Checklist

DevOps är en integrering av utveckling, kvalitets säkring och IT-åtgärder i en enhetlig kultur och uppsättning processer för att leverera program vara.DevOps is the integration of development, quality assurance, and IT operations into a unified culture and set of processes for delivering software. Använd den här check listan som utgångs punkt för att utvärdera DevOps-kulturen och processen.Use this checklist as a starting point to assess your DevOps culture and process.

KulturCulture

Säkerställ affärs anpassning mellan organisationer och team.Ensure business alignment across organizations and teams. Konflikter över resurser, syfte, mål och prioriteringar i en organisation kan vara en risk för lyckade åtgärder.Conflicts over resources, purpose, goals, and priorities within an organization can be a risk to successful operations. Se till att affärs-, utvecklings-och drift teamen är justerade.Ensure that the business, development, and operations teams are all aligned.

Se till att hela teamet förstår programmets livs cykel.Ensure the entire team understands the software lifecycle. Ditt team måste förstå programmets övergripande livs cykel och vilken del av livs cykeln programmet finns för närvarande i.Your team needs to understand the overall lifecycle of the application, and which part of the lifecycle the application is currently in. På så sätt kan alla grupp medlemmar veta vad de ska göra nu, och vad de bör planera och förbereda för framtiden.This helps all team members know what they should be doing now, and what they should be planning and preparing for in the future.

Minska cykel tiden.Reduce cycle time. Syftet med att minimera den tid det tar att gå från idéer till användbar utvecklad program vara.Aim to minimize the time it takes to move from ideas to usable developed software. Begränsa storlek och omfattning för enskilda versioner för att hålla testet dåligt.Limit the size and scope of individual releases to keep the test burden low. Automatisera skapande-, test-, konfigurations-och distributions processerna när det är möjligt.Automate the build, test, configuration, and deployment processes whenever possible. Ta bort eventuella hinder för kommunikation mellan utvecklare och mellan utvecklare och åtgärder.Clear any obstacles to communication among developers, and between developers and operations.

Granska och förbättra processer.Review and improve processes. Dina processer och procedurer, både automatiserade och manuella, är aldrig slutgiltiga.Your processes and procedures, both automated and manual, are never final. Konfigurera regelbundna granskningar av aktuella arbets flöden, procedurer och dokumentation med målet att ständigt förbättra.Set up regular reviews of current workflows, procedures, and documentation, with a goal of continual improvement.

Utför proaktiv planering.Do proactive planning. Planera för att proaktivt planera för problem.Proactively plan for failure. Ha processer på plats för att snabbt identifiera problem när de inträffar, eskalera till rätt team medlemmar för att åtgärda problemet och bekräfta lösningarna.Have processes in place to quickly identify issues when they occur, escalate to the correct team members to fix, and confirm resolution.

Lär dig från haverier.Learn from failures. Felen är oundvikliga, men det är viktigt att lära sig från haverier för att undvika att upprepa dem.Failures are inevitable, but it's important to learn from failures to avoid repeating them. Om ett drift fel inträffar kan du prioritering problemet, dokumentera orsaken och lösningen och dela alla lektioner som har lärts.If an operational failure occurs, triage the issue, document the cause and solution, and share any lessons that were learned. När det är möjligt kan du uppdatera Bygg processerna för att automatiskt identifiera den typen av haveri i framtiden.Whenever possible, update your build processes to automatically detect that kind of failure in the future.

Optimera för hastighet och insamling av data.Optimize for speed and collect data. Varje planerad förbättring är en hypotes.Every planned improvement is a hypothesis. Arbeta i de minsta möjliga ökningarna.Work in the smallest increments possible. Behandla nya idéer som experiment.Treat new ideas as experiments. Instrumentera experimenten så att du kan samla in produktions data för att utvärdera deras effektivitet.Instrument the experiments so that you can collect production data to assess their effectiveness. Var beredd på att sluta fungera snabbt om hypotesen är fel.Be prepared to fail fast if the hypothesis is wrong.

Tillåt tid för inlärning.Allow time for learning. Både haverier och framgångar ger bra möjligheter till inlärning.Both failures and successes provide good opportunities for learning. Innan du går vidare till nya projekt kan du tillåta tillräckligt med tid att samla in viktiga lektioner och se till att dessa lektioner absorberas av ditt team.Before moving on to new projects, allow enough time to gather the important lessons, and make sure those lessons are absorbed by your team. Ge teamet också tid för att bygga kunskaper, experimentera och lära dig om nya verktyg och tekniker.Also give the team the time to build skills, experiment, and learn about new tools and techniques.

Dokument åtgärder.Document operations. Dokumentera alla verktyg, processer och automatiserade uppgifter med samma nivå av kvalitet som produkt koden.Document all tools, processes, and automated tasks with the same level of quality as your product code. Dokumentera den aktuella designen och arkitekturen för alla system som du stöder, tillsammans med återställnings processer och andra underhålls procedurer.Document the current design and architecture of any systems you support, along with recovery processes and other maintenance procedures. Fokusera på de steg du faktiskt utför, inte teoretiskt optimala processer.Focus on the steps you actually perform, not theoretically optimal processes. Granska och uppdatera dokumentationen regelbundet.Regularly review and update the documentation. För kod kontrollerar du att meningsfulla kommentarer ingår, särskilt i offentliga API: er, och använder verktyg för att automatiskt generera kod dokumentation när det är möjligt.For code, make sure that meaningful comments are included, especially in public APIs, and use tools to automatically generate code documentation whenever possible.

Dela kunskap.Share knowledge. Dokumentationen är bara användbar om människor vet att de finns och kan hitta den.Documentation is only useful if people know that it exists and can find it. Se till att dokumentationen är organiserad och lätt att upptäcka.Ensure the documentation is organized and easily discoverable. Var kreativ: Använd Brune väskor (informella presentationer), videor eller nyhets brev för att dela med sig av kunskap.Be creative: Use brown bags (informal presentations), videos, or newsletters to share knowledge.

UtvecklingDevelopment

Ge utvecklare till exempel miljöer med produktions miljö.Provide developers with production-like environments. Om utvecklings-och test miljöer inte matchar produktions miljön är det svårt att testa och diagnostisera problem.If development and test environments don't match the production environment, it is hard to test and diagnose problems. Därför bör du hålla utvecklings-och test miljöerna så nära produktions miljön som möjligt.Therefore, keep development and test environments as close to the production environment as possible. Se till att test data är konsekventa med de data som används i produktionen, även om de är exempel data och inte verkliga produktions data (för sekretess-eller efterföljandekrav).Make sure that test data is consistent with the data used in production, even if it's sample data and not real production data (for privacy or compliance reasons). Planera att generera och maskera exempel på test data.Plan to generate and anonymize sample test data.

Se till att alla auktoriserade grupp medlemmar kan etablera infrastrukturen och distribuera programmet.Ensure that all authorized team members can provision infrastructure and deploy the application. Att ställa in produktions resurser och distribuera programmet bör inte omfatta komplicerade manuella uppgifter eller detaljerade tekniska kunskaper om systemet.Setting up production-like resources and deploying the application should not involve complicated manual tasks or detailed technical knowledge of the system. Alla med rätt behörigheter ska kunna skapa eller distribuera resurser som liknar varandra utan att gå till drift teamet.Anyone with the right permissions should be able to create or deploy production-like resources without going to the operations team.

Den här rekommendationen innebär inte att vem som helst kan skicka live-uppdateringar till produktions distributionen.This recommendation doesn't imply that anyone can push live updates to the production deployment. Det rör sig om att minska friktionen för utveckling och frågor och svars grupper för att skapa produktions miljöer.It's about reducing friction for the development and QA teams to create production-like environments.

Instrumentera programmet för insikter.Instrument the application for insight. För att förstå hälso tillståndet för ditt program måste du veta hur det fungerar och om det har drabbats av fel eller problem.To understand the health of your application, you need to know how it's performing and whether it's experiencing any errors or problems. Inkludera alltid instrumentering som ett design krav och skapa instrumentering i programmet från början.Always include instrumentation as a design requirement, and build the instrumentation into the application from the start. Instrumentation måste innehålla händelse loggning för rotor Saks analys, men även telemetri och mått för att övervaka programmets övergripande hälsa och användning.Instrumentation must include event logging for root cause analysis, but also telemetry and metrics to monitor the overall health and usage of the application.

Spåra din tekniska skuld.Track your technical debt. I många projekt kan versions scheman prioriteras över kod kvalitet till en viss grad eller en annan.In many projects, release schedules can get prioritized over code quality to one degree or another. Håll alltid koll när detta inträffar.Always keep track when this occurs. Dokumentera eventuella genvägar eller andra underoptimala implementeringar och Schemalägg tid i framtiden för att gå tillbaka till problemen.Document any shortcuts or other suboptimal implementations, and schedule time in the future to revisit these issues.

Överväg att skicka uppdateringar direkt till produktion.Consider pushing updates directly to production. För att minska den totala lanserings cykelns tid bör du överväga att använda korrekt testade kod direkt till produktion.To reduce the overall release cycle time, consider pushing properly tested code commits directly to production. Använd funktionen växlar för att kontrol lera vilka funktioner som är aktiverade.Use feature toggles to control which features are enabled. På så sätt kan du snabbt övergå från utveckling till att släppa med hjälp av växlarna för att aktivera eller inaktivera funktioner.This allows you to move from development to release quickly, using the toggles to enable or disable features. Växlingar är också användbara när du utför tester som till exempel Kanarie-versioner, där en viss funktion distribueras till en delmängd av produktions miljön.Toggles are also useful when performing tests such as canary releases, where a particular feature is deployed to a subset of the production environment.

TestningTesting

Automatisera testning.Automate testing. Det är omständligt och känsligt att testa program varan manuellt.Manually testing software is tedious and susceptible to error. Automatisera vanliga test uppgifter och integrera testerna i dina Bygg processer.Automate common testing tasks and integrate the tests into your build processes. Automatiserad testning garanterar konsekvent test täckning och reproducerbarhet.Automated testing ensures consistent test coverage and reproducibility. Integrerade UI-tester bör också utföras av ett automatiserat verktyg.Integrated UI tests should also be performed by an automated tool. Azure erbjuder utvecklings-och test resurser som kan hjälpa dig att konfigurera och köra testning.Azure offers development and test resources that can help you configure and execute testing. Mer information finns i utveckling och testning.For more information, see Development and test.

Testa för problem.Test for failures. Hur svarar det på ett system som inte kan ansluta till en tjänst?If a system can't connect to a service, how does it respond? Kan den återställas när tjänsten är tillgänglig igen?Can it recover once the service is available again? Gör fel inmatning att testa en standard del av granskningen i test-och utvecklings miljöer.Make fault injection testing a standard part of review on test and staging environments. När din test process och praxis är mogna bör du överväga att köra testerna i produktion.When your test process and practices are mature, consider running these tests in production.

Testa i produktion.Test in production. Versions processen slutar inte med distribution till produktion.The release process doesn't end with deployment to production. Se till att distribuerad kod fungerar som förväntat genom att ha tester på plats.Have tests in place to ensure that deployed code works as expected. För distributioner som inte uppdateras ofta kan du schemalägga produktions testning som en vanlig del av underhållet.For deployments that are infrequently updated, schedule production testing as a regular part of maintenance.

Automatisera prestanda testningen för att identifiera prestanda problem tidigt.Automate performance testing to identify performance issues early. Effekten av ett allvarligt prestanda problem kan vara så allvarlig som ett fel i koden.The impact of a serious performance issue can be as severe as a bug in the code. Automatiserade funktionella tester kan förhindra program fel, men de kan inte identifiera prestanda problem.While automated functional tests can prevent application bugs, they might not detect performance problems. Definiera acceptabla prestanda mål för mått som svars tid, inläsnings tider och Resursanvändning.Define acceptable performance goals for metrics like latency, load times, and resource usage. Ta med automatiserade prestandatester i din versions pipeline för att se till att programmet uppfyller dessa mål.Include automated performance tests in your release pipeline, to make sure the application meets those goals.

Utför kapacitets testning.Perform capacity testing. Ett program kan fungera bra under test förhållandena, och har sedan problem med produktion på grund av skalnings-eller resurs begränsningar.An application might work fine under test conditions, and then have problems in production due to scale or resource limitations. Definiera alltid den maximala förväntade kapacitets-och användnings gränsen.Always define the maximum expected capacity and usage limits. Testa för att se till att programmet kan hantera dessa gränser, men testa även vad som händer när gränserna överskrids.Test to make sure the application can handle those limits, but also test what happens when those limits are exceeded. Kapacitets testning bör utföras med jämna mellanrum.Capacity testing should be performed at regular intervals.

Efter den första versionen bör du köra prestanda-och kapacitets test när uppdateringar görs i produktions koden.After the initial release, you should run performance and capacity tests whenever updates are made to production code. Använd historiska data för att finjustera tester och bestämma vilka typer av tester som måste utföras.Use historical data to fine-tune tests and to determine what types of tests need to be performed.

Utför automatisk testning av säkerhets inträngning.Perform automated security penetration testing. Att se till att programmet är säkert är lika viktigt som att testa andra funktioner.Ensuring your application is secure is as important as testing any other functionality. Gör automatisk inträngning som testar en standard del av bygg-och distributions processen.Make automated penetration testing a standard part of the build and deployment process. Schemalägga vanliga säkerhetstester och sårbarhets sökning på distribuerade program, övervakning av öppna portar, slut punkter och attacker.Schedule regular security tests and vulnerability scanning on deployed applications, monitoring for open ports, endpoints, and attacks. Automatiserad testning tar inte bort behovet av djupgående säkerhets granskningar med jämna mellanrum.Automated testing does not remove the need for in-depth security reviews at regular intervals.

Genomför automatiserad testning av affärs kontinuitet.Perform automated business continuity testing. Utveckla tester för storskalig affärs kontinuitet, inklusive återställning av säkerhets kopiering och redundans.Develop tests for large-scale business continuity, including backup recovery and failover. Konfigurera automatiserade processer för att utföra dessa tester regelbundet.Set up automated processes to perform these tests regularly.

FrisläppRelease

Automatisera distributioner.Automate deployments. Automatisera distributionen av programmet till test-, mellanlagrings-och produktions miljöer.Automate deploying the application to test, staging, and production environments. Automation möjliggör snabbare och mer tillförlitlig distribution och säkerställer konsekventa distributioner till alla miljöer som stöds.Automation enables faster and more reliable deployments, and ensures consistent deployments to any supported environment. Det tar bort risken för mänskligt fel som orsakas av manuella distributioner.It removes the risk of human error caused by manual deployments. Det gör det också enkelt att schemalägga versioner för lämpliga tillfällen, för att minimera eventuella störningar på eventuella drift stopp.It also makes it easy to schedule releases for convenient times, to minimize any effects of potential downtime. Ha system på plats för att upptäcka eventuella problem under distributionen, och har ett automatiserat sätt att återställa korrigeringar eller återställa ändringar.Have systems in place to detect any problems during rollout, and have an automated way to roll forward fixes or roll back changes.

Använd kontinuerlig integrering.Use continuous integration. Kontinuerlig integrering (CI) är en metod för att slå samman all kod för utvecklare till en central kodbas enligt ett regelbundet schema och sedan automatiskt utföra standard skapande och testnings processer.Continuous integration (CI) is the practice of merging all developer code into a central codebase on a regular schedule, and then automatically performing standard build and test processes. CI säkerställer att ett helt team kan arbeta med en kodbas på samma tid utan att det uppstår konflikter.CI ensures that an entire team can work on a codebase at the same time without having conflicts. Det säkerställer också att kod defekter upptäcks så tidigt som möjligt.It also ensures that code defects are found as early as possible. CI-processen bör helst köras varje gång kod är genomförd eller checkas in.Preferably, the CI process should run every time that code is committed or checked in. Den bör köras en gång per dag.At the very least, it should run once per day.

Överväg att anta en trunkbaserade utvecklings modell.Consider adopting a trunk based development model. I den här modellen genomför utvecklare en enda gren (trunken).In this model, developers commit to a single branch (the trunk). Det finns ett krav som gör att det aldrig bryter skapandet.There is a requirement that commits never break the build. Den här modellen underlättar CI eftersom all funktions arbete utförs i trunken och eventuella sammanslagnings konflikter löses när bekräftelsen sker.This model facilitates CI, because all feature work is done in the trunk, and any merge conflicts are resolved when the commit happens.

Överväg att använda kontinuerlig leverans.Consider using continuous delivery. Kontinuerlig leverans (CD) är en metod för att se till att koden alltid är klar att distribuera, genom att automatiskt skapa, testa och distribuera kod till produktions miljöer.Continuous delivery (CD) is the practice of ensuring that code is always ready to deploy, by automatically building, testing, and deploying code to production-like environments. Genom att lägga till kontinuerlig leverans för att skapa en hel CI/CD-pipeline kan du identifiera kod fel så snart som möjligt, och se till att korrekt testade uppdateringar kan frigöras på ett mycket kort klock slag.Adding continuous delivery to create a full CI/CD pipeline will help you detect code defects as soon as possible, and ensures that properly tested updates can be released in a very short time.

Kontinuerlig distribution är en ytterligare process som automatiskt tar alla uppdateringar som har passerat genom CI/CD-pipeline och distribuerar dem till produktion.Continuous deployment is an additional process that automatically takes any updates that have passed through the CI/CD pipeline and deploys them into production. Kontinuerlig distribution kräver robust automatisk testning och avancerad process planering och är kanske inte lämplig för alla team.Continuous deployment requires robust automatic testing and advanced process planning, and may not be appropriate for all teams.

Gör små stegvisa ändringar.Make small incremental changes. Stora kod ändringar har större potential för att introducera buggar.Large code changes have a greater potential to introduce bugs. När det är möjligt bör du behålla ändringarna små.Whenever possible, keep changes small. Detta begränsar de potentiella effekterna av varje ändring och gör det lättare att förstå och felsöka eventuella problem.This limits the potential effects of each change, and makes it easier to understand and debug any issues.

Styr exponeringen för ändringar.Control exposure to changes. Kontrol lera att du har kontroll över när uppdateringar är synliga för dina slutanvändare.Make sure you're in control of when updates are visible to your end users. Överväg att använda funktionen växlar för att styra när funktioner är aktiverade för slutanvändare.Consider using feature toggles to control when features are enabled for end users.

Implementera strategier för versions hantering för att minska distributions risken.Implement release management strategies to reduce deployment risk. Att distribuera en program uppdatering till produktion är alltid en risk.Deploying an application update to production always entails some risk. För att minimera den här risken använder du strategier som Kanarie-versioner eller blå-grön distributioner för att distribuera uppdateringar till en delmängd av användarna.To minimize this risk, use strategies such as canary releases or blue-green deployments to deploy updates to a subset of users. Bekräfta att uppdateringen fungerar som förväntat och lyft sedan ut uppdateringen till resten av systemet.Confirm the update works as expected, and then roll the update out to the rest of the system.

Dokumentera alla ändringar.Document all changes. Mindre uppdateringar och konfigurations ändringar kan vara en källa för förvirring och versions konflikt.Minor updates and configuration changes can be a source of confusion and versioning conflict. Behåll alltid en tydlig post för alla ändringar, oavsett hur små.Always keep a clear record of any changes, no matter how small. Logga allt som ändras, inklusive uppdateringar som tillämpas, princip ändringar och konfigurations ändringar.Log everything that changes, including patches applied, policy changes, and configuration changes. (Inkludera inte känsliga data i dessa loggar.(Don't include sensitive data in these logs. Logga till exempel att en autentiseringsuppgift har uppdaterats och vem som gjorde ändringen, men registrera inte de uppdaterade autentiseringsuppgifterna.) Posten för ändringarna bör vara synlig för hela teamet.For example, log that a credential was updated, and who made the change, but don't record the updated credentials.) The record of the changes should be visible to the entire team.

Överväg att göra infrastrukturen oföränderlig.Consider making infrastructure immutable. Oåterkallelig infrastruktur är principen att du inte bör ändra infrastruktur när den har distribuerats till produktion.Immutable infrastructure is the principle that you shouldn't modify infrastructure after it's deployed to production. Annars kan du komma i ett tillstånd där ad hoc-ändringar har tillämpats, vilket gör det svårt att veta exakt vad som har ändrats.Otherwise, you can get into a state where ad hoc changes have been applied, making it hard to know exactly what changed. Oåterkallelig infrastruktur fungerar genom att ersätta hela servrar som en del av en ny distribution.Immutable infrastructure works by replacing entire servers as part of any new deployment. Detta gör att koden och värd miljön kan testas och distribueras som ett block.This allows the code and the hosting environment to be tested and deployed as a block. När de har distribuerats ändras inte infrastruktur komponenter förrän nästa bygge-och distributions cykel.Once deployed, infrastructure components aren't modified until the next build and deploy cycle.

ÖvervakningMonitoring

Gör systemen observerbara.Make systems observable. Drift teamet bör alltid ha tydlig insyn i hälso tillståndet och tillståndet för ett system eller en tjänst.The operations team should always have clear visibility into the health and status of a system or service. Konfigurera externa hälso slut punkter för att övervaka status och se till att programmen kodas för att instrumentera drift måtten.Set up external health endpoints to monitor status, and ensure that applications are coded to instrument the operations metrics. Använd ett gemensamt och konsekvent schema som hjälper dig att korrelera händelser mellan system.Use a common and consistent schema that helps you correlate events across systems. Azure-diagnostik och Application Insights är standard metoden för att spåra hälso tillstånd och status för Azure-resurser.Azure Diagnostics and Application Insights are the standard method of tracking the health and status of Azure resources. Microsoft Operations Management Suite tillhandahåller också centraliserad övervakning och hantering för moln-och hybrid lösningar.Microsoft Operation Management Suite also provides centralized monitoring and management for cloud or hybrid solutions.

Sammanställ och korrelera loggar och mått.Aggregate and correlate logs and metrics. Ett korrekt instrumenterat telemetri system ger en stor mängd rå prestanda data och händelse loggar.A properly instrumented telemetry system will provide a large amount of raw performance data and event logs. Se till att telemetri-och loggdata bearbetas och korreleras under en kort tids period, så att drift personal alltid har en uppdaterad bild av system hälsan.Make sure that telemetry and log data is processed and correlated in a short period of time, so that operations staff always have an up-to-date picture of system health. Organisera och visa data på ett sätt som ger en sammanhängande vy över eventuella problem, så när det är möjligt att det är klart när händelser är relaterade till varandra.Organize and display data in ways that give a cohesive view of any issues, so that whenever possible it's clear when events are related to one another.

Kontakta företagets bevarande princip för krav på hur data bearbetas och hur lång tid det ska lagras.Consult your corporate retention policy for requirements on how data is processed and how long it should be stored.

Implementera automatiserade aviseringar och meddelanden.Implement automated alerts and notifications. Konfigurera övervaknings verktyg som Azure Monitor för att identifiera mönster eller villkor som indikerar potentiella eller aktuella problem och skicka aviseringar till de team medlemmar som kan åtgärda problemen.Set up monitoring tools like Azure Monitor to detect patterns or conditions that indicate potential or current issues, and send alerts to the team members who can address the issues. Justera aviseringarna för att undvika falska positiva identifieringar.Tune the alerts to avoid false positives.

Övervaka till gångar och resurser för förfallo datum.Monitor assets and resources for expirations. Vissa resurser och till gångar, till exempel certifikat, upphör att gälla efter en viss tid.Some resources and assets, such as certificates, expire after a given amount of time. Se till att spåra vilka till gångar som upphör att gälla, när de upphör att gälla och vilka tjänster eller funktioner som är beroende av dem.Make sure to track which assets expire, when they expire, and what services or features depend on them. Använd automatiserade processer för att övervaka dessa till gångar.Use automated processes to monitor these assets. Meddela drifts teamet innan en till gång upphör att gälla, och eskalera om förfallo tiden hotar att störa programmet.Notify the operations team before an asset expires, and escalate if expiration threatens to disrupt the application.

HanteringManagement

Automatisera åtgärds åtgärder.Automate operations tasks. Manuell hantering av repetitiva åtgärds processer är fel känsligt.Manually handling repetitive operations processes is error-prone. Automatisera de här uppgifterna när det är möjligt för att säkerställa konsekvent körning och kvalitet.Automate these tasks whenever possible to ensure consistent execution and quality. Kod som implementerar Automation ska ha versions hantering i käll kontrollen.Code that implements the automation should be versioned in source control. Precis som med andra koder måste automatiserings verktyg testas.As with any other code, automation tools must be tested.

Ta en infrastruktur som kod för etablering.Take an infrastructure-as-code approach to provisioning. Minimera mängden manuell konfiguration som krävs för att etablera resurser.Minimize the amount of manual configuration needed to provision resources. Använd i stället skript och Azure Resource Manager mallar.Instead, use scripts and Azure Resource Manager templates. Behåll skripten och mallarna i käll kontrollen, precis som med andra koder som du underhåller.Keep the scripts and templates in source control, like any other code you maintain.

Överväg att använda behållare.Consider using containers. Behållare tillhandahåller ett standard paket baserat gränssnitt för att distribuera program.Containers provide a standard package-based interface for deploying applications. Med hjälp av behållare distribueras ett program med hjälp av självständiga paket som innehåller alla program, beroenden och filer som behövs för att köra programmet, vilket fören klar distributions processen avsevärt.Using containers, an application is deployed using self-contained packages that include any software, dependencies, and files needed to run the application, which greatly simplifies the deployment process.

Behållare skapar också ett abstraktions lager mellan programmet och det underliggande operativ systemet, vilket ger konsekvens i olika miljöer.Containers also create an abstraction layer between the application and the underlying operating system, which provides consistency across environments. Den här abstraktionen kan också isolera en behållare från andra processer eller program som körs på en värd.This abstraction can also isolate a container from other processes or applications running on a host.

Implementera återhämtning och själv återställning.Implement resiliency and self-healing. Återhämtning är möjligheten för ett program att återställa efter fel.Resiliency is the ability of an application to recover from failures. Strategier för återhämtning omfattar att försöka med tillfälliga misslyckanden och redundansväxla till en sekundär instans eller till och med en annan region.Strategies for resiliency include retrying transient failures, and failing over to a secondary instance or even another region. Mer information finns i utforma pålitliga Azure-program .For more information, see Designing reliable Azure applications . Instrumentera dina program så att problem rapporteras omedelbart och du kan hantera avbrott eller andra systemfel.Instrument your applications so that issues are reported immediately and you can manage outages or other system failures.

Ha en manuell åtgärd.Have an operations manual. En åtgärd för manuell eller Runbook dokumenterar de procedurer och den hanterings information som krävs för drift personal för att underhålla ett system.An operations manual or runbook documents the procedures and management information needed for operations staff to maintain a system. Dokumentera även eventuella åtgärds scenarier och skydds planer som kan komma att spelas upp under ett haveri eller andra avbrott i tjänsten.Also document any operations scenarios and mitigation plans that might come into play during a failure or other disruption to your service. Skapa den här dokumentationen under utvecklings processen och håll den uppdaterad efteråt.Create this documentation during the development process, and keep it up to date afterwards. Detta är ett levande dokument och bör granskas, testas och förbättras regelbundet.This is a living document, and should be reviewed, tested, and improved regularly.

Delad dokumentation är kritisk.Shared documentation is critical. Uppmuntra team medlemmar att bidra och dela med sig av kunskap.Encourage team members to contribute and share knowledge. Hela teamet bör ha åtkomst till dokument.The entire team should have access to documents. Gör det enkelt för alla i teamet att se till att dokumenten uppdateras.Make it easy for anyone on the team to help keep documents updated.

Dokumentera jour procedurer.Document on-call procedures. Se till att jour uppgifter, scheman och procedurer dokumenteras och delas till alla grupp medlemmar.Make sure on-call duties, schedules, and procedures are documented and shared to all team members. Håll den här informationen uppdaterad hela tiden.Keep this information up-to-date at all times.

Dokumentera eskalera procedurer för beroenden från tredje part.Document escalation procedures for third-party dependencies. Om ditt program är beroende av externa tjänster från tredje part som du inte har kontroll över direkt, måste du ha en plan för att hantera avbrott.If your application depends on external third-party services that you don't directly control, you must have a plan to deal with outages. Skapa dokumentation för dina planerade minsknings processer.Create documentation for your planned mitigation processes. Ta med support kontakter och eskalering sökvägar.Include support contacts and escalation paths.

Använd konfigurations hantering.Use configuration management. Konfigurations ändringar bör planeras, vara synliga för åtgärder och registreras.Configuration changes should be planned, visible to operations, and recorded. Detta kan ske i form av en konfigurations hanterings databas eller en metod för konfigurations-som-kod.This could take the form of a configuration management database, or a configuration-as-code approach. Konfigurationen bör granskas regelbundet för att säkerställa att det förväntade vad som förväntas verkligen är på plats.Configuration should be audited regularly to ensure that what's expected is actually in place.

Få en Support plan för Azure och förstå processen.Get an Azure support plan and understand the process. Azure erbjuder ett antal supportavtal.Azure offers a number of support plans. Fastställ rätt plan för dina behov och se till att hela teamet vet hur man använder det.Determine the right plan for your needs, and make sure the entire team knows how to use it. Grupp medlemmar bör förstå information om planen, hur support processen fungerar och hur du öppnar ett support ärende med Azure.Team members should understand the details of the plan, how the support process works, and how to open a support ticket with Azure. Om du förväntar dig en storskalig händelse kan Azure-supporten hjälpa dig att öka dina tjänst gränser.If you are anticipating a high-scale event, Azure support can assist you with increasing your service limits. Mer information finns i vanliga frågor och svar om support för Azure.For more information, see the Azure Support FAQs.

Följ principer för minsta behörighet när du beviljar åtkomst till resurser.Follow least-privilege principles when granting access to resources. Hantera åtkomst till resurser noggrant.Carefully manage access to resources. Åtkomsten ska nekas som standard, såvida inte en användare uttryckligen tilldelas åtkomst till en resurs.Access should be denied by default, unless a user is explicitly given access to a resource. Ge bara användarna åtkomst till vad de behöver för att utföra sina uppgifter.Only grant a user access to what they need to complete their tasks. Spåra användar behörigheter och utföra regelbundna säkerhets granskningar.Track user permissions and perform regular security audits.

Använd rollbaserad åtkomst kontroll i Azure.Use Azure role-based access control. Det är inte en manuell process att tilldela användar konton och åtkomst till resurser.Assigning user accounts and access to resources should not be a manual process. Använd rollbaserad åtkomst kontroll i Azure (Azure RBAC) bevilja åtkomst baserat på Azure Active Directory identiteter och grupper.Use Azure role-based access control (Azure RBAC) grant access based on Azure Active Directory identities and groups.

Använd ett fel söknings system för att spåra problem.Use a bug tracking system to track issues. Utan ett bra sätt att spåra problem är det enkelt att sakna objekt, duplicerat arbete eller införa ytterligare problem.Without a good way to track issues, it's easy to miss items, duplicate work, or introduce additional problems. Använd inte informell person-till-person-kommunikation för att spåra status för buggar.Don't rely on informal person-to-person communication to track the status of bugs. Använd ett fel söknings verktyg för att registrera information om problem, tilldela resurser för att adressera dem och ange en Gransknings logg för förlopp och status.Use a bug tracking tool to record details about problems, assign resources to address them, and provide an audit trail of progress and status.

Hantera alla resurser i ett ändrings hanterings system.Manage all resources in a change management system. Alla aspekter av DevOps-processen bör ingå i ett hanterings-och versions system, så att ändringar enkelt kan spåras och granskas.All aspects of your DevOps process should be included in a management and versioning system, so that changes can be easily tracked and audited. Detta inkluderar kod, infrastruktur, konfiguration, dokumentation och skript.This includes code, infrastructure, configuration, documentation, and scripts. Behandla alla dessa typer av resurser som kod i hela test-/build/granskning-processen.Treat all these types of resources as code throughout the test/build/review process.

Använd check listor.Use checklists. Skapa check listor för åtgärder för att säkerställa att processerna följs.Create operations checklists to ensure processes are followed. Det är vanligt att sakna något i en stor hand bok och att följa en check lista kan leda till information som annars kan vara överblickad.It's common to miss something in a large manual, and following a checklist can force attention to details that might otherwise be overlooked. Underhåll check listorna och Sök kontinuerligt efter sätt att automatisera uppgifter och effektivisera processer.Maintain the checklists, and continually look for ways to automate tasks and streamline processes.

Mer information om DevOps finns i Vad är DevOps? på Visual Studio-webbplatsen.For more about DevOps, see What is DevOps? on the Visual Studio site.