Learn how to use feature toggles to separate a deployment from a release and enable multiple releases a day! Apply practices to split up your solutions into NuGet packages and apply a versioning strategy that enables fast release cycles.
Delivering software to production in a repeatable and reliable way requires us to be smarter about the way we deploy and release our software. In this course, Feature Toggles, Package Management and Versioning with Azure DevOps, you'll see how to use feature toggles, package management, and a proven way of versioning in order to deploy your software multiple times without affecting any users. First, you'll discover how to separate deployment from a release by using Feature Toggles as a means to introduce new or changed functionality without the need for branching in source control. Next, you'll explore details on how to split up your solution in multiple packages, and how you can ask crucial questions to determine the correct granularity, coupling, and cohesion between packages. Finally, you'll learn an industry proven way of versioning that helps you avoid endless dependencies. We integrate this into our automated builds in Azure DevOps. By the end of this course, you'll know how to efficiently use feature toggles, package management, and versioning with Azure DevOps.
Marcel is the co-founder and CTO of Xpirit, a high-end consulting firm based in Hilversum, Netherlands. Helping organizations transform towards a high speed, innovative, and productive organization is his passion.
Course Overview (Music) Hi everyone. My name is Marcel de Vries, and I'm the Chief Technology Officer at Xpirit in The Netherlands. Welcome to my course, Feature Toggles, Package Management, and Versioning with Azure DevOps. Delivering software to production in a repeatable and reliable way requires us to be smarter about the way we deploy and release our software. In this course, you will learn how you can separate the concerns of installing our software and releasing new features to our end users. Splitting these concerns will enable you to deploy your software multiple times a day without interrupting the service to your customers. In the first module, Feature Toggles, you will learn all about how to make this happen by guarding your software changes behind feature toggles. The next step is that we try to make the part of the system that we need to change as small as possible. For this we can use package management. In the second module, we will go into details, how to split up your solution into various packages. I will teach you how to use Azure DevOps and Visual Studio to create packages and private NuGet feeds. You will also learn how to create internal packages that are still debuggable by setting up a symbol server in Azure DevOps. The final part of this course will all be about versioning. You will learn a proven way to set up version numbers for your packages so you can determine if a package is still compatible. This will help you solving the problem better known as the dependency version hell, which will happen to you sooner or later when you build your own packages. After watching this course, you should be able to guard your software with feature toggles, enabling you to release multiple times a day. You are able to split up your software into multiple packages and apply an effective versioning strategy to guard you from dependency hell. I hope you join me in this learning journey with the course, Feature Toggles, Package Management, and Versioning with Azure DevOps, here at Pluralsight.