Career Plan - DevOps Engineer

DevOps is a series of practices and processes that are intended to speed up and automate aspects of the processes of developing, testing, and releasing software, allowing for the continuous delivery of software and software updates. Whereas previously software would be developed by developers and then passed onto testers to test and go back and forth between them, DevOps practices aim to simplify this by integrating these previously separate teams. DevOps engineers are responsible for facilitating this.

The role of a DevOps engineer combines aspects of a technical role and an IT operations role. While engineers are likely to be involved with coding, and a knowledge of coding languages and principles is required to find problems and build solutions, this is not the primary role of a DevOps engineer. More senior engineers are likely to be more involved in the project management and planning side of development.

Key skills of DevOps Engineer

1. Excellent team working and communication skills
2. Knowledge of programming languages and scripting
3. Good attention to detail
4. Excellent organizational & time management skills, the ability to work on multiple projects at the same time
5. Awareness of DevOps and Agile principles.

A DevOps Engineer is responsible for developing

1. Building and setting up new development tools and infrastructure
2. Understanding the needs of stakeholders and conveying this to developers
3. Working on ways to automate and improve development and release processes
4. Testing and examining code written by others and analyzing results
5. Ensuring that systems are safe and secure against cybersecurity threats
6. dentifying technical problems and developing software updates & ‘fixes’
7. Working with software developers and software engineers to ensure that development follows established processes and works as intended
8. Planning out projects and being involved in project management decisions.

DevOps Engineer Responsibilities(Job Description)

1. Develop & apply CI/CD approach and tools
2. Write infrastructure code and automation
3. Using the DevOps approach collaborate with developers, build & operate critical, highly loaded systems
4. Support and operate highly available systems
5. Monitoring and support for servers and clients
6. Maintenance, support, and monitoring of distributed environments
7. Working on different types of remote projects. That covers different types of tasks

DevOps Engineer Requirements

1. Experience in cloud architectures design and deployment on AWS
2. Deep understanding of CI/CD (Jenkins/Gitlab/etc.) and project life-cycle principles
3. Experience with Docker or/and Kubernetes
4. Experience with MySQL Percona, Sonarqube, Bamboo
5. Experience in using auto-configuration systems: Chef, Ansible
6. Good knowledge of Scripting: Bash/Ruby/Python/Powershell

DevOps Engineer Nice to have

Linux, Git, Cloud Computing(at least AWS deep understanding), MySQL Percona, Bamboo, Ansible, Tomcat, Apache, Scripting skills (Bash, Python), Azure DevOps, Any knowledge related to Salesforce/Adobe Experience Manager/Drupal will be added advantage.

Interview Questions of DevOps Engineer

1.Explain DevOps Process?
2.How DevOps different from Agile process?
3.what are the tools used in DevOps?
4.Explain different phases of DevOps?
5.Benefits of DevOps?
6.How do approach to install DevOps?
7.What is the difference between continuous delivery and continuous deployment?
8.What is the role of configuration management in DevOps?
9.How does continuous monitoring help you maintain the entire architecture of the system?
10.What are the benefits of using version control?
11. Explain the difference between a centralized and distributed version control system (VCS)
12.What is the git command that downloads any repository from GitHub to your computer?
13.How do you push a file from your local system to the GitHub repository using Git?
14.Explain the difference between git fetch and git pull.
15.What is Git stash?
16. Explain the concept of branching in Git.
17.What is the difference between Git Merge and Git Rebase?
18.What is a merge conflict in Git, and how can it be resolved?
19.Explain the master-slave architecture of Jenkins.
20.Which of the following commands runs Jenkins from the command line?
21.What concepts are key aspects of the Jenkins pipeline?
22.How do you create a backup and copy files in Jenkins?
23.What are the ways in which a build can be scheduled/run in Jenkins?
24.Why are SSL certificates?
25.Which of these commands would you use to stop or disable the 'httpd' service when the system boots?
26.What is an Ansible role?
27.Explain the architecture of Docker.
28.What are the advantages of Docker over virtual machines?
29.What is a Dockerfile used for?
30.Explain the differences between Docker images and Docker containers.
31.How do you create a Docker container?
32.What is Kubernetes?
33.What are K8s?
34.How are Kubernetes and Docker related?
35.What are the main differences between the Docker Swarm and Kubernetes?
36.What are the features of Kubernetes?
37.What is a pod in Kubernetes?
38.What is a cluster of containers in Kubernetes?
39.What is ‘Heapster’ in Kubernetes?
40.What are the different services within Kubernetes?
41.What is Kubelet?
42.What do you mean by Linux? Explain its features
43.What are basic elements or components of Linux?
44.What is Kernel? Explain its functions.
45.What is Linux Shell? What types of Shells are there in Linux?
46.How Do I Manage Passwords On Red Hat Enterprise Linux, Centos, And Fedora Core?

DevOps Engineer Syllabus

