DevOps
DevOps is a collaborative union of Development and Operations processes in an enterprise. DevOps is an advanced version of Build & Release processes. DevOps makes building, testing and release of a software measurably faster through automation which makes DevOps an important process in the market.
Prerequisties
- None
Duration
Online
- The format is 40% theory, 60% Hands-on.
- It is a 60 days program and extends up to 2 hrs each.
Corporate
- The format is 40% theory, 60% Hands-on.
- It is a 15 days program and extends up to 8 hrs each.
Classroom
- Private Classroom arranged on request and minimum attendees for batch is 5.
Course Content
LINUX Basics:
- Linux File system structure
- Basic linux/unix commands
- Changing file permissions and ownership
- Types of links soft and hard link
- Filter commands
- Simple filter and advance filter commands
- Start and stop services
- Find and kill the process with id and name
- Package installation using RPM and YUM
Introduction to Devops
- Why Devops?
- Devops Tools
Introduction to Cloud computing
- What is cloud computing
- Characteristics of cloud computing
- Cloud implementation models
- Cloud service models
- Advantages of cloud computing
- Concerns of cloud computing
GIT: Version Control
- Introduction
- What is Git
- About Version Control System and Types
- Difference between CVCS and DVCS
- A short history of GIT
- GIT Basics
- GIT Command Line
- Installing Git
- Installing on Linux
- Installing on Windows
- Initial setup
- Git Essentials
- Creating repository
- Cloning, check-in and committing
- Fetch pull and remote
- Branching
- Creating the Branches, switching the branches, merging the
Chef for configuration management
- Overview of Chef
- Common Chef Terminology (Server,
- Workstation, Client, Repository )
- Servers and Nodes
- Chef Configuration Concepts
- Workstation Setup
- How to configure knife
- Execute some commands to test connection between knife and workstation
- Organization Setup
- Create organization
- Add yourself and node to organization
- Test Node Setup
- Create a server and add to organization
- Check node details using knife
- Node Objects and Search
- How to Add Run list to Node
- Check node Details
- Environments
- How to create Environments
- Add servers to environments
- Roles
- Create roles
- Add Roles to organization
- Attributes
- Understanding of Attributes
- Creating Custom Attributes
- Defining in Cookbooks
- Data bags
- Understanding the data bags
- Creating and managing the data bags
- Creating the data bags using CLI and Chef Console
- Sample data bags for Creating
AWS:
- Creating AWS account
- Free tier Eligible services
- Understanding AWS Regions and availability zones
- EC2 ( Elastic Cloud Compute)
- About EC2 and types , Pricing
- EIP ( Elastic IP address), Allocating, associating , releasing
- Launch windows and Linux Instances in AWS
- Connecting windows and Linux instances from windows desktop and Linux machines
- VPC (Virtual Private Cloud)
- Networks Design, Subnets Design
- Different kinds of subnets, Gateways
- Creation of VPC, Subnets, Route tables, Network ACLs, Internet Gateways, Nat Gateways, VPC Peering Connections, Security Groups
- Visualize and monitor VPC Traffic enabling VPC Flow logs
- S3 ( Simple Storage Service)
- About AWS Storage services, EBS and S3
- Creating S3 Buckets and putting objects in bucket
- Discussion about Bucket Properties and object policies
- S3 Pricing
- About S3 glacier
- EBS ( Elastic Block Storage)
- Types of EBS Volumes
- Creation, attaching and Detaching volumes
- Extending the size of existing ebs volumes
- Load Balancing
- Understanding the load balancing
- Configuring ELB and adding the webservers under ELB
- Understand and implement Elastic load balancer, Application load balancer, Network level load balancer and also the differences between them
- Auto Scaling
- Types of Scaling ( Horizontal and Vertical)
- Configuring Launch Configuration
- Creating and defining the auto scaling group policy
- Serverless (Lambda)
- Understanding the concept of server less
- Creating the functions in lamba
- Container Services
- Understanding the containers
- Creating an EKS Cluster and deploy applications and understanding the various container terminologies
- Container monitoring and logging
- IAM ( Identity Access Management)
- Understanding of AWS Security using IAM
- Definition of Roles, policies and Groups
- Creating IAM Users and managing password policies
- RDS ( Relational Database server)
- About RDS and available RDS Engines in AWS
- Configuring MYSQL RDS service
- Connecting EC2 Instance to RDS Instance
Puppet for configuration management
- What is Puppet?
- How puppet works
- Puppet Architecture
- Master and Agents
- Puppet terminology and about Manifests
- Installation and Configuration
- Installing Puppet
- Configuring Puppet Master and Agent
- Connecting Agents
- Puppet Master
- Puppet configuration files
- Puppet Language Basics
- The declarative language
- Resources
- Using Basic resources like file,exec,package service
- Resource Collectors
- Virtual Resources
- Exported Resources
- Manifests
- Modules and Classes
- Class Parameters
- Defined Type
- Templates
- Static Contents Explosion
- Using Dynamic Content with Templates
- Templates Overview
- ERB
- Example Code Manifests/Modules
- NTP Module
- Users Module
- SSH
- Sudo
- Puppet Forge
- Understanding the Puppet Forge
- Module structure
- Install LAMP with preexisting modules
- Installing Apache Tomcat with Puppet Modules
Jenkins – Continuous Integration
- Understanding continuous integration
- Introduction about Jenkins
- Build Cycle
- Jenkins Architecture
- Exploring Jenkins Dashboard Jobs
- Creating Jobs
- Running the Jobs
- Setting up the global environments for Jobs
- Adding and updating Plugins
- Disabling and deleting jobs
- Build Deployments
- Understanding
- Tomcat installation and configuration
- Securing Jenkins
- Authentication
- Jenkins Plugin
- Authorization
- Confidentiality
- Creating users
- Best Practices for Jenkins
- DSL Scripting
- Writing the DSL scripts for Jenkins job creation
Docker– Containers.
- Introduction
- What is a Docker
- Use case of Docker
- Platforms for Docker
- Dockers vs. Virtualization
- Architecture
- Docker
- Understanding the Docker components
- Installation
- Installing Docker on
- Understanding Installation of Docker on
- Some Docker
- Provisioning
- Docker
- Downloading Docker
- Uploading the images in Docker Registry and AWS ECS
- Understanding the containers
- Running commands in
- Running multiple
- Custom images
- Creating a custom
- Running a container from the custom
- Publishing the custom
- Docker Networking
- Accessing containers
- Linking containers
- Exposing container ports
- Container Routing
- Docker Compose
- Installing The Docker compose
- Terminology in Docker compose
- Build word press site using Docker compose
Kuberentes
- Introduction
- Why and what is Kubernetes
- Kuberentes Architecture and working
- Installation and Configuration
- Installing the Kubernetes on aws using kops
- Understanding Kubernetes Terminology
- Deployments, Services, Daemon sets, Replica sets, Stateful sets
- Config maps, secrets
- Ingress Controllers
- Service accounts, Role, Cluster role, Role binding, Cluster role binding
- Helm charts
- Node Auto scalers, Pod auto scalers
- Pdb’s , node selectors, taints
- Application and database Running on kubernetes
- Deploy applications in kubernetes
- Deploy databases in kuberentes
NEW RELIC
- Introduction
- About Monitoring tools
- About New Relic
- Installing and Configuring New Relic
- Application Monitoring using New Relic
- Server Monitoring using New Relic
- Alerts policies
ELK
- Introduction
- What is ELK?
- ELK Installation
- ElasticSearch
- Logstash
- Configuring Logstashand Kibana