LLC204: DevOps
Overview
DevOps is a combination of tools and practices designed to increase an organization’s ability to deliver applications and services faster than traditional software development processes. The goal of DevOps is to streamline and automate the application lifecycle to accelerate the delivery of high-quality products. In this DevOps course we provide an in-depth overview of the DevOps referring to such key practices as continuous integration (CI), continuous delivery (CD), automation with Ansible, monitoring with such popular and in-demand tools as Grafana, and how Jenkins brings in collaboration between development and operations teams. The course includes hands-on experience with popular DevOps tools like Git, Docker, Ansible and Grafana with an additional note on Prometheus. We provide DevOps as an instructor-led training.
Course Summary
• Docker
• Git and Git Hub
• Jenkins with Ansible
• Monitoring with Grafana and Prism
Target Audience
This course is aimed at software Developers, Administrators, and Users who want to acquire beginner to intermediate DevOps administration skills.
Course Prerequisites
The audience shall have basic knowledge of command line usage of Linux OS and entry level knowledge on Ansible. No earlier programming skills required.
Course Outcome
At the end of this course, the candidate shall be able to manage the DevOps environment with confidence. The course shall further motivate the candidate with a focus on utilizing tools to streamline the software development lifecycle and improve overall system reliability and efficiency. The course provides a practical understanding of the fundamentals of DevOps engineering and be familiar with DevOps terminologies, concepts and deployment options to meet real world software development requirements.
Duration: 4 Days Full-time
Course Fee: ₹ 20,000 plus GST
Course Outline
Docker
• Overview of Docker Concept and virtualization,
• Docker architecture and components (Images, containers)
• Installation of Docker
• Building Docker Images with Dockerfiles
• Docker command,
• Docker Run
• Docker registry
• Docker images
• Docker Engine
• Docker Storage
• Docker hub and private registries
• Managing Docker containers (start, stop, remove)
• Docker networking and volumes
• Docker compose and multi container applications
• Docker Swarm
• Best practices for container security
Git and Git hub
• Introduction to git and version control
• Installation, branching and versioning
• Git workflow Commit, pull, push and clone
• Working with branches (merge , rebase)
• stashing
• GitHub: Basics
• Fetching and Pulling
• Git Collaboration Work Flows
• Rebasing
• Git Tags
• Fork and Clone
• Collaboration
• Hashing and Objects
• Reflogs – Retrieving “Lost” work
• Managing remote repositories
• Resolving merge conflicts
• Git best practices
• Git hooks and automation
Jenkins with Ansible
• Ansible installation,
• Ansible Inventory Management
• Ansible Configuration
• Writing Ansible playbooks
• Ansible Vault and secret management
• Introduction to Jenkins
• Installation and Configuration of Jenkins cli
• Integrating Jenkins with Git, Docker and Kubernetes
• Plugins and integration
• Publishing Junit/HTML report in Jenkins
• CI/CD Core components
– Types of Runners and Executers
• Implementing CI with Jenkins
• Implementing CD with Jenkins
• Ansible groovy (Pipeline and Jenkinsfile)
• Troubleshooting in Jenkins
• Jenkins with Docker
Monitoring Tools
• Introduction to monitoring and observability
• Overview of Grafana
• Installation of Grafana
• Add SSL to Grafana to secure traffic
• Creation of data source in Grafana
• Discussions on various panels in Grafana
• Creation of MySQL Data Source, Collector and Dashboard
• Log extraction and analysis with Grafana
– Create a Custom MySQL Time Series Query
– Graphing Non-Time Series SQL Data
• Overview of Prometheus
• Installation and configuration of Prometheus
• Setup Grafana Metrics Prometheus Dashboard
• Log extraction and analysis with Prometheus