Duration 3 days – 21 hrs
Overview
This 3-day course ensures participants gain both theoretical knowledge and practical skills in DevOps, enabling them to apply these practices in their work environments to improve collaboration, automation, and efficiency.
Objectives
- Understand DevOps Fundamentals: Learn the basic principles, practices, and culture of DevOps.
- Gain Familiarity with Key DevOps Tools: Get hands-on experience with essential DevOps tools like Git, Jenkins, Docker, and Kubernetes.
- Learn Continuous Integration and Continuous Deployment (CI/CD): Understand and implement CI/CD pipelines for automated testing and deployment.
- Improve Collaboration Skills: Enhance communication and collaboration between development and operations teams.
- Implement Infrastructure as Code (IaC): Learn the basics of automating infrastructure provisioning and management using tools like Terraform and Ansible.
Audience
- Junior Developers: Programmers new to the field seeking to understand DevOps practices.
- System Administrators: IT professionals looking to transition into a DevOps role.
- QA Testers: Quality assurance professionals interested in learning how DevOps integrates testing into the development pipeline.
- IT Operations Staff: Individuals working in IT operations aiming to collaborate more effectively with development teams.
- Recent Graduates: Individuals who have recently completed a degree in IT, computer science, or related fields and want to gain practical DevOps skills.
- Project Managers: Managers overseeing software development projects who need to understand DevOps methodologies.
- IT Professionals Seeking Career Change: Experienced IT workers looking to move into DevOps roles.
- Tech Enthusiasts: Anyone with a general interest in learning about DevOps and its applications in modern software development.
Pre-requisites
- Basic IT Knowledge: Familiarity with basic IT concepts and terminology.
- Understanding of Software Development: Basic knowledge of software development processes and practices.
- Fundamental Linux/Unix Skills: Basic experience with Linux/Unix command line operations is beneficial.
Course Content
Day 1: Introduction to DevOps and Continuous Integration
Introduction
- Welcome and course objectives
- Participant introductions and expectations
Introduction to DevOps
- What is DevOps?
- The history and evolution of DevOps
- Benefits of adopting DevOps practices
Key DevOps Concepts and Practices
- Continuous Integration (CI) and Continuous Delivery (CD)
- Infrastructure as Code (IaC)
- Monitoring and logging
Setting Up a DevOps Environment
- Introduction to version control with Git
- Setting up a Git repository
- Basic Git commands and workflows
Hands-On Lab: Creating a CI Pipeline
- Introduction to CI tools (e.g., Jenkins, GitLab CI)
- Setting up a simple CI pipeline
- Running and monitoring builds
Day 2: Continuous Delivery and Infrastructure as Code
Continuous Delivery (CD) Practices
- Understanding CD pipelines
- Deployment strategies (e.g., blue-green, canary)
- Implementing CD with Jenkins/GitLab CI
Infrastructure as Code (IaC)
- Introduction to IaC concepts
- Overview of IaC tools (e.g., Terraform, Ansible, Chef, Puppet)
- Writing and deploying infrastructure code with Terraform
Configuration Management
- Introduction to configuration management
- Managing configurations with Ansible
- Practical session: Writing and running Ansible playbooks
Hands-On Lab: Building a CD Pipeline
- Integrating CI/CD pipelines
- Automating deployment processes
- Deploying applications to a cloud environment (e.g., AWS, Azure)
Day 3: Monitoring, Logging, and Collaboration Tools
Monitoring and Logging
- Importance of monitoring and logging in DevOps
- Tools for monitoring (e.g., Prometheus, Grafana)
- Tools for logging (e.g., ELK stack: Elasticsearch, Logstash, Kibana)
Hands-On Lab: Setting Up Monitoring and Logging
- Installing and configuring monitoring tools
- Collecting and visualizing logs
- Creating dashboards and alerts
Collaboration and Communication Tools
- Importance of collaboration in DevOps
- Overview of collaboration tools (e.g., Slack, Microsoft Teams, Jira)
- Using collaboration tools to enhance DevOps workflows
Final Practical Exercise and Course Review
- Comprehensive hands-on exercise integrating all learned concepts
- Group activity: Implementing a mini DevOps project
- Review of key concepts and techniques
- Course wrap-up and Q&A