上QQ阅读APP看书,第一时间看更新
Chapter 2. DevOps Tools and Technologies
In the previous chapter, we looked at the problems faced by organizations in delivering software services to customers. We understood the meaning of DevOps and the way it addresses the challenges of software delivery. We went through the principles on which DevOps is based and discussed the practices through which DevOps achieves its end goal.
This book is about the practical implementation of DevOps through technology. Technology is an enabler for DevOps. Technology helps DevOps in the following ways:
- Enables faster collaboration and communication among teams, making them more efficient and effective.
- Helps in faster, better, and automated process implementation.
- Consistent and predictable automated delivery. Brings higher cadence and confidence in the delivery process.
- Feedback backed up by telemetry.
- Agile deployments.
This chapter and the following two chapters will introduce core platforms and technologies instrumental in enabling and implementing DevOps practices.
These include:
- Technology stack for implementing configuration management, continuous integration, continuous deployment, continuous delivery, and continuous improvement. These form the backbone for DevOps processes and include source code services, build and release service through Visual Studio Team Services (VSTS).
- Platform and technology used to create and deploy a sample web application. This includes technologies such as Microsoft .NET, ASP.NET, and SQL server databases.
- Tools and technology for configuration management, testing of code and application, authoring scripts and templates as part of Infrastructure as Code, and deployment of environments. Examples of these tools and technology are Pester for environment validation, environment provisioning through Azure Resource Manager (ARM) templates, Desired State Configuration (DSC) and PowerShell, application hosting on containers through Windows Containers and Docker, application and database deployment through web deploy packages, and SQL server BACPAC files.