Duration 5 days – 35 hrs
Overview
This intensive DevOps Professional Training Course is designed to equip IT professionals with the skills and knowledge required to implement DevOps practices effectively. The course covers a range of topics including continuous integration and continuous delivery (CI/CD), infrastructure as code (IaC), monitoring, and collaboration tools. Through a mix of lectures, hands-on labs, and case studies, participants will gain practical experience in automating and streamlining the software delivery process.
Objectives
- Gain a comprehensive understanding of DevOps practices and principles.
- Learn to implement and manage a complete DevOps pipeline.
- Master the use of source control management with Git and BitBucket.
- Develop skills in continuous integration and continuous delivery (CI/CD).
- Understand containerization and its applications using Docker.
- Explore configuration management with tools like Ansible.
- Get hands-on experience with Jenkins for automation of build and deployment processes.
- Learn to use JFrog Artifactory for artifact management.
- Understand code quality and security analysis with SonarQube.
- Enhance collaboration between development and operations teams.
- Improve software quality, delivery speed, and overall project efficiency.
Audience
- DevOps Engineers: Professionals responsible for implementing and managing CI/CD pipelines within an organization.
- Software Developers: Developers looking to integrate their code seamlessly into automated build and deployment processes.
- System Administrators: IT staff responsible for maintaining and overseeing systems that support development and operations teams.
- QA Engineers: Quality Assurance professionals aiming to incorporate automated testing within CI/CD workflows to ensure software quality.
- IT Operations Staff: Team members involved in maintaining the infrastructure and systems that support continuous integration and delivery processes.
- Build and Release Engineers: Engineers specializing in the build and deployment process of software applications, ensuring that software releases are smooth and efficient.
- Project Managers: Managers overseeing software development projects who need to understand CI/CD practices to manage timelines and deliverables effectively.
- IT Managers: Managers responsible for IT operations and infrastructure who want to streamline operations and improve deployment processes.
- Security Engineers: Professionals focusing on integrating security measures within CI/CD pipelines (DevSecOps).
- Platform Engineers: Engineers managing and developing platforms that support application deployment and delivery.
- Technical Leads and Architects: Leaders and architects designing and guiding the implementation of CI/CD practices within their teams or organizations.
Pre-requisites
- Basic knowledge of software development and system administration.
- Familiarity with version control systems (e.g., Git).
- Understanding of basic scripting (e.g., Shell, Python).
- Working with Jenkins
Course Content
Module 1: Overview
DevOps Overview
- Introduction to DevOps
- DevOps culture and practices
- Benefits of DevOps
- DevOps lifecycle
Review on Architecture
- Microservices architecture
- Monolithic vs. microservices
- Service mesh
- Architectural patterns (e.g., event-driven, serverless)
Review on Linux
- Basic Linux commands
- File system structure
- User and permissions management
- Package management (e.g., apt, yum)
Review on DevOps Code, Steps, and Documentation
- Infrastructure as Code (IaC) principles
- DevOps pipelines and workflows
- Documentation best practices
- Version control systems
Module 2: DevOps Concepts
Source Control Management
- Git basics and advanced features
- Branching strategies (e.g., GitFlow, trunk-based)
- Code review processes
- Repository management
Continuous Integration
- CI principles
- Setting up CI pipelines
- Automated testing
- Integrating CI with source control
Containerization
- Introduction to containers
- Docker fundamentals
- Building and managing Docker images
- Docker Compose
Continuous Delivery
- CD principles
- Deployment strategies (e.g., blue-green, canary)
- Automated deployment pipelines
- Rollbacks and recovery
Artifacts
- Understanding build artifacts
- Artifact repository management
- Versioning and artifact lifecycle
- Secure artifact storage
Configuration Management
- Configuration as Code (CaC)
- Tools (e.g., Ansible, Puppet, Chef)
- Managing configuration drift
- Declarative vs. imperative configuration
Module 3: BitBucket
Configuration
- Setting up BitBucket
- User management and permissions
- Repository settings and branching policies
Environment Setup
- Integrating BitBucket with CI/CD tools
- Environment variables and secrets management
- Setting up development, staging, and production environments
Pipeline
- BitBucket Pipelines overview
- Writing pipeline scripts
- Pipeline configuration and triggers
- Monitoring and debugging pipelines
From Artifact to Build
- Artifact generation in BitBucket Pipelines
- Storing and retrieving artifacts
- Integrating artifact repositories with BitBucket
Module 4: Jenkins
Installation
- Installing Jenkins on various platforms
- Initial configuration and setup
- Managing plugins and updates
Jenkins with Ansible
- Integrating Jenkins with Ansible
- Running Ansible playbooks from Jenkins
- Managing inventories and variables
Jenkins with Cloud
- Setting up Jenkins with cloud providers (AWS, Azure, GCP)
- Using Jenkins with cloud-native tools
- Scaling Jenkins in the cloud
Jenkins with Docker
- Running Jenkins in Docker
- Building Docker images with Jenkins
- Managing Docker containers with Jenkins
Jenkins with Pipeline
- Jenkins Pipeline as Code (Jenkinsfile)
- Declarative vs. scripted pipelines
- Advanced pipeline features (e.g., parallelism, stages)
- Pipeline libraries and shared steps
Module 5: JFrog Artifactory
Setup and Configuration
- Installing and configuring Artifactory
- Repository types (local, remote, virtual)
- Managing repositories and permissions
- Integrating Artifactory with CI/CD tools
Managing Artifacts
- Uploading and retrieving artifacts
- Artifact versioning and cleanup policies
- Security and access control
- Artifactory REST API
Module 6: SonarQube
Set-up
- Installing SonarQube
- Configuring SonarQube for various languages
- Integrating SonarQube with CI/CD pipelines
- Analyzing code quality and security
Advanced Configuration
- Customizing quality profiles and gates
- Managing rules and exceptions
- Using SonarQube plugins
- Monitoring and maintaining SonarQube
Module 7: Project
Project Planning
- Defining project scope and objectives
- Identifying key stakeholders and team roles
- Creating a project timeline and milestones
Project Execution
- Setting up source control and CI/CD pipelines
- Implementing configuration management
- Building and deploying containerized applications
Project Review
- Conducting code reviews and quality assessments
- Continuous monitoring and feedback loops
- Final deployment and handover
- Post-project evaluation and lessons learned