DevOps is an emerging practice supporting fast, sustainable software delivery and infrastructure changes through automation while encouraging collaboration of development and operations teams.
This five day DevOps Practitioner course is designed to give delegates from both teams experience in deploying modern, large scale complex systems in the cloud using a DevOps tools chain to create an end to end pipeline supporting continuous integration, configuration management, system provisioning, containerisation, continuous deployment, continuous delivery and continuous monitoring of software delivery and infrastructure changes.
- Some experience as either a developer, operations or DevOps
- Comfortable with basic terminal commands in Linux - delegates must have knowledge to the level of QA's Linux
- Fundamentals course
- Understand the concepts of source control
- Experience using git
- Experience of using the windows command line
- Programming experience
Day one is an introduction to what DevOps is and how the tools we use can help in its realisation. We then look at cloud-based systems and beginning our pipeline by building and managing a distributed version control system for code collaboration using git.
Day two is concerned with continuous integration and deployment whereby we will automate the testing and packaging of code changes made in a git repository using Jenkins.
Day three focuses on containerisation of code, automating the creation of sustainable and deployable environments using Docker and container orchestration with Docker-compose.
Day four moves onto automation of configuration management and rapid infrastructure provisioning. Terraform and Puppet will be added to the tool chain to support high site reliability.
The final day will consist of continuous monitoring with Zabbix and maintaining the support of a healthy infrastructure.
- Introduction to DevOps
- The pillars of the movement
- DevOps tools
- Introduction to cloud computing and AWS
- Introduction to build managers with maven
- building projects based on archetypes
- Introduction to CI/CD Using Jenkins to build projects
- Linking Jenkins to git repositories
- Automating the build and deployment processes
- What is containerisation
- Introduction to Docker
- Building containers
- Deploying containers
- Orchestrating the deployment of containers on nodes using Docker-compose
- Orchestration and Automation of configuration
- Introduction to Puppet
- Using Puppet to deploy configuration changes
- Introduction into Terraform
- Using Terraform to rapidly provision cloud services
- Combining Jenkins, containers, Puppet and Terraform
- Monitoring and optimisation
- Introduction to Zabbix
- Installing and using Zabbix
- Registering new servers with Zabbix