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 a DevOps to the development process to help standardize and automate more phases of the development workflow. DevOps is built on several principles. Think of it as a combination of shared planning tools, a shared code base, continuous integration, test-driven techniques, and automated deployments. None of these principles are new. We've used them in the past. What is new is the 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. This is a popular idea now, so you'll find lots of tool vendors that have created suites of DevOps tools. We'll look at the Microsoft platform in this course. If you are curious, there are similar tools available from GitHub. One key aspect of DevOps is the attempt to automate everything in the application lifecycle, at least the parts that can be automated. Writing code is not easy to automate. It's hard to automate designing application UI. But 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 your customer's computer or phone. It's better to automate the code integration into a shared repository. Teams and individuals can work on small segments of a 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 is no need to schedule testing or have test admins invoke the test suite. Automated deployment is another convenient feature. Having a reliable and repeatable system to deploy your website to the production server is better for everyone. With trustworthy continuous deployment in place, site and application updates are quickly available to your customers. The days of singling out one individual in a team as the deployment person are over. And don't you think it's a good idea to automate environment provisioning so that the dev test and production environments are identical? This way, the application will run on production servers like it did in the development environment. Microsoft adopted the DevOps workflow for its own development processes. They have 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 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 on this list, those are the predecessors. The services provided are the same regardless of the new name. But Microsoft hasn't been idle. They're enhancing the services with many improvements. Plus there is a new focus to build cross-platform tools and integrate their services into the tool chain you already use. In other words, they aim to provide services that work with whatever developer tools you use. This is reflected in the mission statement for Microsoft Azure DevOps is for any language, any platform, any cloud. One last point on the new name. You can think of it as rebranding of some developer services to align it 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 configure virtual machines and cognitive services. Those are Azure. You can use those services without needing the DevOps portion. Azure DevOps is a separate cloud-based tool set designed to enhance team workflows. The essence of the rebranding is that Azure DevOps is now a suite of services where each service can be used separately from the other ones. So it's possible to use Azure DevOps for source control, and use another vendor's continuous delivery system. Of course, Microsoft thinks this services are world-class. They'd like you to consider using the entire Azure DevOps platform, but when that's not possible, it's good to know that Azure DevOps can integrate with your other DevOps services. Currently, there are five categories of services available. Azure Boards is the service for planning and tracking work. For example, create features, assign tasks to team members, do sprint planning and track bugs. Azure Repos is the shared integrated source control system. Azure Pipelines provide services to automate your build and deployment processes. To automate running test cases, you use the Azure Test Plan service. The last piece of DevOps services is Azure Artifacts. Think of this as the 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 Nougat. Use artifacts to build a combined feed of all dependencies in your organization including your private proprietary packages. Then you can work with your artifacts as a single source of dependencies. One common theme across many Microsoft tools is their built-in extensibility through a marketplace. Just like an App Store makes it easy to find, buy, and install mobile apps, it's the same for the Azure DevOps marketplace. When I checked the marketplace, there were over 1,500 services available. Here you can see some of the extensions organized by service type. To summarize, Azure DevOps contains a set of useful tools that enable your development and operations teams to live in harmony. You use it to plan your next set of application features and much more. In its current form, it is a separate set of services that share the Azure name, but live in their own distinctive portal alongside the main Azure portal.

Contents