master in devops engineering (mde) · 10000+ job descriptions across the globe and epitome of 200+...
TRANSCRIPT
Master in DevOps Engineering (MDE)
This "Masters in DevOps Engineering (MDE)" Program is the only course in the WORLD which can make you an expert and proficient Architect in DevOps, DevSecOps and Site Reliability Engineering (SRE) principles together. Our curriculum has been determined by comprehensive research on 10000+ job descriptions across the globe and epitome of 200+ years of industry experience.
"Master in DevOps Engineering" program is structured in a way, whether you are an experienced IT professional or a college graduate, this course will help you to integrate all the real-world experience with all the important tools, specialization and job-ready skills.
○ Lets Understand about Software Development Model
○ Overview of Waterfall Development Model
○ Challenges of Waterfall Development Model
○ Overview of Agile Development Model
○ Challenges of Agile Development Model
○ Requirement of New Software Development Model
○ Understaning a existing Pain and Waste in Current Software Development Model
○ What is DevOps?
○ Transition in Software developement model- Waterfall -> Agile -> CI/CD -> DevOps -> DevSecOps
○ Understand DevOps values and principles
○ Culture and organizational considerations
○ Communication and collaboration practices
○ Improve your effectiveness and productivity
○ DevOps Automation practices and technology considerations
○ DevOps Adoption considerations in an enterprise environment
○ Challenges, risks and critical success factors
○ What is DevSecOps?
○ Lets Understand DevSecOps Practices and Toolsets.
○ What is SRE?
○ Lets Understand SRE Practices and Toolsets.
○ List of Tools to become Full Stack Developer/QA/SRE/DevOps/DevSecOps
1. Software Development Models, Agile, DevOps, SRE & DevSecOps - Concept
○ Microservices Fundamentals
○
Choreographing Services Presentation components Business Logic Database access logic Application Integration Modelling Microservices Integrating multiple Microservices
Microservices Patterns
Keeping it simple
Software Development Architecture - Monolithic, SOA & Microservices - Concept2.
Course Outline
Master in DevOps Engineering (MDE)Wednesday, July 1, 2020 12:15 PM
MDE - Course content Page 1
○
Avoiding Breaking Changes Choosing the right protocols Sync & Async Dealing with legacy systems Testing
Keeping it simple
○ What and When to test
○ Preparing for deployment
○ Monitoring Microservice Performance
○ Tools used for Microservices Demo using container
○ Installing CentOS7 and Ubuntu
○ Accessing Servers with SSHWorking at the Command Line○
○ Reading FilesUsing the vi Text Editor○
○ Piping and RedirectionArchiving Files○
○ Accessing Command Line Help
○ Understanding File Permissions
○ Accessing the Root AccountUsing Screen and Script○
3. Platform - Operating Systems - Centos and Ubuntu
○ Overview of Hypervisor
○ Introduction of VirtualBoxInstall VirtualBox and Creating CentOS7 and Ubuntu Vms○
○ Understanding Vagrant
○ Basic Vagrant Workflow
○ Advance Vagrant Workflow
○ Working with Vagrant VMsThe Vagrantfile○
○ Installing Nginx
○ ProvisioningNetworking○
Sharing and Versioning Web Site Files○
○ Vagrant Share
○ Vagrant StatusSharing and Versioning Nginx Config Files○
○ Configuring Synced Folders
Platform - Virtualization & Systems - VirtualBox & Vagrant4.
Introduction of AWS○
○ Understanding AWS infrastructureUnderstanding AWS Free Tier○
IAM: Understanding IAM Concepts○
○ IAM: A Walkthrough IAM
○ IAM: Demo & Lab
○ Computing:EC2: Understanding EC2 Concepts
○ Computing:EC2: A Walkthrough EC2
○ Computing:EC2: Demo & Lab
○ Storage:EBS: Understanding EBS Concepts
○ Storage:EBS: A Walkthrough EBSStorage:EBS: Demo & Lab○
○ Storage:S3: Understanding S3 Concepts
○ Storage:S3: A Walkthrough S3
○ Storage:S3: Demo & Lab
Storage:EFS: Understanding EFS Concepts○
○ Storage:EFS: A Walkthrough EFS
○ Storage:EFS: Demo & Lab
Database:RDS: Understanding RDS MySql Concepts
5. Platform - Cloud - AWS
MDE - Course content Page 2
Database:RDS: Understanding RDS MySql Concepts○
○ Database:RDS: A Walkthrough RDS MySql
○ Database:RDS: Demo & Lab
○ ELB: Elastic Load Balancer ConceptsELB: Elastic Load Balancer Implementation○
○ ELB: Elastic Load Balancer: Demo & Lab
○ Networking:VPC: Understanding VPC ConceptsNetworking:VPC: Understanding VPC components○
○ Networking:VPC: Demo & Lab
○ What is Virtualization?
○ What is Containerization?
○ Why Containerization?
○ How Docker is good fit for Containerization?
○ How Docker works?
○ Docker Architecture
○ Docker Installations & Configurations
○ Docker Components
○ Docker Engine
○ Docker Image
○ Docker Containers
○ Docker Registry
○ Docker Basic Workflow
○ Managing Docker Containers
○ Creating our First ImageUnderstading Docker Images○
○ Creating Images using Dockerfile
○ Managing Docker Images
○ Using Docker Hub registry
○ Docker Networking
○ Docker Volumes
○ Deepdive into Docker Images
○ Deepdive into DockerfileDeepdive into Docker Containers○
○ Deepdive into Docker Networks
○ Deepdive into Docker Volumes
○ Deepdive into Docker Volume
○ Deepdive into Docker CPU and RAM allocations
○ Deepdive into Docker Config
○ Docker Compose Overview
○ Install & Configure Compose
○ Understanding Docker Compose Workflow
○ Understanding Docker Compose Services
○ Writing Docker Compose Yaml file
○ Using Docker Compose CommandsDocker Compose with Java Stake○
○ Docker Compose with Rails Stake
○ Docker Compose with PHP StakeDocker Compose with Nodejs Stake○
6. Platform - Containers - Docker
○ Overview of Jira
○ Use cases of Jira
○ Architecture of JiraInstallation and Configuraration of Jira in Linux○
Installation and Configuraration of Jira in Windows○
Jira Terminologies○
Understanding Types of Jira Projects○
○ Working with ProjectsWorking with Jira Issues○
Adding Project Components and Versions○
○ Use Subtasks to Better Manage and Structure Your IssuesLink Issues to Other Resources
a. JIRA7. Planning and Designing - Jira & Confluence
MDE - Course content Page 3
○ Link Issues to Other Resources
○ Working in an Agile projectWorking with Issues Types by Adding/Editing/Deleting○
○ Working with Custom Fields by Adding/Editing/DeletingWorking with Screens by Adding/Editing/Deleting○
○ Searching and Filtering Issues
○ Working with Workflow basicIntroduction of Jira Plugins and Addons.○
○ Jira Integration with Githubb. Confluence ○ Exploring Confluence benefits and resources
○ Configuring Confluence
○ Navigating the dashboard, spaces, and pages
○ Creating users and groups
○ Creating pages from templates and blueprints
○ Importing, updating, and removing content
○ Giving content feedbackWatching pages, spaces, and blogs○
Managing tasks and notifications○
Backing up and restoring a site○
Add/Edit/Delete new users-
Adding group and setting permissions-
- Managing user permissions- Managing addons or plugins- Customizing confluence site
○ Admin tasks
- Evaluation options for Confluence- Supported platforms
Installing Confluence on Windows-
Activating Confluence trial license-
- Finalizing Confluence Installation
Installing Confluence○
Introduction○
○ Setup Java Development Environment
○ Java Language FundamentalArrays and Loops○
○ Java MethodsConditioning and Looping in Java ○
○ Exception HandlingBasics of Oops in Java○
○ Create a Java Package using Jar
○ Creating Basic Java Web Based application
○ Create a Java Package using War
○ Deploy Web App in Tomcat Environment
Backend Programming Language 1 - Java8.
- Interpreted languages- Advantages and disadvantages- Downloading and installing- Which version of Python- Where to find documentation- Running Python Scripts
What is Python?○
○
- String types: normal, raw and Unicode- String operators and expressions
Math operators and expressions-
- Writing to the screen- Command line parameters- Reading from the keyboard- Flow Control
Using variables
○
- Using the interpreter interactivelyStructure of a Python script
Backend Programming Language 2 - Python9.
MDE - Course content Page 4
- Using the interpreter interactively- Running standalone scripts under Unix and Windows
Getting Started-
○
Indenting is significant-
- The if and elif statementswhile loops-
- Using lists- Using the for statement- The range() function- Sequence Data
About flow control
○
- list methods- Strings are special kinds of lists- tuples- sets
Dictionaries-
- Defining Functions
List operations
○
- Opening a text file- Reading text files
Raw (binary) data-
- Using the pickle module- Writing to a text file- Dictionaries and Sets
Text file I/O overview
○
- Formal parametersGlobal versus local variables-
- Passing parameters and returning values- Working with Files
Syntax of function definition
○
- Creating dictionaries- Dictionary functions- Fetching keys or values- Testing for existence of elements- Deleting elements- Errors and Exception Handling
Dictionary overview
- What is HTML- WHY HTML- HTML Anatomy- Intro To Brackets- Introduction- HTML First Page- Body and self closing tags- Headings- Paragraph And Span- HTML Formating- images- Brackets Extensions- Tables- div
HTML○
- What is CSS?- Why CSS?- CSS Syntax And Element Selectors- Class Selector- ID Selector- More About Selectors
CSS○
Frontend Programming Language - Core HTML + CSS + JS10.
MDE - Course content Page 5
- More About Selectors- Chaining Selectors
- Getting Started- JavaScript Basics- JavaScript Operators- JavaScript ControlFlow- JavaScript Objects- JavaScript Arrays- JavaScript Functions
JavaScript○
Project - Website Design using HTML, CSS and JS.○
- Understanding version control- The history of Git- About distributed version control- Who should use Git?
What is Git?○
- Installing Git on a Mac- Installing Git on Windows- Installing Git on Linux- Configuring Git- Exploring Git auto-completion- Using Git help
Installing Git○
- Initializing a repository- Understanding where Git files are stored- Performing your first commit- Writing commit messages- Viewing the commit log
○ Getting Started
- Exploring the three-trees architecture- The Git workflow- Using hash values (SHA-1)- Working with the HEAD pointer
○ Git Concepts and Architecture
- Adding files- Editing files- Viewing changes with diff- Viewing only staged changes- Deleting files- Moving and renaming files- Using Git with a Real Project- Introducing the Explore California web site- Initializing Git- Editing the support phone number- Editing the backpack file name and links
○ Making Changes to Files
- Undoing working directory changes- Unstaging files- Amending commits- Retrieving old versions- Reverting a commit- Using reset to undo commits- Demonstrating a soft reset- Demonstrating a mixed reset- Demonstrating a hard reset- Removing untracked files
○ Undoing Changes
11. Source Code Versioning - Git using Github
MDE - Course content Page 6
- Using .gitignore files- Understanding what to ignore- Ignoring files globally- Ignoring tracked files- Tracking empty directories
○ Ignoring Files
- Referencing commits- Exploring tree listings- Getting more from the commit log- Viewing commits- Comparing commits
○ Navigating the Commit Tree
- Branching overview- Viewing and creating branches- Switching branches- Creating and switching branches- Switching branches with uncommitted changes- Comparing branches- Renaming branches- Deleting branches- Configuring the command prompt to show the branch
○ Branching
- Merging code- Using fast-forward merge vs. true merge- Merging conflicts- Resolving merge conflicts- Exploring strategies to reduce merge conflicts- Fast Forward Merge- Three way Merge- Rebasing
○ Merging Branches
- Saving changes in the stash- Viewing stashed changes- Retrieving stashed changes- Deleting stashed changes
○ Stashing Changes
- Using local and remote repositories- Adding a remote repository- Creating a remote branch- Cloning a remote repository- Tracking remote branches- Pushing changes to a remote repository- Fetching changes from a remote repository- Merging in fetched changes- Checking out remote branches- Pushing to an updated remote branch- Deleting a remote branch- Enabling collaboration- A collaboration workflow
○ Remotes
- Setting up aliases for common commands- Using SSH keys for remote login- Exploring integrated development environments- Exploring graphical user interfaces- Understanding Git hosting- Conclusion
○ Tools and Next Steps
Tagging
MDE - Course content Page 7
- Lightweight tags- Annotated tags- Signed Tags- Create tags in Git- Create tags in Stash- Checkout tags in Git- How to view tags- How to checkout tags
○ Tagging
- Installing SonarQube- Analyzing Source Code- UI Tips- Browsing a Project
○ Requirements
- Issues- Measures- Plugin Library- Local and Branch Analysis
○ Going Further
- Web Services API- Coding new Rules- API Basics- Internationalization
○ Extending SonarQube
○ Upgrading
12. Code Analysis & Securing Code (SAST) - SonarQube & OWASP SonarQube & AppScan CodeSweep
○ Learning MySQL 8
○ Getting to Know the MySQL 8 Architecture
○ Installation via Package Manager
○ Installation via Manual PackageUpgrading an Existing Database to MySQL 8○
Using Tools to Access the Database○
○ Getting to Know Your Database
○ Changing Configuration Parameters in my.cnfChanging MySQL Configuration Parameters Online
○ Essential MySQL Configuration Parameters
○ Accessing the Data Dictionary
○ Essential InnoDB
○ Creating Databases and Users for Applications
○ Managing Users
○ Performing Basic Troubleshooting
○ Learning SQL: Querying Data
○ Learning SQL: Inserting and Modifying Data
Learning SQL: Design Databases○
Database - MySql13.
○ What is Gradle?
○ Why Gradle?Installing and Configuring Gradle○
○ Build Java Project with Gradle
○ Build C++ Project with Gradle
○ Build Python Project with Gradle
○ Dependency Management in Gradle
○ Project Structure in Gradle
○ Gradle Tasks
○ Gradle Profile and Cloud
○ Gradle Properties
○ Gradle Plugins
14. Build Management - Gradle
○
Artifactory Overview
Understanding a role of Artifactory in DevOps System Requirements
ArtifactoryPackage Management - Artifactory & Packer15.
MDE - Course content Page 8
System Requirements Installing Artifactory in Linux Using Artifactory Getting Started General Information Artifactory Terminology Artifactory Repository Types Artifactory Authentication Deploying Artifacts using Maven Download Artifacts using Maven Browsing Artifactory Viewing Packages Searching for Artifacts
Manipulating Artifacts
□ What is Packer?□ Save What is Packer?□ Installing Packer
Save Installing Packer□□ The Packer workflow and components□ Save The Packer workflow and components□ The Packer CLI□ Save The Packer CLI
Getting to Know Packer
□ Select an AWS AMI base□ Save Select an AWS AMI base□ Automate AWS AMI base build□ Save Automate AWS AMI base build□ Using build variables□ Save Using build variables□ Provision Hello World
Save Provision Hello World□□ Provision a basic site□ Save Provision a basic site
Baking a Website Image for EC2
□ Simplify provisioning with a config tool□ Save Simplify provisioning with a config tool□ Use ansible to install the webserver□ Save Use ansible to install the webserver□ Debugging
Save Debugging□
Customization with a Config Management Tool
Use Ansible modules to harden our image□□ Save Use Ansible modules to harden our image□ Baking a Jenkins image□ Save Baking a Jenkins image
Building Hardened Images
□ Validate Packer templatesSave Validate Packer templates□
□ Create a manifest profile□ Save Create a manifest profile□ Testing□ Save Testing□ CI pipeline
Save CI pipeline□
Building a Pipeline for Packer Image
Packer○
Flask - Overview○
Flask - Installign and Configuring○
○ Flask - Understanding EnvironmentFlask - Understanding Application
16. Acceptance Testing - Functional & Regression - HPE UFT
MDE - Course content Page 9
○ Flask - Understanding Application
○ Flask - Understanding Routing
○ Flask - Understanding Variable Rules
○ Flask - Understanding URL Building
○ Flask - Understanding HTTP Methods
○ Flask - Understanding Templates
○ Flask - Understanding Static Files
○ Flask - Understanding Request Object
○ Flask - Understanding Sending Form Data to TemplateFlask - Understanding Cookies○
○ Flask - Understanding Sessions
○ Flask - Understanding Redirect & Errors
What is Selenium?
What are the components of Selenium? Understanding Why selenium is better than other tools?
Advantages and disadvantage of Selenium
○ Introduction To Selenium
What are the basic commands in Selenium?
Commands to open and close a browser
Get CommandsNavigation Commands
Switch CommandsInteracting with WebElement
○ Selenium Hands-On:
Understanding What are Web Elements?
Understanding Types & Techniques of Locators to locate WebElements?
How to customize Xpath to Locate various WebElements? Hands – on example with “NewTours” Web Application to experience Selenium Automation Execution.
What are Web Elements and How to Locate Web Elements?○
Different types of Alerts – Simple, Confirmation and Prompt alert. Handling modal dialog box and pop-ups
Handling various windows using switch window commands
Working with Drag and Drop of an element Understanding how we can handle element in drop down list.
Working with multiple selection of elements from a list of options
Experiencing the Mouse Hovering action.
Experiencing the Keyboard and Mouse actions using the Action and Actions Class.
Hands-On With Various Example On:○
Acceptance Testing - Web applications - Selenium17.
18. Programming Framework - Python - Flask
○ Introduction
○ Fortify Software System Requirements
○ Fortify Static Code Analyzer Installation Guide
○ Analysis Process Overview
○ Translating Java Code
○ Translating .NET Code
○ Translating C and C++ Code
○ Translating JavaScript Code
○ Translating Ruby Code
○ Translating ABAP Code
○ Translating Code for Mobile Platforms
○ Translating Apex and Visualforce Code
○ Translating Flex and ActionScript
○ Translating COBOL Code
○ Translating Other Languages
○ Integrating into a Build
○ Command-Line Interface
○ Command-Line Utilities
○ Troubleshooting
○ Filtering the AnalysisScan Wizard
19. Securing App Runtime (DAST) - AppScan & Fortify Webinspect
MDE - Course content Page 10
○ Scan Wizard
○ Sample Files
○ Configuration Options
○ Fortify Static Code Analyzer Performance Guide
○ Introduction
○ Performance Improvement Tips
○ Scan Quality and Performance
○ Optimizing FPR File
○ Monitoring Long Running Scans
○ Troubleshooting
○ Java API
○ Command Line
○ Apache Ant
○ Apache Maven
○ Jenkins
20. Code Coverage - Jacoco & Coverage.py
Bootstrap - Overview Bootstrap - Environment Setup Bootstrap - Grid System Bootstrap - CSS Overview Bootstrap - Typography Bootstrap - Code Bootstrap - Tables Bootstrap - Forms Bootstrap - Buttons Bootstrap - Images Bootstrap - Helper Classes Bootstrap - Responsive utilities Bootstrap - Thumbnails Bootstrap - Alerts Bootstrap - Progress Bars Bootstrap - Media Object Bootstrap - List Group Bootstrap - Panels Bootstrap - Wells Bootstrap - Tab Plugin Bootstrap - Tooltip Plugin Bootstrap - Popover Plugin Bootstrap - Alert Plugin Bootstrap - Button Plugin Bootstrap - Collapse Plugin Bootstrap - Carousel Plugin
Bootsrap Fundamental ○
Introduction to jQuery Why use jQuery? Getting Started with jQuery Using Content Delivery Networks Using the jQuery ready() Function Getting to Know the jQuery Documentation Using jQuery Selectors Interacting with DOM jQuery Handling Events Working with Ajax features
jQuery Fundamental○
Programming Framework - CSS and JS - Bootsrap & Jquery21.
Introduction
About NGINX NGINX vs Apache Test your knowledge
○ Overview
Server Overview Installing with a Package Manager
○ Installation
22. Webserver - Nginx
MDE - Course content Page 11
Installing with a Package Manager Building Nginx from Source & Adding Modules Adding an NGINX Service Nginx for Windows Test your knowledge
Understanding Configuration Terms Creating a Virtual Host Location blocks Variables Rewrites & Redirects Try Files & Named Locations Logging
Inheritance & Directive types
PHP Processing
Worker ProcessesBuffers & Timeouts
Adding Dynamic Modules Test your knowledge
○ Configuration
Headers & Expires Compressed Responses with gzip FastCGI Cache HTTP2 Server Push
○ Performance
HTTPS (SSL) Rate Limiting Basic Auth Hardening Nginx Test your knowledge Let's Encrypt - SSL Certificates
Security○
Introduction of Configuration Management Understand the problems in Servers config management Finding out the solutions for Servers config management What is Ansible Benefits of Ansible Ansible Vs Chef Vs Puppet
○ Why you are here?
Ansible Architecture How Ansible Works?
○ Lets understand Ansible
Introduction to YAML
Setup Ansible Developement Environment Introduction of Ansible Commands lines Introduction of Ansible Modules
Introduction of Ansible Play
Introduction of Ansible Playbook Introduction of Ansible Configurations Introduction of Ansible Inventory
○ Lets get startted with Ansible
Writing a Play Using Modules Writing a Playbook Writing a Inventory Running a Playbook in Local Server
Running a Playbook in Remote Server
○ Lets start config mgmt using Ansible
Popular Modules in Ansible
23. Configuration & Deployment Management - Ansible
MDE - Course content Page 12
The Setup Module The Command Module The Expect Module The RAW Module The Script Module The Shell Module The File Module The SELinux Module The SEBoolean Module The Copy Module
The Cron Module
The Include Module The Mount Module The User Module The Group Module The Mail Module The Git Module The Apt Module The Yum Module
The Package Module
The Service Module
Popular Modules in Ansible○
○ Deep Dive into Ansible Playbooks
Target Section Variable Section
Task Section
Handler Section Lookups
Outlining Your Playbook○
Handlers in Ansible
Variables in AnsibleRegister in Ansible
Includes vs. Imports in Ansible
Conditions in Ansible Loops in Ansible Blocks in Ansible Files operations in Ansible Templating(Jinja2) in Ansible Basic Error Handling in Playbooks Basic Torubleshooting in Ansibles
○ Understand the facters in Ansible
Using Hosts and Groups Behavioral Inventory Parameters Host Variables Group Variables Groups of Group Groups of Group Variables Splitting Out Host and Group Specific Data
○ Deep Dive into Ansible Inventory
Authentcations in Ansible SSL and Certificates in Ansibles Access and Permission Management
○ Servers Managment in Ansible
Understand Role Directory Structure Using Ansible Roles Ansible Role Duplication and Execution Ansible Role Default Variables Ansible Role Dependencies Embedding Modules and Plugins In Roles Ansible Role Search Path
○ Roles in Ansible
MDE - Course content Page 13
Use cases of Ansible Vault Creating Encrypted Files Editing Encrypted Files Rekeying Encrypted Files Encrypting Unencrypted Files Decrypting Encrypted Files
Viewing Encrypted Files
Using Ansible Vault
○ Ansible Vault
○ Installing InSpec
○ Running InSpec
○
Understanding the profile structure Understand a control's structure Understand a describe block's structure
InSpec profiles
○ InSpec controls and metadata
○ Troubleshooting InSpec
○ Exploring the InSpec Shell
○ Viewing and Analyzing ResultsAutomation Tools○
○ Additional InSpec tricks
Securing infra & compliance - Chef InSpec24.
○ What Is Spring?
○ Architecture and Project Setup
○ Spring Configuration Using Java
○ Spring Scopes and Autowiring
○ Spring Configuration Using XML
○ Advanced Bean Configuration
Programming Framework - Java - Spring framework25.
What is Unit TestingTools for Unit Testing
What is Junit?
How to configure Junit? Writing Basic Junit Test cases
Running Basic Junit Test cases
Junit Test Results
○ Junit Fundamental
What is PyTest?How to configure PyTest?
Writing Basic PyTest Test cases Running Basic PyTest Test cases PyTest Test Results
PyTest Fundamental○
26. Unit Testing - Junit & PyTest
Understanding the Need of Kubernetes○
○ Understanding Kubernetes Architecture
○ Understanding Kubernetes Concepts
○ Kubernetes and Microservices
○
kube-apiserver etcd kube-scheduler
kube-controller-manager
Understanding Kubernetes Masters and its Component
○
kubelet kube-proxy Container Runtime
Understanding Kubernetes Nodes and its Component
○
DNS
Web UI (Dashboard) Container Resource Monitoring Cluster-level Logging
Understanding Kubernetes Addons
Understand Kubernetes Terminology
27. Container Orchestration - Kubernetes
MDE - Course content Page 14
○ Understand Kubernetes Terminology
○ Kubernetes Pod Overview
○ Kubernetes ReplicationContrller Overview
○ Kubernetes Deployment Overview
○ Kubernetes Servcie Overview
Kubernetes in Local machine
Kubernetes in cloud Kubernetes in on-prem datacenter Kubernetes in managed Kubernetes cluster
Understanding Kubernetes running environment options○
○ Setting up Kubernetes cluster using Minikube (Demo)
○ Setting up Kubernetes cluster using Minikube (Lab)Working with first Pods (Demo)○
○ Working with first Pods (Lab)Working with first ReplicationContrller (Demo)○
○ Working with first ReplicationContrller (Lab)
○ Working with first Deployment (Demo)
○ Working with first Deployment (Lab)
○ Working with first Services (Demo)Working with first Services (Lab)○
○
Introduction What's the Scenario? Terraform Components Demo Time!
Deploying Your First Terraform Configuration
○
Introduction Terraform State and Update What's the Scenario? Data Type and Security Groups Demo Time!
Updating Your Configuration with More Resources
○
Introduction What's the Scenario? Terraform Provisioners Terraform Syntax Demo Time!
Configuring Resources After Creation
○
Introduction What's the Scenario? Terraform Providers Terraform Functions Demo: Intro and Variable Demo: Resource Creation Demo: Deployment and Terraform Console Demo: Updated Deployment and Terraform Commands
Adding a New Provider to Your Configuration
28. Infrastructure Coding - Terraform
○ Introducing Helm
○ Architecutre
○ Installing Helm
○ Kubernetes Distro Notes
○ Install FAQ
○ Using Helm
○ Plugins
○ Role-Based Access Control
○ TLS/SSL For Helm And TillerSecuring Helm○
○ Helm Commands
○ Deep Dive into Charts
○ Developing Templates
○ Template Functions And PipelinesFlow Control
29. Kubernetes Package Managment - Helm
MDE - Course content Page 15
○ Flow Control
○ Templates Variables
○ Subcharts And Global Values
○ Debugging TemplatesYAML Techniques○
○ Best Practices
○ IntroductionWhat is Envoy○
○ Architecture overview
○ Life of a Request
○ Deployment types
○ Getting help
○ Getting Started
○ Quick Start to Run Simple ExampleSimple Configuration○
○ Using the Envoy Docker ImageSandboxes○
○ Other use cases
○ Building and installation
○ BuildingReference configurations○
○ Tools
30. Services mesh Data planes - Envoy
○
What Is a Service Mesh? Understanding Istio's Features
Demo: Installing Istio on Kubernetes with Docker Desktop
Examining Istio's Architecture and Running CostsDemo: Running the BookInfo App with Istio
Using a VirtualService to Manage Traffic Demo: Adding Fault Tolerance with Istio
Introducing Istio
Understanding VirtualServices, DestinationRules, and Subsets Demo: A Dark Launch for a New Feature Using Gateways with VirtualServices to Mange External Traffic Demo: A Blue/Green Deployment Configuring Canary Deployments with Traffic Weighting Demo: Canary Deployments with and without Cookies Managing Traffic for Application Health with a Circuit Breaker Demo: Circuit Breaker with Outlier Detection
Managing Service Traffic○
○
Understanding Mutual TLS and Istio Policies Demo: Securing Services with Mutual TLS Using AuthorizationPolicy to Secure Access to Services Demo: Service Authorization with mTLS Applying Policies to Secure End-user Access Demo: End-user Authorization with JWT
Securing Communication with Mutual TLS
Understanding the Telemetry Flow through Istio Demo: Visualizing the Service Mesh Demo: Dashboards for Services and Istio
Capturing OpenTelemetry Headers for Distributed Tracing
Demo: Distributed Tracing Integrating Istio with Your Logging Stack Demo: Logging with Fluentd and Kibana
Observing the Service Network○
○
Considerations for Deploying Istio in Production Demo (Part 1): Configuring and Deploying Istio in Production Demo (Part 2): Deploying BookInfo to Production Migrating Live Applications to Istio Demo: Migrating to Istio with mTLS, Authorization and Ingress Understanding Potential Failure Scenarios Do You Need a Service Mesh?
Running Istio in Production
31. Services mesh Control Planes - Istio
Why Consul?Service Discovery - Consul32.
MDE - Course content Page 16
○
Modern Ops Challenges An Explosion of Services First Class Service Discovery Distributed Failure Detection Reactive Configuration via Key/Value Store Multi Datacenter Aware Is This Course For You? How to Use This Course Lab Setup
Why Consul?
○
Nodes and Services What We Will Set Up Defining the consul-server Node Launching the consul-server Node Network Interfaces on consul-server
Exercise Consul Is Easy to Install
Installing Consul Running the Consul Dev Agent Running Consul Locally to Access the Web UI Interface Web UI
Interface HTTP API
Interface DNS Interface CLI RPC Client vs. Cluster Address Conventions Challenge Spin Up Web and LB nodes
Defining Web and LB Nodes
Running Web and LB Nodes Consul Agent On Web and LB nodes Remote Command Execution Across Cluster Graceful Leave vs. Failure
Monitoring Nodes
○
From Nodes to Services Registering a Web Service Service Definitions Health Checking the Web Service Launching NGINX Consul DNS for Randomized Internal Service Load Balancing
HTTP API and Failing Services
Exercise Register Load Balancer Maintenance Mode Registration Methods
Service Discovery
○
HAProxy
Setup Script for HAProxy
Static HAProxy Config Handling Failed Services
HAProxy Config Template
What Is Consul Template? Installing Consul Template
Consul Template Dry Mode
Dynamically Regenerate HAProxy Config Rolling Updates with Maintenance Mode Other Tools Like Consul Template Benefits Recap and What Next
Dynamic LB Config with consul-template
○
Why? Creating Keys and Folders in the Web UI Key Value CRUD via the CLI Exercise Get KV Data into HAProxy Reactive, Real Time Configuration Files
Revolutionizing Configuration Management
Blocking Queries Tools to Investigate
Reactive Configuration via Key/Value Store
○
Intro
Health Checking
MDE - Course content Page 17
Intro
Terms Agent, Client, and Server Mode Gossip and Edge Triggered Updates
Understanding Serf Health Status
Node and Service Level Check Definitions Custom Node Level Health Checks of Disk, Memory, and CPU Self Healing Nodes Health Checking Is the Value at the Last Transition Health Check Recap Don't Forget to Try This Out Consul Docs Overview
○
What is Continuous Integration Benefits of Continuous Integration What is Continuous Delivery
What is Continuous Deployment
Continuous Integration Tools Jenkins Vs TeamCity Vs Bamboo
Lets understand Continuous Integration
○
History of Jenkins Release of Jenkins Jenkins Vs Jenkins Enterprise
What is Jenkins
○
Prerequisites Installing Jenkins using Yum Installing Jenkins using Apt Installing Jenkins using MSI Installing Jenkins using Tomcat Installing as a Service Starting and Stopping Jenkins
Jenkins Installation
○
Understand Freestyle Project Freestyle General Tab Freestyle Source Code Management Tab Freestyle Build Triggers Tab Freestyle Build Environment Freestyle Build Freestyle Post-build Actions Manage Jenkins My Views Credentials
People
Build History
Jenkins Dashboard Tour
○
Simple Java and Maven Based Application Simple Java and Ant Based Application
Simple Java and Grovy Based Application
Simple DOTNET and MSBuild Based ApplicationSimple C++ using Batch Application
Creating a Simple Job
○
Manually Building Build Trigger based on fixed schedule Build Trigger by script
Build Trigger Based on pushed to git
Jobs Scheduling in Jenkins
Jenkins Jobs parameterised Execute concurrent builds Jobs Executors Build Other Projects Build after other projects are built Throttle Builds
Useful Jobs Configuration○
○
Installing a Plugin Plugin Configuration Updating a Plugin
Jenkins Plugins
33. Continuous Integration - Jenkins
MDE - Course content Page 18
Updating a Plugin Plugin Wiki Top 20 Useful Jenkins Plugins
Using Jenkins Pluginss Best Practices
○
Adding a Linux Node
Adding a Windows Nodes Nodes Management using Jenkins Jenkins Nodes High Availability
Jenkins Node Managment
○
Jira Git SonarQube Maven Junit Chef Puppet Ansible
Docker
AWSJacoco
Coverity
SeleniumGradle
Terraform Packer
Jenkins Integration with other tools
○
Junit Report SonarQube Reports Jacoco Reports Coverity Reports Selenium Reports Test Results Cucumber Reports
Reports in Jenkins
○
Adding a Linux Node Adding a Windows Nodes
Nodes Management using Jenkins
Jenkins Nodes High Availability
Jenkins Node Managment
○
CI Build Pipeline & Dashboard Email Notification Advance Email Notification Slack Notification
Notification & Feedback in Jenkins
○
Security in Jenkins Authorization in Jenkins Authentication in Jenkins Managing folder/subfolder Jenkins Upgrade Jenkins Backup Jenkins Restore Jenkins Command Line
Jenkins Advance - Administrator
○
Vault Concepts and Use Cases Vault Comparison Installing Vault Installing Vault Demo Starting a Dev Server Basic Secret Management Managing Secrets Demo
Introduction
○
Introduction Key Value Secrets Engines Key Value Secrets Lifecycle Demo
Working with Secrets
34. Securing credentials - HashiCorp Vault
MDE - Course content Page 19
Key Value Secrets Lifecycle Demo Scenario and General Secrets Engines Working with Secrets Engines Key Value Secrets Engine Demo Database Secrets Engine MySQL Secrets Engine Demo Dynamic Secrets Dynamic Secrets Demo
○
OverviewAuthentication Methods
Enabling the Userpass Method Logging in with Userpass
Active Directory Authentication
Vault Policies Creating Policies Configuring LDAP Authentication Client Tokens Response Wrapping Using Response Wrapping
Controlling Access in Vault
○
Overview Vault Server Architecture Storage Backend Options Installation Scenario Setting up the Consul Server Installing the Consul Agent Vault Server Configuration Installing Vault Server Server Operations Unseal and Initialize Vault Server Rotating and Updating Keys Managing Root Token
Operating Vault Server
○
Audit Architecture and Device Types Vault Audit Commands Vault Audit Scenario Vault Enabling Auditing Vault Audit Log Review Vault Reviewing Audit Logs
Auditing Actions in Vault
35. Securuing Containers (RASP) - Twistkock
○ What is CNCF Notary
○ Why CNCF Notary?
○ What is The Update Framework (TUF)?
○ Understand the Notary service architecture
○ Brief overview of TUF keys and roles
○ Architecture and components
○ Example client-server-signer interaction
○ Threat model
○ Notary server compromise
○ Notary signer compromise
○ Notary client keys and credentials compromise
○ Run a Notary service
○ Notary configuration files
Securing Kubernetes (RASP) - Notary36.
○
Integrations Infrastructure Host Map Events Dashboards
Getting started
○
Assigning TagsUsing Tags
Datadog Tagging
Agent
37. Infrastructure Monitoring Tool 1 - Datadog
MDE - Course content Page 20
○
Datadog Agent Usage Datadog Agent Docker Datadog Agent Kubernetes Datadog Agent Cluster Agent Datadog Agent Autodiscovery Datadog Agent Log Collection Datadog Agent Proxy
Datadog Agent Versions
Datadog Agent Troubleshooting Datadog Agent Guides Datadog Agent Security
Agent
○
Apache Tomcat nginx MySql Amazon Web Services Redis Azure
Google Cloud
Github Docker Kubernetes Java
PHP
DOTNET
Datadog Integrations
○
Overview
APM metrics : Infrastructure metrics from integrations
Datadog Watchdog
○
Event stream Aggregation Notifications
Datadog Events
○
Dashboards Metrics Notebooks Event Stream Infrastructure From the query to the graph Graphing JSON
Datadog Graphing
○
Screenboards Timeboards Widgets Querying Functions Correlations Template Variables Sharing Graphing with JSON
Datadog Dashboard
○
Infrastructure List Host Map Container Map Live Processes Live Containers Serverless
Datadog Infrastructure
○
Metrics Introduction
Metrics Explorer Metrics Summary Metrics Distributions
Datadog Metrics
○
OverviewDatadog Notebooks
MDE - Course content Page 21
Overview Notebook List
New Notebook
○
Monitors Manage Monitors Monitor Status Check Summary Notifications Downtimes Service Level Objectives Guides
Datadog Alerting
○
Introduction to Prometheus
Prometheus installation Grafana with Prometheus Installation
Introduction
○
Introduction to Monitoring
Client Libraries Pushing Metrics Querying Service Discovery
Exporters
Monitoring
○
Introduction to Alerting Setting up Alerts
Alerting
○
Prometheus Storage Prometheus Security TLS & Authentication on Prometheus Server
Mutual TLS for Prometheus Targets
Internals
○
Monitoring a web application
Calculating Apdex score Cloudwatch Exporter Grafana Provisioning Consul Integration with Prometheus EC2 Auto Discovery
Use Cases
38. Infrastructure Monitoring Tool 2 - Prometheus
What Is Splunk?Overview
Machine Data Splunk Architecture Careers in Splunk Summary
What Is Splunk?○
○
Overview Splunk Licensing Getting Splunk Installing Splunk Adding Data to Splunk Summary
Setting up the Splunk Environment
○
Overview Demo: Adding More Data
Search in Splunk
Demo: Splunk Search Splunk Search Commands Demo: Splunk Processing Langauge Splunk Reports
Basic Searching Techniques
Log Monitoring Tool 1 - Splunk39.
MDE - Course content Page 22
Splunk ReportsDemo: Reporting in Splunk
Splunk Alerts Demo: Alerts in Splunk Summary
○
OverviewForwarders
Enterprise Splunk Architecture Installing Forwarders Demo: Installing Forwarders Demo: Troubleshooting Forwarder Installation Summary
Enterprise Splunk Architecture
○
Overview
Splunk in DevOps DevOps Demo Splunk in Security
Enterprise Use Cases
Summary
Splunking for DevOps and Security
○
Overview What Is Splunkbase? Navigating the Splunkbase Creating Apps for Splunk Benefits of Building in Splunkbase Summary
Application Development in Splunkbase
○
Overview
What Is Hadoop? Demo: Running HDFS Commands What Is Hunk? Demo: Installing Hunk Demo: Moving Data from HDFS to Hunk
Summary
Splunking on Hadoop with Hunk
○
Introduction to Advanced Searching Eval and Fillnull Commands
Other Splunk Command Usage
Filter Those Results! The Search Job Inspector Summary
Composing Advanced Searches
○
Introducing Splunk Visualizations Visualization Data Structures
What Do You Want to See?
Transforming Commands Single Value, Maps, and Gauges Summary
Generating Visualizations Using Commands
○
What Are Search Macros? Using Search Macros within Splunk Macro Command Options and Arguments
Other Advanced Searching within Splunk
Summary
Creating Search Macros
○
Course Review Case Study: Advanced Searching with Splunk Let's Wrap!
Course Summary
○
Introduction to this course
Introduction to Elasticsearch Overview of the Elastic Stack (ELK+) Elastic Stack
Getting Started
Architecture of Elasticsearch
40. Log Monitoring Tool 2 - ELK stake
MDE - Course content Page 23
○
Introduction to this sectionNodes & Clusters
Indices & Documents A word on types Another word on types Sharding 4 questions Replication
6 questions
Keeping replicas synchronized
Searching for data Distributing documents across shards
Architecture of Elasticsearch
○
Running Elasticsearch & Kibana in Elastic Cloud Installing Elasticsearch on Mac/Linux Using the MSI installer on Windows Installing Elasticsearch on Windows Configuring Elasticsearch Installing Kibana on Mac/Linux Installing Kibana on Windows Configuring Kibana Kibana now requires data to be available Introduction to Kibana and dev tools
Installing Elasticsearch & Kibana
Creating an index Adding documents Retrieving documents by ID Replacing documents Updating documents Scripted updates Upserts Deleting documents Deleting indices Batch processing Importing test data with cURL Exploring the cluster
Managing Documents○
Introduction to mapping Dynamic mapping Meta fields Field data types
Adding mappings to existing indices
Changing existing mappingsMapping parameters
Adding multi-fields mappings Defining custom date formats Picking up new fields without dynamic mapping
Mapping○
Introduction to the analysis process A closer look at analyzers
Using the Analyze API
Understanding the inverted index Analyzers Overview of character filters Overview of tokenizers Overview of token filters Overview of built-in analyzers Configuring built-in analyzers and token filters Creating custom analyzers
Using analyzers in mappings
Adding analyzers to existing indices A word on stop words
Analysis & Analyzers○
○
Search methods Searching with the request URI
Introduction to Searching
MDE - Course content Page 24
Searching with the request URI Introducing the Query DSL Understanding query results Understanding relevance scores Debugging unexpected search results Query contexts Full text queries vs term level queries Basics of searching
○
Introduction to term level queries Searching for a term Searching for multiple terms Retrieving documents based on IDs Matching documents with range values Working with relative dates (date math) Matching documents with non-null values Matching based on prefixes Searching with wildcards Searching with regular expressions Term Level Queries
Term Level Queries
○
Introduction to full text queries Flexible matching with the match query Matching phrases
Searching multiple fields
Full Text Queries
Full Text Queries
○
Introduction to compound queries Querying with boolean logic Debugging bool queries with named queries
How the “match” query works
Adding Boolean Logic to Queries
○
What is Application Performance Management? Understanding a need of APM Understanding transaction traces What is Application Performance? APM Benefits APM Selection Criteria Why NewRelic is best for APM?
What is NewRelic APM?
How does NewRelic APM work? NewRelic Architecture NewRelic Terminology
Introduction and Overview of NewRelic
○
Register a Newrelic Trial account Installing a JAVA Agent to Monitor your Java Application Installing a PHP Agent to Monitor your PHP Application Installing New Relic Agent for .NET Framework Application Installing a Docker based Agent to Monitor your Docker based Application Understanding of NewRelic Configration settings of newrelic.yml Understanding of NewRelic Agent Configration settings
Installing and Configuring NewRelic APM Agents for Application
○
Understanding a transactions Understanding Apdex and Calculating and Setting Apdex Threshold Understanding Circuit break Understanding Throughput Newrelic default graphs Understanding and Configuring Service Maps Understanding and Configuring JVM Understanding Error Analytics Understanding Violations Understanding and Configuring Deployments Understanding and Configuring Thread Profiler
Working with NewRelic Dashboard
41. Performance & RUM Monitoring - NewRelic
MDE - Course content Page 25
Understanding and Configuring Thread Profiler Depp Dive into Transaction Traces Profiling with New Relic Creating and managing Alerts Working with Incidents Sending NewRelic Alerts to Slack Assessing the quality of application deployments
○
View your applications index APM Overview page New Relic APM data in Infrastructure Transactions page Databases and slow queries Viewing slow query details External services page Agent-specific UI Viewing the transaction map
Monitoring using Newrelic
○
Newrelic transaction alerts Configure abnd Troubleshoot and Cross Application Traces NewRelic Service Level Agreements Troubleshooting NewRelic Understanding and Configuring NewRelic X-Ray Sessions
Deep Dive into NewRelic Agent Configuration
Adding Custom Data with the APM Agent Extending Newrelic using Plugins Finding and Fixing Application Performance Issues with New Relic APM Setting up database montioring using Newrelic APM Setting up and Configuring Newrelic Alerts
Deep Dive into Newrelic Advance
Availability report Background jobs analysis report Capacity analysis report Database analysis report
Host usage report
Scalability analysis report Web transactions analysis report Weekly performance report
Working with NewRelic Performance Reports○
42. Emergency Response & Alerting & Chat - Pagerduty & Slack
○
Provide an overview of Splunk for Enterprise Security (ES) Identify the differences between traditional security threats and new adaptive threats Describe correlation searches, data models and notable events Describe user roles in ES Log on to ES
Module 1 Getting Started with ES
○
Use the Security Posture dashboard to monitor enterprise security statusUse the Incident Review dashboard to investigate notable events
Take ownership of an incident and move it through the investigation workflow Use adaptive response actions during incident investigation Create notable events Suppress notable events
Module 2 Security Monitoring and Incident Investigation
○
Use ES investigation timelines to manage, visualize and coordinate incident investigations Use timelines and journals to document breach analysis and mitigation efforts
Module 3 – Investigations
○
Investigate access domain events Investigate endpoint domain events Investigate network domain events Investigate identity domain events
Module 4 – Forensic Investigation with ES
Module 5 – Risk and Network Analysis
Security Through Logs 1 - Splunk SIEM43.
MDE - Course content Page 26
○
Understand and use Risk Analysis Use the Risk Analysis dashboard Manage risk scores for objects or users
Module 5 – Risk and Network Analysis
○
Use HTTP Category Analysis, HTTP User Agent Analysis, New Domain Analysis, and Traffic Size Analysis to spot new threats Filter and highlight events
Module 6 – Web Intelligence
○
Evaluate the level of insider threat with the user activity and access anomaly dashboards Understand asset and identity concepts Use the Asset Investigator to analyze events Use the Identity Investigator to analyze events Use the session center for identity resolution (UBA integration)
Module 7 – User Intelligence
○
Use the Threat Activity dashboard to analyze traffic to or from known malicious sites
Inspect the status of your threat intelligence content with the threat artifact dashboard
Module 8 – Threat Intelligence
○
Describe Stream events data is input into Splunk events Use ES predictive analytics to make forecasts and view trends
Module 9 Protocol Intelligence
○
Build glass tables to display security status information Add glass table drilldown options Create new key indicators for metrics on glass tables
Module 10 – Glass Tables
Security Through Logs 2 - Elasticsearch with Kibana Security44.
○
Course Overview. User Security and Identity and Access Management. Creating and Managing IAM Users1. IAM Groups and Best Practices. Assigning Policies to Users and Groups. When to Use Roles Instead of Users. Auditing User Account Access. Federating Multiple AWS Accounts. Federating with External Identity Providers
Managing AWS Security and Identity
○ AWS Security Operations: Securing Core AWS Infrastructure Services
Securing Core Infrastructure Services. Identity and Access Management.
Defining Security Controls.
Controlling Root Account Security. Managing Multiple Accounts. IAM Users and Security Controls. Defining IAM Policy for the User.
Controlling Access to Resources.
Access Keys and Passwords. Security Tools. IAM Groups. IAM Policies: The Basics. IAM Policy Types. Delegation and Federation. Best Practices for Planning Access Control
Managing Access Control○
○
Amazon Machine Instances. AMI Storage Choices and Key Pairs. EC2 Security Options. Interfaces and Addresses. Network Interfaces and Addresses. Dedicated Instances and Hosts. Securing EBS Volumes. EBS Volume and Snapshot Security.
Securing EC2 Infrastructure.
45. Cloud Security service & Practices - AWS Security service
MDE - Course content Page 27
EBS Volume and Snapshot Security. VPC Architecture.
VPC Setup Options.
VPC Security: Part A.
VPC Security and Connectivity: Part B. VPC Security Considerations. Best Practices
○
Securing Access to Edge Locations. Elastic Load Balancing. (Classic) Load Balancer. Elastic Load Balancer Operation.
Classic ELB Security Features.
Application Load Balancer. Elastic Load Balancer Setup. Route 53. AWS Web Application Firewall.
Configuring the Web Application Firewall.
Best Practices for Securing Access
Securing Access to Edge Locations.
○ Auditing AWS Environments for Security and Best Practices
○
Cloud Security Baseline. Cloud Security Baseline. The C.I.A. Triad. The IAS Octave.
AWS Security Goals.
Defining Security Requirements. Compliance Standards and Definitions. Access Contro. Data Security.
Network Security.
The Shared Security Mode. Shared Security Responsibilities. AWS Security by Design. The AWS Security Model. The AWS Security Model. AWS Infrastructure Design. Regions and Zones. Edge Locations.
Security of the Cloud: Deep Dive.
Security and Compliance Controls. Core AWS Services. Hosted AWS Security Tools.
Security and Identity Tools.
Re-confirming the Shared Security Model. Best Practices: Planning a Security Model. Wired Brain Coffee: Revised Design. AWS Governance and Compliance Frameworks. Governance and Compliance Frameworks. Governance Frameworks. AWS Governance Features. Creating Your Governance Structure. Risk and Compliance Standards. The AWS Compliance Model. AWS Resource Management.
AWS Security Management.
AWS Performance Management. Best Practices: Creating a Compliance Model
AWS Security Operations: Designing for Acceptable Risk and Compliance
○
Installing on Ubuntu / Debian
Installing on Centos / Redhat Installing on Windows Installing on Mac Installing using Docker Building from source
Installation46. Monitoring Dashboard Tool - Grafana
MDE - Course content Page 28
Building from source Upgrading
○
Configuration Authentication Permissions Grafana CLI Internal metrics Provisioning Troubleshooting
Administration
○
Getting Started
Basic Concepts
Screencasts
Getting Started
○
Panels
Dashboard Features
Data Sources Explore Alerting Plugins HTTP API
Features
○
Running Grafana behind a reverse proxy API Tutorial: How To Create API Tokens And Dashboards For A Specific Organization Grafana with IIS Reverse Proxy on Windows How To integrate Hubot and Grafana Setup Grafana for High
Tutorials
www.devopsschool.com | [email protected] | +91 700 483 5930
MDE - Course content Page 29