What this book covers
Chapter 1, Introducing DevOps, introduces the motivation for implementing the DevOps paradigm in any software development endeavor. The chapter focuses on practices and principals at a high level, creating the context for other chapters in the book.
Chapter 2, DevOps Tools and Technologies, walks through the major technology components important from a DevOps implementation perspective. It discusses cloud technologies, build and release management services, Git, Windows Server 2016, Docker containers, and Nano servers. This chapter provides a brief introduction to each of these technologies.
Chapter 3, DevOps Automation Primer, walks through major automation technologies, enabling faster and better DevOps implementation. This chapter provides a brief introduction to PowerShell, Azure Resource Manager templates, Pester, and Desired State Configuration.
Chapter 4, Nano, Containers, and Docker Primer, focuses on new Windows Server 2016 features such as Nano servers, containers, and Docker. It provides an introduction to these technologies with examples. The chapter shows how to provision Nano servers using Azure PowerShell, containers using Azure Resource Manager template, and working with Docker and dockerfiles.
Chapter 5, Building a Sample Application, introduces a sample application that helps in showing and implementing DevOps practices. It is an ASP.NET MVC web application consisting of a frontend and a database. The chapter also discusses important technical components that are integral to the sample application.
Chapter 6, Source Code Control, discusses the importance of using a version control system and provides multiple ways to interact and work with Visual Studio Team Services using Git. It shows ways to check-in the sample application into Git, and multiple ways to interact and work with VSTS Git repositories using Visual Studio. It also provides a small primer into working with Git using commands.
Chapter 7, Configuration Management, introduces one of the most important DevOps practices and its implementation. It discusses the concept of Infrastructure as Code and its importance. This chapter focuses on infrastructure and application configuration management. It provides descriptions of the code, scripts, and configuration used for the sample application. The sample application will be deployed using these configuration management artifacts.
Chapter 8, Configuration Management and Operational Validation, continues where the last chapter ended. It shows implementation of Infrastructure as Code, along with unit testing and the operational validation of environments.
Chapter 9, Continuous Integration, discusses another important DevOps practice and provides details about its importance, principles, benefits, and implementation. Visual Studio Build pipelines are discussed extensively while providing details about a sample build pipeline built for the sample application.
Chapter 10, Continuous Delivery and Deployment, discusses two of the most important DevOps practices and provides details about their importance, principles, benefits, and implementation. Visual Studio Release pipelines are discussed extensively while providing details about a sample release pipeline consisting of multiple environments built for the sample application.
Chapter 11, Monitoring and Measuring, discusses at length the concepts and implementation related to monitoring and measuring the different aspects of applications and environments in the production environment for the sample application.