This repository and its content has been created for the training "Practical DevOps". Its content is described below. The trainings take place all over Western Europe in spring 2016. Note that the content of the repository will not be kept up to date after all the trainings took place.
Note that Martin Hinshelwood has created a modified version based on this training. His version starts with VSTS and Continuous Integration/Delivery from the beginning instead of adding it in exercise 6. You can find this variant of the training in his GitHub repository. Tiago Pascoal has also created a variant of the course for his delivery of the workshop in Lisbon. You can find Tiago's version of the training in his GitHub repository.
Note that you can view the slides online at http://rstropek.github.io/PracticalDevOpsTraining/.
You find the exercises of the training in the Exercises folder.
The training outline is available in Excel and PDF.
Slides and exercises are currently still work in progress.
Agile Software Engineering with Visual Studio, Microsoft Azure & Open Source tools
Software engineering practices have changed drastically in the last few years. Agile practices, DevOps, Cloud Computing, Open Source and similar developments have proven their effectiveness. Microsoft’s platforms for software development and cloud computing have also embraced these concepts and are at the leading edge in their domain.
In this two-day training you will learn how software development works with Microsoft’s tools and languages. Based on a consistent sample, you will learn how to
- setup a development environment for a modern SPA web application with the latest versions of Visual Studio and Visual Studio Team Services,
- develop cross-platform RESTful web APIs with C# and ASP.NET Core,
- benefit from the latest developments in the Visual Studio C# IDE (e.g. PerfTips, live code analysis, CodeLense, diagnostic tools, etc.),
- integrate modern front-end development frameworks and languages like Angular 2 and TypeScript in Visual Studio,
- use cross-platform build- and test-automation tools like Visual Studio Web and Load Tests, Visual Studio Team Services, Gulp, xUnit and Jasmine to automate your build- and quality assurance processes,
- create highly available and secure environments for your web APIs and web applications in Microsoft Azure with Azure Resource Manager (ARM),
- setup a multi-stage (dev/test/prod) environment in Azure App Services,
- learn about the advantages of the upcoming container technology Docker and
- automate deployment to Microsoft Azure with Visual Studio Release Management.
The training is a combination of approx. 60% presentations with embedded demos and 40% hands-on time where you have your fingers on the keyboard and try what you have learned. Those who are new to the topics can follow a provided hands-on lab guide step by step. In areas you are already familiar with, you can put the guides to the side and create an individual sample with the latest tools and technologies.
Attendees should already have basic knowledge about Visual Studio, .NET, C#, HTML and JavaScript. Detailed knowledge about the latest versions of these tools, frameworks and languages is not required.
You will need your own laptop to do the hands-on labs. Ideally, you have the latest version of Visual Studio installed (detailed instructions about the necessary Visual Studio configuration will be provided) and you have access to your own Microsoft Azure subscription. If you do not have access to Visual Studio and/or a Microsoft Azure account, Microsoft will provide a limited number (first come, first served) of free Azure Passes that you can use to run a VM with Visual Studio in it. In that case you just need internet access and a remote desktop client on your laptop. For the labs about build- and test-automation, you need your own Visual Studio Team Services subscription (free edition available).
For details about prerequisites see Slides. Please don't forget to bring your own laptop!