DevOps

  • Description
  • Course Content
  • What you'll learn?

DevOps, a combination of "development" and "operations," is a set of practices, principles, and cultural philosophies that aim to improve collaboration and communication between software development (Dev) and IT operations (Ops) teams. The primary goal of DevOps is to streamline and automate the software delivery and infrastructure management processes, leading to faster and more reliable development cycles.

Key elements of DevOps include continuous integration, continuous delivery, automation of manual processes, and a cultural emphasis on collaboration and shared responsibility. By breaking down traditional silos between development and operations, DevOps seeks to create a more efficient and responsive environment for delivering high-quality software products.

The core practices and principles of DevOps include:

  1. Continuous Integration (CI): Developers regularly merge code changes, triggering automated builds and tests.
  2. Continuous Delivery (CD): Automates the entire software release process, from code integration to deployment.
  3. Automation: Uses tools to automate manual tasks, enhancing consistency and speeding up development.
  4. Infrastructure as Code (IaC): Manages and provisions infrastructure using code, improving consistency and scalability.
  5. Collaboration and Communication: Encourages open communication and collaboration between teams, breaking down silos.
  6. Monitoring and Feedback: Implements robust monitoring systems and continuous feedback loops for prompt issue identification.
  7. Cultural Shift: Emphasizes shared responsibility, collaboration, and a continuous improvement mindset.
  8. Security as Code: Integrates security practices throughout the development lifecycle (DevSecOps).
  9. Microservices Architecture: Breaks down monolithic applications into independent services for agility and scalability.
  10. Agile Principles: Aligns with Agile methodologies, emphasizing iterative development and customer feedback.

DevOps practices are supported by a variety of tools, including version control systems, continuous integration servers, configuration management tools, container orchestration platforms, and monitoring solutions. The combination of these practices, principles, and tools helps organizations deliver high-quality software more rapidly and reliably, meeting the demands of today's fast-paced and dynamic development environments.

DevOps

Module 1:
  • Introduction and use cases of DevOps.
  • Understanding DevOps lab infrastructure on AWS.
  • Course overview.
  • Introduction to Linux Shell Scripting.
  • Creating shell scripts for day-to-day activities.
  • Understanding IF, WHILE and FOR statements in Shell Scripting.
  • Introduction to PowerShell Scripting.
  • Understanding Noun-Verb usage in PowerShell.
  • Installing PowerShell modules and using them.
  • Understanding IF, WHILE and FOR statements in PowerShell.
  • Creating scripts for regular user management and administration.
Module 2:
  • Version Controls and its significance
  • Introduction to Git version control application
  • Git Repositories & GitHub Authentication
  • Adding, Committing, Renaming & Deleting files
  • GitHub Branches, Merging &Web hooks
  • Understanding stash, diff, rebase, fetch, pull, and push.
  • Overview about Continuous Integration with Jenkins.
Module 3:
  • Introduction to Infrastructure asa Code.
  • Differences between Cloud Formation, Azure ARM & Terraform.
  • Basics of HashiCorp Terraform
  • Configuring Terraform Lab Platform
  • Understanding Terraform files
  • Terraform Providers, Variables & States, Locals.
  • Using Terraform Functions for Terraform Productivity.
  • Configuring Remote state using AWS Simple Storage Service(S3)
  • Understanding Terraform Functions.
  • Creating Terraform Modules.
  • Creating Workspaces in Terraform Enterprises(TFE)
  • Introduction to Packer
  • Create AWS AMI using Packer.
  • Integration of GitHub, Packer & Terraform with Jenkins.
Module 4:
  • Introduction to Containers & Docker
  • Docker architecture & Docker repositories
  • Pull, Create & Upload Docker images
  • Using Docker file and Docker Compose
  • Understanding Docker Networks
  • Understanding Docker Volumes
  • Creating Docker cluster using Docker Swarm
  • Docker Swarm Stacks and Container Placement
  • Docker Swarm Node Availability
  • Docker Swarm Rolling Updates
  • Docker Swarm secrets and Container health check
  • Introduction to Kubernetes
  • Deploying PODS, Services, Deployments.
