From the course: Azure DevOps for Beginners
Overview of Azure DevOps - Azure Tutorial
From the course: Azure DevOps for Beginners
Overview of Azure DevOps
- [Instructor] Building applications is usually a team effort. Successful teams find effective ways to work on software at every stage of the development lifecycle. In recent years, we've added DevOps to the development process to help standardize and automate more phases of the development workflow. DevOps is a set of practices that combines software development, Dev, and IT operations, Ops. It aims to shorten the development lifecycle and ensure the continuous delivery of high-quality software. DevOps builds on several principles. Think of it as a combination of shared planning tools, a shared code base, continuous integration, test-driven techniques, and automated delivery and deployment. None of these principles are new. We've used them in the past. What is new is this idea of DevOps as a practice. We've given it a concrete name, it emphasizes collaboration between all parts of the IT organization and the continuous delivery of software. You can think of DevOps as a cycle, the steps that happen through the development process. On the developer side, we plan the work, code the feature, build and compile the application, and run tests to ensure it works and doesn't break anything. On the operation side, we deploy the app or update the app. Then the application is used, and the Op team monitors and analyzes whether it's working as planned, then the cycle repeats. One key aspect of DevOps is the attempt to automate everything in this application lifecycle, at least the parts that can be automated. Code testing is very useful. A system where every code commit triggers an automated test suite ensures that software problems are discovered early. The sooner we find bugs and issues, the less impact they have on your application. Automation helps reduce the number of bugs that reach the customer's computer or phone. They free up developers' time, allowing them to focus on creating new features, rather than manually testing existing ones. They give developers the confidence to make changes, knowing that the test will catch any potential issues. Automated builds are a fundamental part of DevOps, serving as a key component of the continuous integration or CI process. In fact, this is usually a precursor to running automated tests. In compiled languages like C#, when updated code is committed to the source control repository, it automatically triggers a build, including compiling the code. Automated builds are also useful for non-compiled languages like JavaScript. During this process, the code is minified and transpiled, and multiple JavaScript libraries are bundled into a single file, which can improve website performance. It's better to automate the code integration into a shared repository. Teams and individuals can work on small segments of the bigger application. Starting an automated build of the application when code is committed ensures that the build is functional. Then the automated test tools can verify that there are no breaking changes. With automated integration, there's no need to schedule testing or have test admins invoke the test suite. Because the integration happens frequently, most code changes are small, which means it's easy to roll back. Automated deployment is a key aspect of DevOps. It ensures that the process of moving code from your development environment to production is streamlined, consistent, and reliable. This not only reduces the risk of human error, but also allows for faster and more frequent deployments. With continuous deployment, updates and new features can be delivered to customers more quickly and efficiently. Bug fixes can be deployed as soon as the tests are complete. And don't you think it's a good idea to automate environment provisioning? It ensures that the development, testing, and production environments are consistent, which significantly reduces the it-works-on-my-machine problem. Teams can create identical environments at every stage of the development pipeline. This not only improves the reliability and predictability of deployments, but it also accelerates the development process, as developers can work in an environment that mirrors production. Microsoft adopted the DevOps workflow for its own development processes. They've been automating key parts of their application lifecycle for years. Microsoft bundles these services into a suite of team tools. When we use these tools, we are benefiting from the work and improvements done to ensure their tools can handle the massive enterprise-wide projects. This set of tools is called Azure DevOps, a new name for services that have been around for many years. If you've heard about Visual Studio Team Services, and the other names shown here, those are the predecessors. The services provided are the same regardless of the new name. One last point on the new name. You can think of it as a rebranding of some developer services to align with this new vision. To clarify, Azure contains all the cloud services from Microsoft. This is where you find cloud databases and serverless functions, where you can configure virtual machines and other services. Those are Azure. You can use those services without needing the DevOps portion. Azure DevOps is a separate, cloud-based toolset designed to enhance team workflows. Currently, there are five categories of services available. Azure Boards, Azure Pipelines, Azure Repos, Azure Test Plans, and Azure Artifacts. Use Azure Boards to track work with Kanban boards, with backlogs, team dashboards, and custom reporting. Work can be tracked across teams, we get drag-and-drop sprint planning and flexible work item tracking. Here's a sample of a Kanban board from the Azure documentation site. In this view, we can see the work progressing from new, to active, then to staging, and then to deployed. Azure Pipelines provides services to automate your build, integration, and deployment process. It provides a CI/CD system that can work with multiple languages, code can be pulled from popular source control systems like GitHub or other Git providers, it has hosted Windows, macOS, and Linux build agents, also, integration with Visual Studio App Center enables mobile deployments. Use Azure Repos to host your source code repository. It supports Git, of course. Also, Microsoft has its own source control system called Team Foundation Version Control. Yes, Microsoft bought GitHub, which is the biggest Git online repository, so you can always host your code repositories there instead. If you do host with Azure Repos, you'll get unlimited public and private repositories. Azure Test Plans provides a testing platform for your application. Test your application by executing tests across the desktop or web apps, run tests and log defects from your browser, track and assess quality throughout your testing lifecycle. It supports manual tests. You can plan, execute, and track scripted tests with defect tracking and end-to-end traceability. Plus it has exploratory tests, where you simultaneously learn about the app code and test execution of your application. Here's a sample of a test plan report from the Azure documentation site. The last piece of DevOps services is Azure Artifacts. Think of this as a way to manage dependencies in your code base. As a developer, you may already be familiar with the idea of package management platforms such as npm or NuGet. Use artifacts to build a combined feed of all your dependencies in your organization, including your private proprietary packages. Then you can work with your artifacts as the single source of those dependencies. To summarize, Azure DevOps contains a set of useful tools that enable your development and operations teams to live in harmony. Use it to plan your next set of application features and much more. Currently, Azure DevOps consists of distinct services that share the Azure name, but operate in their own dedicated portal alongside the main Azure portal.
Contents
-
-
-
Overview of Azure DevOps7m 48s
-
(Locked)
Where to access Azure DevOps3m 37s
-
(Locked)
Understand the DevOps price plans1m 53s
-
(Locked)
Log in to Azure DevOps web portal1m 17s
-
(Locked)
Tour the DevOps portal1m 41s
-
(Locked)
Create an Azure DevOps project2m 23s
-
(Locked)
Create a project with the Microsoft demo generator2m 39s
-
(Locked)
View the generated project59s
-
(Locked)
Add users to an organization2m 52s
-
(Locked)
Add users to an Azure DevOps team1m 30s
-
-
-
-
-
-
-