DevOps Workshop - Supporting the Microsoft Professional Program (40500A)
You will be required to have an active Azure subscription, an active Visual Studio Team Services account, and a Github account. You will be provided an Azure Pass to create your Azure subscription, if you do not have an existing Azure subscription to use. If you do not have an active Visual Studion Team Services account, you can set up a free one online. The labs are intended to be used with your own accounts so that after the class you will still be able to access your work for a period of time.
This three-day workshop is for IT professionals who are responsible for deploying and maintaining code in an efficient dependable manner through adoption of Devops practices across medium, large, and enterprise organizations. Typically, this course’s audience has some introductory experience with DevOps practices, and are looking to increase their knowledge level through a predominately hands-on experience with DevOps labs. This workshop is also beneficial for those interested in taking the Microsoft Professional Program for DevOps Capstone.
This workshop is part of a larger series of MOOC courses offered by Microsoft on the practice of DevOps. While it is not required that you have completed any of the other courses in the DevOps series before taking this workshop, it is highly recommended that you start with the first course in the series, Introduction to DevOps Practices, so that you get a big picture view of DevOps before drilling down into specific methodologies. It is also recommended that you have experience working in Visual Studio or another IDE, as well as knowledge of Azure IaaS. However, students who may not have a technical background in these technologies, but who are curious about DevOps practices as a culture shift, should be able to follow the procedural and expository explanations in this workshop
To get the most from this Workshop it is recommended that you have:
- Experience working inside an organization that delivers software.
- Fundamental knowledge of Microsoft Azure, Visual Studio Team Services, Git, and Visual Studio IDE.
- A basic understanding of version control and Agile software development process.
- Experience with software development and understanding of core development principles.
After completing this course, students will have a working understanding of key DevOps strategies, including Continuous Integration and Continuous Deployment, DevOps Testing, and Application Monitoring and Feedback Loops.
You will work your way through the labs to become familiar with:
- Continuous Integration and Continuous Deployment with VSTS using PartsUnlimited sample application
- Continuous Integration and Continuous Deployment with Visual Studio team Services (VSTS) using the PartsUnlimitedMRP sample application
- Continuous Integration and Continuous Deployment with Jenkins using the PartsUnlimitedMRP sample application
- Testing with VSTS and Eclipse
- Creating and Running Unit Tests for Managed Code
- Application Performance Monitoring
- Auto-Scale and Load Tests
- Create a Coded UI Test
- Adding Application Insights Telemetry to a Website
- Managing User Telemetry
- Setting up Health and Performance Monitoring
- Customizing Reports and Adding Custom Telemetry Data
- Configuring Operations Management Suite to visualize Application Insights data
Module 1: Continuous Integration and Continuous Deployment
Continuous Integration (CI) is the practice used by development teams to automate the merging and testing of code. Implementing CI helps to catch bugs early in the development cycle, which makes them less expensive to fix. Continuous Delivery (CD) is a process by which code is built, tested, and deployed to one or more test and production environments. Deploying and testing in multiple environments drives quality.
This module provides you with an overview of core testing concepts and guides you to implement a DevOps testing process using the features available in the Visual Studio family. You will learn about the different test types, including automated and manual tests. You will also learn how to create unit, integration, UI & exploratory tests. Finally, you will learn how to perform load testing and take advantage of some of the advanced features in Visual Studio to improve your tests.
Monitoring is essential for DevOps teams to deliver at speed, get feedback from production, and increase customer satisfaction, acquisition, and retention. In this module you will explore application monitoring to understand monitoring, it's benefits, and how monitoring can be used as part of a DevOps practice.