Module 5:
  • Introduction to Ansible.
  • Differences between Ansible vs Puppet Vs Chef.
  • Understanding Ansible Architecture.
  • Configure Ansible Lab Platform.
  • Integrating Ansible with Terraform & Packer.
  • Creating & Using Ansible Playbooks.
  • Understanding & Using Ansible Roles.
  • Using Ansible Variables & Templates.
  • Leveraging Ansible Galaxy for Roles.
Module 6:
  • Introduction to Puppet
  • Puppet Architecture & Puppet components
  • Puppet Master & Client Installation & Configuration
  • Puppet Classes and Defined Types
  • Puppet manifests
  • Puppet Modules
  • AWS Puppet use cases
Module 7:
  • Introduction to Jenkins
  • Install & Configure Jenkins
  • Features & Master-Slave Architecture of Jenkins.
  • Configuring Slaves in EC2 and Docker Containers.
  • Configure Jenkins Job, RBAC, and Plugins.
  • Creating and managing Scripted and Declarative Pipelines.
  • Creating multi branch pipelines with Jenkins Blue Ocean.
  • Configuring CI/CD Pipeline.
  • Integrating with Maven & JFrog for spring boot Application.
  • Integrating With Sonarqube for Code Quality, Code Coverage and Bugs.
  • Integrating Jenkins with AWS, GitHub & Docker.
  • Configure Jenkins Notifications For Slack.
Module 8:
  • Introduction to Azure DevOps and Agile terminologies.
  • Creating User Stories,Issues, Epics, Kanban Boards.
  • Creating Repositories, Importing Code and Branching with Azure DevOps.
  • Creating Build Pipelines and Integrating with Azure, AWS Storage.
  • Creating and Pushing Docker Images using Azure DevOps.
  • Azure DevOps Builds and Artifacts.
  • CI/CD with Azure DevOps using Release Pipelines.
  • Integrating Terraform with Azure DevOps.
  • User Management for Azure DevOps using Azure Active Directory.
  • Azure DevOps Custom agent pools & Deployment Groups.
  • Integrating with Maven and JFrog.
  • Updating POM File for Spring Boot Applications.
Module 9:
  • Introduction to Static Code Analysis.
  • Installing Sonarqube and performing analysis.
  • Installing maven.
  • Maven lifecycle & Performing builds.
  • Understanding Maven Build LifeCycle.
  • Integrating with JFrog for Maven Deploy.
  • Introduction to Prometheus Monitoring.
  • Installing Prometheus and configuring Linux Server node exporter.
  • Creating Grafana Dashboards.
  • Understanding Alert Manager.

After completing this DevOps course you will be equipped with a diverse skill set valuable in modern software development and IT operations such as:

  1. Automation Skills: Automate tasks using scripting languages and tools.
  2. Continuous Integration/Continuous Delivery (CI/CD): Understand and implement CI/CD pipelines.
  3. Infrastructure as Code (IaC): Manage infrastructure using code with tools like Terraform or Ansible.
  4. Containerization and Orchestration: Learn Docker, Kubernetes, or Docker Swarm for container management.
  5. Collaboration and Communication: Foster collaboration between development and operations teams.
  6. Monitoring and Logging: Implement monitoring solutions and analyze logs for troubleshooting.
  7. Security Practices (DevSecOps): Integrate security into the development lifecycle.
  8. Cloud Computing: Familiarize yourself with AWS, Azure, or Google Cloud for application deployment.
  9. Microservices Architecture: Understand principles and design of microservices-based applications.
  10. Agile Methodologies: Align with Agile principles for iterative and incremental development.
  11. Version Control Systems: Learn Git for version control and collaborative workflows.
  12. Problem Solving and Troubleshooting: Develop skills in issue identification and resolution.
  13. Soft Skills: Enhance communication, teamwork, and adaptability.
  14. Career Advancement: Gain sought-after skills for improved career prospects.

DevOps skills are transferable and contribute to the success of modern software projects, making you a valuable asset in various industries.