DevOps with AWS & Python Scripting

Follow us on

DevOps

  • Business Perspective
  • IT Perspective
  • Developer Perspective
  • Tester Perspective
  • Operations Perspective

What is DevOps

  • Definition
  • Stakeholders of DevOps
  • What is SDLC
  • Phases of SDLC
  • Role Of Dev in SDLC
  • Role of Ops in SDLC

What is Agile and Scrum

  • Agile Development Process
  • Agile Manifesto
  • Agile Scrum Work Flow
  • Agile Analysis Estimation Techniques
  • Types of Roles and Responsibilities 
  • Problem That DevOps Solves
  • Making a DevOps Transition
  • Introduction to DevOps Automation

DevOps Life Cycle

  • Introduction
  • Tools
  • DevOps Technology Categories
  • Collaboration
  • Planning
  • Issue Tracking
  • Monitoring
  • Configuration Management
  • Source Control
  • Dev Environments
  • Continuous Integration
  • Continuous Testing
  • Continuous Deployment

Linux

  • Linux Overview
  • What is the Operating system
  • What is Unix, Linux
  • Unix vs Linux
  • Linux vs Windows
  • Linux market trends
  • Linux flavors
  • Linux Architecture
  • What are shell kernel command-line utilities
  • Linux Boot process
  • Linux commands
  • Linux admin-level commands
  • Reading files
  • Redirection operators
  • User management
  • Group management
  • File system management
  • Linux volume manager hands-on
  • Linux installation using iso
  • Directory structure
  • Editors
  • VMware overview

Shell Scripting

  • Shell history and introduction
  • Types of shells
  • Shebang line in a shell
  • Command-line arguments
  • Variables
  • Types of Operators
  • Loops
  • Case statement
  • Functions
  • grep
  • Awk
  • Sed
  • Adv. Script Programs

