This training is completely hands-on and designed in a way to help you become a certified practitioner through best practices in Continuous Development, Continuous Testing, Configuration Management, and Continuous Integration, and finally, Continuous Monitoring of software throughout its development life cycle, using modern DevOps tools such as Git, Docker, Maven, Jenkins, Cucumber, Ansible, Puppet, Kubernetes, Nagios and AWS Cloud.
Attendees will leave with the tools they need to execute an implementation plan for improving their delivery pipeline, and the knowledge they need to support the plan. The course also prepares students for the optional SAFe® 4 DevOps Practitioner (SDP) certification exam.
- 80% of Global Fortune 500 organizations are expected to adopt DevOps by 2019 – CA
- Average salary given to a DevOps Engineer is around $123,354 per annum – Indeed
- ADP, BBC News, eBay, GE, ING, Intuit, PayPal, Splunk, Uber & other MNCs use DevOps – Google
- Why DevOps?
- What is DevOps?
- DevOps Market Trends
- DevOps Engineer Skills
- DevOps Delivery Pipeline
- DevOps Ecosystem
- DevOps relationship to Agile
- DevOps relationship to Lean
- DevOps relationship to ITSM
- What is version control?
- What is Git?
- Why Git for your organization?
- Install Git
- Common commands in Git
- Working with Remote Repositories
- Branching and Merging in Git
- Git workflows
- Git cheat sheet
- What is CI?
- Why CI is Required?
- Introduction to Jenkins (With Architecture)
- Introduction to Maven
- Jenkins Management
- Adding a slave node to Jenkins
- Building Delivery Pipeline
- Pipeline as a Code
- Implementation of Jenkins in the Project
- Introduction to Selenium
- Why Selenium?
- Selenium – Webdriver
- Creating Test Cases in Selenium WebDriver (Waits)
- What and why X-Path?
- Handling different controls on Webpage
- Framework in Selenium
- Selenium Integration with Jenkins
- Implementation of Selenium in the Project
Creating Test Cases in Selenium WebDriver
Integrating Selenium with Jenkins
- Shipping Transportation Challenges
- Introducing Docker
- Understanding images and containers
- Running Hello World in Docker
- Introduction to Container
- Container Life Cycle
- Sharing and Copying
- Base Image
- Docker File
- Working with containers
- Publishing Image on Docker Hub
- Introduction to Docker Ecosystem
- Docker Compose
- Docker Swarm
- Managing Containers
- Running Containers
- Introduction to Docker Networking
- Network Types
- Docker Container Networking
- Implementation of Docker in the Project
Start Containers on a Cluster with Docker Swarm
Deploy a multi-tier application over a cluster
Scale an application
- Introduction to Puppet
- Puppet Installation
- Puppet Configuration
- Puppet Master and Agent Setup
- Puppet Module
- Node Classification
- Puppet Environment
- Puppet Classes
- Automation & Reporting
- Introduction to Ansible
- Ansible Installation
- Configuring Ansible Roles
- Write Playbooks
- Executing adhoc command
Configuring Ansible Role
Writing Playbooks
Executing adhoc commands
- Revisiting Kubernetes Cluster Architecture
- Spinning up a Kubernetes Cluster on Ubuntu VMs
- Exploring your Cluster
- Understanding YAML
- Creating a Deployment in Kubernetes using YAML
- Creating a Service in Kubernetes
- Installing Kubernetes Dashboard
- Deploying an App using Dashboard
- Using Rolling Updates in Kubernetes
- Containers and Container Orchestration
- Introduction to Kubernetes
Accessing your application through service
Deploying an app through Kubernetes Dashboard
Rolling updates in Kubernetes
- Introduction to Continuous Monitoring
- Introduction to Nagios
- Installing Nagios
- Nagios Plugins(NRPE) and Objects
- Nagios Commands and Notification
Monitoring of different servers using Nagios
- Why Cloud?
- Introduction to Cloud Computing
- Why DevOps on Cloud?
- Introduction to AWS
- Various AWS services
- DevOps using AWS
- Understand the CALMR approach to DevOps, why it is so important, and be able to explain it to others
- Understand the importance of continuous integration, continuous testing, and be ready to apply it
- Apply the concepts of continuous security
- Map their current delivery pipeline
- Measure the flow of value through the delivery pipeline
- Identify gaps and delays in the flow
- Improve the process of exploring customer needs
- Improve the process of developing, building, and integrating continuously
- Improve the process of continuously deploying to staging and production environments
- Improve the release process
- Execute an action plan for their DevOps transformation
- All members of an Agile Release Train
- Development Managers, Engineering Managers
- Configuration Managers, Release Managers
- Development Leads, Developers, UI/UX Developers
- Infrastructure Architects, System Architects
- Product Managers, Product Owners
- System Administrators, DBAs, InfoSec
- QA Managers, Testers
- Release Train Engineers, Scrum Masters