Modules Topics
Module 00 Linux Basic(Pre-Requiste)
Linux OS Introduction
Importance of Linux in Devops
Shell scripting -variables, loops, functions, maniputlating strings
Reading and Writing files
Importance of Linux in Devops
Module 01 Introduction to DevOps
What is Software Development?
Software Development Life Cycle
Traditional Models for SDLC
Why DevOps?
What is DevOps?
DevOps Lifecycle
DevOps Tools
Module 02 Version Control with Git
What is Version Control?
Types of Version Control System
Introduction to SVN
Introduction to Git
Git Lifecycle
Common Git Commands
Working with Branches in Git
Merging Branches
Resolving Merge Conflicts
Git Workflow
Demonstraton
Module 03 Introduction to Cloud Computing & AWS
What is Cloud Computing
Evolution of cloud computing
IAAS(Infra structure as a service)
SAAS(Software as service)
PAAS(Platform as a service)
How AWS is the leader in the cloud domain
Various cloud computing products offered by AWS
Introduction to AWS S3, EC2, VPC, EBS, ELB, AMI
Getting a detailed understanding of the AWS architecture & the AWS Management Console
Introduction to AWS EC2
Comparing Public IP and Elastic IP
Demonstrating how to launch an AWS EC2 instance
What is auto scaling
AWS EC2 best practices and cost involved
Understanding various concepts of backup services in AWS
Demonstraton
Database services
Elastic Block Storage (EBS) for block level persistent storage
Volumes with S3 buckets
Understanding Amazon RDS and Amazon Aurora which are relational databases
Amazon DynamoDB which is a NoSQL database
Understanding Amazon Redshift which is a data warehousing product
Amazon Elastic Cache which is an in-memory data store
Deploying AWS database migration service
Demonstraton
Object Storage
Introduction to AWS storage
AWS S3 (Simple Storage Service)
Creating an AWS S3 bucket
AWS Storage Gateway
Understanding the Command Line Interface (CLI)
Hosting a static website using Amazon S3
Amazon Glacier storage for long-term data backup & archiving
Amazon Snowball for data import/export
Demonstraton
Autoscaling and load balancing
Understanding Fault Tolerance in AWS
In-depth study of Elastic Load Balancing
The types of Load Balancers viz. Classic and App
AWS Auto Scaling mechanism
Understanding AWS Management Console
How to access the Elastic Load Balancing
Studying AWS SDK, AWS CLI and Https Query API
Demonstraton
Virtual Private Cloud
What is Amazon VPC
VPC as a networking layer for EC2
Getting started with VPC
Examples
VPC and Subnets
Default and non-default VPCs
Components of VPC networking
IP addressing
Security
VPN connections
Accessing the internet
Using AWS PrivateLink to access the services
VPC supported platforms
Demonstraton
IAM and monitoring
Authentication (who can use) and Authorization (level of access)
IAM Policies JSON structure, users, groups and their Roles
IAM HTTPS API
Logging IAM events with AWS CloudTrail
Monitoring and managing AWS resources using CloudWatch
Deploying configuration alerts and notifications with CloudWatch
Billing for CloudWatch
Demonstraton
Module 04 Ansibile
Introduction to Ansible
Ansible Server Configuration
Infrastructure Management
SSH Connection in Ansible Master
YAML Scripts
Host Inventory
Hosts and Groups
Host Variables
Group Variables
Host and Group Specific Data
Ad-hoc Commands
Playbooks,Variables,Conditionals,Loops, Blocks
Handlers, Templates, Modules -Core Modules , Extra Modules, Ansible Roles
Module 05 Containerization Using Docker
Introduction to Docker
Understanding Docker Lifecycle
Components of Docker Ecosystem
Common Docker Operations
Creating a DockerHub Account
Committing changes in a Container
Pushing a Container Image to DockerHub
Creating Custom Docker Images using Dockerfile
Demonstraton
Module 06 Continuous Integration with Jenkins
Introduction to Continuous Integration
Jenkins Master Slave Architecture
Understanding CI/CD Pipelines
Creating an end to end automated CI/CD Pipeline
Demonstraton
Module 07 Introduction to Kubernetes
Introduction
Docker Swarm vs Kubernetes
Kubernetes Architecture
Deploying Kubernetes using Kubeadms
Alternate ways of deploying Kubernetes
YAML Files
Creating a Deployment in Kubernetes using YAML
Services in Kubernetes
Ingress in Kubernetes
Demonstraton
Module 08 Agile Methodology
Introduction to the process
Scrum process
sprint planning
Planning Poker Estimation
Velocity
Burndown Chart
JIRA tool
Module 09 Build tool- Maven
Maven Installation
Maven Build requirements
Maven POM Builds (pom.xml)
Maven Build Life Cycle
Maven Local Repository (.m2)
Maven Global Repository
Group ID, Artifact ID, Snapshot , Maven Dependencies
Note: Involve in DevOps Engineer in live project (3 Months)

Example code block:

					
map_roles=local.map_roles

base_domain     =local.base_domain
repo_url        =local.repo_url
target_revision =local.target_revision
					
				

Subscribe to UPLSNIPE

Get the latest posts delivered right to your inbox

Avatar of Author

UPLSNIPE

Unlimted Powerful Learnings Powered By Snipe Tech