GIT

  • Introduction
  • What is a Version Control System (VCS)? Distributed Vs non-distributed VCS
  • What is Git and where did it come from?`
  • Alternatives to Git
  • Installation and Configuration
  • Obtaining Git Installing Git
  • Common configuration options GUI tools
  • Key Terminology
  • Clone Working Tree Checkout Staging area Add
  • Commit Push-Pull Stash
  • Git – Local Repository Actions Creating a repository (git init) Checking status (git status)
  • Adding files to a repository (git add) Committing files (git commit) Removing staged files (git reset) Removing committed files (git rm) Checking logs (git log)
  • Git – Remote Repository Actions Creating a remote repository (git init) Cloning repositories (git clone)
  • Updating the remote repository from the local (git push) Updating the local repository from the remote (git pull)
  • Tagging in Git What is Git Tags? Listing tags Lightweight tags
  • Displaying tag details (tag show) Annotated tags
  • Checking out tags Pushing tags Pulling tags
  • Branching in Git
  • What is a branch
  • A note about <HEAD> Listing branches Create new branch Checkout branch Pushing branches Pulling branches Merging in Git
  • Fetching Changes (git fetch) Rebasing (git rebase)
  • Git Pull
  • Git Workflows Different ways of using Git Centralized
  • Feature Branch Gitflow Workflow Forking Workflow
  • Creating a branch from a Stash Advanced Repository Actions Removing untracked files (git clean) Remove staged changes (git reset) Revert a commit (git revert)
  • Check out a previous commit (git checkout)
  • Advanced Branching & Merging
  • Deleting a Branch Fast forward merge Three-way merge

MAVEN (Build Tool)

  • Issues before in the manual process of the build process
  • Automated build process
  • Introduction
  • Maven Structure and Installation
  • Maven Dependencies
  • Maven Repositories 
  • Maven Plug-ins
  • Maven Configuration
  • Integration with SCM tools
  • Maven Project

Continuous Integration Tool

 Jenkins

  • Introduction
  • How to install and configure Jenkins
  • How to achieve Continuous Integration with Jenkins
  • Jenkins Jobs
  • How to schedule jobs in Jenkins
  • How to integrate Jenkins with Ant
  • How to integrate Jenkins with Maven
  • How to integrate Jenkins with Slack
  • How to integrate Jenkins with Shell scripts
  • How to integrate Jenkins with Python scripts
  • Jenkins dashboard
  • Jenkins authentication
  • Jenkins plugins – how to download and use
  • Parameterizing the build
  • One-click regression
  • Overview of Continuous Integration (CI)
  • What does it mean by Continuous Integration? Fundamental of CI
  • How CI helps to Agile Development History of Jenkins
  • Where Jenkins Fit in Organization Overview of Jenkins community
  • Setup and Running Jenkins
  • Prerequisites
  • Preparing Environment Installing Git
  • Setup Account
  • Install Jenkins on Ubuntu / Windows Configuring a Node
  • Running Jenkins as Stand-Alone/ Apache Server Backup Jenkins data
  • Configuring Jenkins server
  • Configure Dashboard Configure System Environment Global Properties
  • Configure Build Tools Configure Proxy
  • Working with Jenkins Build Job
  • Create and Configure a job Run a job manually Triggering a Build Scheduled Build job Manual Build job
  • Polling SCM
  • Maven and ANT Build Step Execute a Shell
  • Post-Build Actions Archiving Build Results Notifications
  • Working with Automate Testing
  • Advanced Jenkins
  • Working with Maven Build Monitoring External jobs Distributed builds
  • File fingerprint tracking Parameterized Build Job Parameterized Trigger
  • Automated Deployment and Continuous Delivery
  • Jenkins Plugins
  • Change reporting Code coverage Static Analysis
  • Performance reporting Style checking
  • Secure and Notification in Jenkins
  • Overview of Notification Email Notification
  • Other Notification
  • Best Practices on Jenkins

Configuration Management Tools

CHEF

  • What is Chef
  • Common Chef Terminology
  • Chef Server
  • Chef Workstation
  • Chef-Repo
  • Chef-Client
  • Server and Nodes
  • Chef Configuration Concepts
  • Chef Architecture

Building Web Server Cookbook

  • Getting Setup
  • Starting the Apache Recipe
  • Create a user in chef nodes using a cookbook
  • Adding Platform Support to the Cookbook
  • Adding Local Chef-Repo to Github
  • Install and configure Chef Reporting

Node Object and Search

  • What is Node Object
  • Search Concepts
  • Searching Node Attributes with Knife

Data-Bags

  • What is Data Bags?
  • Creating user and Sudo Group Data Bags
  • Building a recipe to deploy local user accounts From Data Bags

Chef Environments

  • What are Environments and why do they matter
  • Creating & Configuring Environments
  • Deploying to Different Environments
  • Viewing and Environments with Knife

Roles

  • What are Roles
  • Creating A web server Role
  • Creating Db Server Role
  • Creating a Base Role

Deploying Nodes In Production

  • Unattended Node Bootstrapping

Architecture and Process Flow

  • Architecture Introduction
  • System Requirement
  • Components Overview
  • Process of Execution &flow
  • Conclusion  

Terraform

  • Introduction to Terraform
  • Terraform Fundamentals
  • Terraform Configuration Basics

Terraform Modules

  • Introduction
  • Terraform Scripting
  • Terraform stacks
  • Terraform State Files
  • Setup Module

Vagrant

Introduction

  • What is Vagrant
  • Virtualization Overview

Setting Up Vagrant

  • Virtual Box Installation
  • Vagrant Installation
  • Vagrant without Virtual Box

Using Vagrant

  • Vagrant Machine
  • Vagrant Files
  • Boxes
  • Running Vagrant Machines
  • SSH to Vagrant Machine
  • Synced Folders
  • Networking Basics
  • Environment Management

Boxes

  • Vagrant Boxes
  • Basic Box Management
  • Creating Boxes from the existing environment
  • Creating custom boxes

DOCKER  (Containerization Tool)

Introduction

  • Installing Docker on Windows
  • Installing Docker on Linux

Working with Containers

  • What is container
  • docker run command
  • Theory of pulling and Running Containers
  • Working with images
  • Docker Files
  • Container Life cycle

Docker Swarm Mode 

  • Swarm Mode Theory
  • Configuring Swarm Mode
  • Services
  • Scaling Services
  • Rolling Updates      

KUBERNETES                   

  • What is Kubernetes
  • Purpose of Kubernetes for microservices
  • How Kubernetes works
  • Master components, how works
  • Node Components, how works
  • How pods works
  • Installations and configuration Kubernetes cluster
  • Pod lifecycle
  • Work with pods
  • Work Services
  • Work Deployment

Amazon Web Services (AWS)

Introduction to Cloud Computing

  • What is Cloud
  • Why Cloud?
  • Types of Cloud Deployment Models
  • Types of Cloud Services
  • Future of Cloud Technologies
  • Advantages and Disadvantages of Cloud

Introduction to Amazon Web Services (AWS)

  • What is AWS?
  • How to Subscribe to an AWS account
  • What is the AWS Free Usage Tier
  • AWS Certification
  • Introduction to the AWS Management Console
  • List of services given by AWS

Elastic Compute Cloud (EC2)

  • What is Amazon EC2?
  • Features of Amazon EC2
  • Managing the EC2 infrastructure
  • EC2 Dashboard
  • Pricing for Amazon EC2

Regions and Availability Zone Concepts

  • Describing Regions
  • Availability Zones, and Endpoints
  • Managing instances in an Availability Zone

Amazon Machine Images (AMI)

  • Managing AMIs
  • Working with Windows, Linux AMIs
  • Shared and Paid AMI
  • Making an AMI Public

EC2 Instances

  • Instance Type
  • Instance life cycle
  • Differences between reboot, stop and terminate
  • Building an EC2 Windows and Linux instances
  • To install instances in public and private subnet
  • Security via Key Pairs
  • EC2 Class and VPC Security Groups
  • Managing Elastic IP’s
  • A pricing model in EC2 instances
  • EC2 with Amazon command-line interface

Amazon Elastic Block Store (EBS)

  • Features of Amazon EBS
  • Amazon EBS volumes
  • Managing EBS volumes
  • Increasing the volume size
  • AmazonEBS snapshots

Load Balancing (ELB)

  • Creating a load balancer
  • Internal and external load balancer
  • Load balancing protocols
  • Security groups for the load balancer
  • Health check for the load balancer
  • Cross-zone load balancing
  • Connection Draining

Auto Scaling

  • What is auto-scaling?
  • Auto-scaling components

Advantages of auto-scaling

  • Creation of launch configuration
  • Configuration of auto-scaling policies
  • Advantages of using auto-scaling with ELB

Network & Security

  • Security Groups
  • Elastic IPs
  • Placement Groups
  • Key Pairs
  • Network Interfaces

Networking Services

Amazon Virtual Private Cloud (VPC)

  • What is Amazon VPC?
  • VPC Essentials
  • Default and Nondefault VPC
  • VPC Networking and ACL
  • Security Groups
  • DNS and DHCP Options Sets
  • VPC Peering and Endpoints
  • Subnet Routing
  • VPC Internet Gateway
  • Elastic IP addresses and network interfaces
  • VPC integration with many other AWS services
  • Creating a NAT instance in a VPC
  • Configuring a Web application in VPC
  • Pricing for Amazon VPC

Amazon Route 53

  • Route 53 as your DNS service
  • Using Traffic Flow
  • Route 53 Health Checks
  • Configuring DNS Failover
  • Latency Based Routing
  • Weighted Routing Policies
  • Hosting web portal using Route53
  • Bucket Policies

Security & Identity Services

Identity Access Management (IAM)

  • IAM Features
  • Getting Started With IAM
  • Creation of users, groups, roles
  • Managing & Writing policies
  • Credential Report
  • IAM Console and the Sign-in Page

Storage & Content Delivery Services

Amazon S3

  • What is Object Storage?
  • Data as objects
  • Lifecycles of S3
  • Managing Buckets
  • Accessing S3 storage via tools
  • Creation of a static website using S3 storage

Database Services

Relational Database Service (RDS)

  • RDS Essentials
  • Launching RDS instance
  • Selecting the Engine
  • Configuring the Database Engine
  • Managing RDS Database
  • Setting up automatic backups
  • Authorizing access to the DB

Amazon CloudWatch

  • Amazon CloudWatch Architecture
  • List of services monitored by CloudWatch
  • Collect and track metrics
  • Monitoring memory and disk Metrics
  • Monitoring logs, Graphs
  • Set Alarms

Cloud Formation

  • Building AWS infrastructure as a code
  • Design a template
  • Create a Stack
  • Create a Template from your Existing Resources
  • Introduction to JSON

Application Services

Amazon Simple Email Service (SES)

  • Simple email service overview
  • Configuring Amazon email service
  • Amazon SES and Deliverability
  • Amazon SES Email-Sending Process
  • Email format and Limits of SES

Elastic Cache

  • Redis Cache Introduction
  • Redis Cache Configuration
  • MEM Cache Introduction
  • MEM Cache Configuration

Amazon Simple Notification Service (SNS)

  • Simple Notification Service overview
  • SNS architecture
  • Publishers and subscribers
  • Creation of a topic
  • Subscribing to the topic via Email
  • Setting notification for EC2 instance changes

Python Scripting

Introduction

  • What is Scripting Language
  • Scripting Language vs Programming Language
  • Features of Python
  • Python Versions
  • Installing Python
  • Executing Python from the Command line
  • IDLE
  • Editing Python Files
  • Running Python Scripting Windows/Unix/Linux
  • Python Documentation
  • Getting Help
  • Setting up path

Basic Python Syntax

  • Basic Syntax
  • Comments
  • Python Reserved Words
  • Naming Conventions
  • Print Function
  • Variable and Data Types
  • Type (), id() Functions

String Manipulations

  • Accessing Strings
  • Basic Operations
  • String Indexing and Slicing
  • Conversion Functions

Operators

  • Arithmetic Operators
  • Relational Operators
  • Logical Operators
  • Assignment Operators
  • Short Hand Assignment Operators
  • Bitwise Operators
  • Identity Operators

Input Functions

  • input() Function
  • raw_input() Function

Conditional Statements

  • Simple if
  • If … else
  • Nested if else
  • If … elif …
  • Single line if statement

Looping Statements

  • While loop
  • While … else
  • Infinite loop
  • While … Pass
  • For loop
  • Nested loops

Control Statements

  • Break
  • Continue
  • Pass

Collections

  •       List
    • Introduction
    • Accessing list
    • Operations
    • Working with lists
    • Nested list
    • Functions and Methods
    • List comprehension
    • Iterators

Tuples

  • Introduction
  • Accessing tuples
  • Operations
  • Functions and Methods

Sets

  • Introduction
  • Accessing values
  • Working with sets
  • Functions and methods
  • Set comprehension

Dictionaries

  • Introduction
  • Accessing values
  • Working with dictionaries
  • Functions and methods
  • Dictionary comprehension

Functions

  • Defining function
  • Calling function
  • Function documentation String
  • Types of Parameters
    • Functions without parameters
    • Functions with positional parameters
    • Function with named parameters
    • Function with default parameters
    • Function with variable length parameters
  • Return statement
  • Call by value
  • Call by Reference
  • Scope of variables
    • Global variables
    • Local variables
  • Passing collections to a function
  • Passing functions to function
  • Lambda() function
  • Map() function
  • Filter Function
  • Reduce() Function
  • Iterators
  • Generators
  • Clusures
  • Yield statement
  • Decorators

Modules

  • Usage of modules
  • Creating user-defined module
  • Setting path
  • Importing module
  • From import
  • Creating alias name
  • dir() function
  • main() function

Packages

  • Creating a package
  • Creating sub-packages
  • Usage of __init __.py file
  • Importing Packages
  • Setting path

Standard Modules

  • Math
  • Random
  • Data and Time
  • OS and sys
  • String
  • Glob

File Handling

  • What is file
  • Opening files
  • Closing files
  • Access modes
  • Writing data to files
  • Reading data from files
  • Tell(), seek() functions
  • File methods

Working directories


Follow us on