Comprehensive Guide To DevOps
Introduction
In today's fast-paced technological landscape, the need for efficient software development and IT operations has become paramount for businesses. This guide offers a comprehensive understanding of DevOps principles, practices, and tools that enable seamless collaboration between development and operations teams.
It also delves into how automation, continuous integration, and continuous delivery (CI/CD) pipelines transform traditional workflows into agile, scalable, and robust solutions in modern IT environments.
- Fundamentals Of SDLC - ALM
- Learn Cloud Computing - AWS & AZURE
- Linux OS
- Git & GitHub - Version Control System
- Docker - Containerisation
- Kubernetes - Orchestration
- Terraform - IaC
- Jenkins - CI / CD
- Prometheus and Grafana - Monitoring
- Slack - Communication and Collaboration
- Scripting With Python
- Azure DevOps
Understanding DevOps Practices and DevOps Tools
Fundamentals of SDLC - ALM
The Software Development Life Cycle (SDLC) is a systematic approach to building software applications, covering planning, designing, coding, testing, and deployment. Application Lifecycle Management (ALM) extends SDLC by managing the entire lifecycle of an application, from inception to retirement, including governance, development, and operations.
In DevOps, understanding SDLC and ALM is critical because it establishes a collaborative framework where development and operations teams work together, enabling faster releases, continuous integration, and streamlined software delivery pipelines.

Cloud Computing - AWS & Azure
Cloud computing, particularly with platforms like AWS and Azure, is foundational to modern DevOps practices.
These platforms provide scalable infrastructure as a service (IaaS), enabling businesses to quickly deploy applications, scale them based on demand, and manage services like storage, databases, and networking.
Cloud services integrate seamlessly with DevOps automation tools to enable continuous integration/continuous delivery (CI/CD) pipelines, monitoring, and infrastructure management, allowing organisations to deploy applications rapidly and reliably.
Linux OS
Linux is a widely used operating system in DevOps environments due to its open-source nature, security features, and flexibility.
Most cloud services, containers, and orchestration tools (like Kubernetes) run on Linux servers.
Learning Linux is essential in DevOps as it empowers engineers to perform system administration tasks, manage services, automate operations with shell scripting, and configure environments for development and deployment.

Git & GitHub - Version Control System
Git is a distributed version control system that allows developers to track changes in source code during the software development process.
GitHub is a cloud-based platform for hosting Git repositories and enabling team collaboration. In DevOps, Git and GitHub are central to version control, ensuring that all developers work from the same codebase, with continuous integration tools (like Jenkins) automating testing and deployment whenever changes are pushed to the repository.

Docker - Containerisation
Docker is a containerisation platform that packages an application and its dependencies into a single container, ensuring consistency across different environments.
Containers are lightweight, portable, and ideal for deploying microservices. In DevOps, Docker facilitates seamless integration, testing, and deployment of applications in any environment, while reducing the complexity of dependencies and ensuring consistency across development and production.

Kubernetes - Orchestration
Kubernetes is a container orchestration tool used to manage the deployment, scaling, and operation of containers in clusters. It automates tasks like container provisioning, load balancing, and health monitoring.
In DevOps, Kubernetes is crucial for scaling containerised applications, ensuring that systems are resilient, fault-tolerant, and able to scale dynamically based on demand, all while maintaining consistency across multiple environments.

Terraform - IaC (Infrastructure as Code)
Terraform is an open-source tool that allows DevOps engineers to define and provision infrastructure using declarative configuration files. As part of the Infrastructure as Code (IaC) paradigm, Terraform allows teams to version, review, and apply infrastructure changes just like application code.
In DevOps, Terraform streamlines the process of infrastructure management, enabling the creation, modification, and destruction of environments in a repeatable and automated manner across multiple cloud platforms.

Jenkins - CI/CD
Jenkins is an open-source automation server that facilitates Continuous Integration (CI) and Continuous Delivery (CD) pipelines. It automates tasks such as code building, testing, and deployment, ensuring that software updates are integrated and released in a controlled, continuous manner.
Jenkins is a cornerstone of DevOps, as it accelerates the software development cycle and ensures that every change to the codebase is automatically tested and deployed.

Prometheus and Grafana - Monitoring
Prometheus is an open-source monitoring tool that collects metrics from various systems and applications.
Grafana is a visualization tool used in conjunction with Prometheus to display real-time metrics in dashboards.
In DevOps, these tools are essential for monitoring system health, tracking performance, and identifying potential issues before they affect users, making it easier to ensure continuous uptime and performance optimization.

Slack - Communication and Collaboration
Slack is a communication platform used to facilitate collaboration among teams through messaging, file sharing, and integrations with other DevOps tools.
In DevOps, Slack acts as the communication backbone, enabling teams to quickly share updates, receive real-time notifications from CI/CD pipelines, and collaborate on resolving issues, ensuring that all stakeholders stay connected and aligned throughout the development lifecycle.

Scripting with Python
Python is a high-level programming language commonly used in DevOps for automating tasks, managing configurations, and developing tools that support DevOps processes.
Python scripting enables DevOps engineers to automate repetitive tasks, streamline workflows, and manage cloud resources efficiently. Python’s versatility and ease of use make it an integral part of automating infrastructure, monitoring systems, and managing deployments.
Azure DevOps
Azure DevOps is a suite of DevOps services provided by Microsoft to support the entire software development lifecycle. It integrates tools for planning, coding, building, testing, and releasing applications.
Azure DevOps supports CI/CD pipelines, source control with Git, and comprehensive collaboration, making it a key enabler for teams adopting DevOps practices in cloud environments, ensuring efficient development and operations across the organization.
Understanding DevOps and Azure DevOps
DevOps is a methodology that promotes collaboration between software development (Dev) and IT operations (Ops) teams, aiming to shorten the development lifecycle and deliver high-quality software in a continuous and automated manner. DevOps emphasizes automation, continuous integration/continuous delivery (CI/CD), monitoring, and iterative improvements to ensure faster and more reliable deployments.
Azure DevOps is a suite of cloud-based DevOps services provided by Microsoft, designed to support the entire application lifecycle. It integrates with your existing tools and enables you to plan, develop, test, deliver, and monitor applications more effectively. Azure DevOps offers services like Azure Pipelines, Boards, Repos, Test Plans, and Artifacts, which streamline the process of software development and operations management.
Conclusion
DevOps provides a holistic approach to software development and operations, fostering collaboration between teams to deliver applications faster, more efficiently, and with higher quality.
By leveraging DevOps tools like Jenkins, Docker, Kubernetes, and Terraform, organizations can streamline their processes, automate tasks, and achieve continuous integration and continuous delivery (CI/CD).
For beginners, it's essential to start with the foundational concepts of version control, automation, and containerisation. As you gain more hands-on experience, exploring advanced practices like Infrastructure as Code (IaC) and orchestration will enable you to manage complex systems with ease.
PROJECTS
JOB ROLES
DevOps Engineer
A DevOps Engineer bridges the gap between software development and operations teams, automating the processes of building, testing, and deploying applications. They focus on integrating tools and practices to enable continuous integration and delivery (CI/CD), ensuring smooth and efficient application lifecycle management.
DevOps Architect
A DevOps Architect designs the overall architecture and strategy for implementing DevOps practices in an organization. They ensure the infrastructure, automation tools, and cloud solutions are optimised for scalability, security, and performance, aligning the technology stack with business objectives.
DevOps Consultant
A DevOps Consultant provides expert guidance to organizations seeking to implement or improve DevOps practices. They analyze current processes, identify gaps, and recommend tools and practices to enhance automation, collaboration, and delivery speed across development and operations teams.
Systems Engineer
A Systems Engineer focuses on designing, implementing, and maintaining an organization’s IT infrastructure, ensuring systems run efficiently and securely. They work on hardware, software, and networking components, ensuring seamless integration and high availability of critical systems.
System Administrator
A System Administrator is responsible for managing and maintaining an organization’s servers, networks, and computer systems. They ensure systems are operational, secure, and up-to-date, performing regular backups, monitoring performance, and troubleshooting issues when they arise.
RESUME
Ravi Krishna
E-mail: ravi2krishna@gmail.com
Mobile: +91 9999999999
Linkedin: https://in.linkedin.com/in/ravi-krishna-5680b330
GitHub: https://github.com/ravi2krishna
Objective:
DevOps professional with 3 years of experience in architecting and executing fully automated CI/CD pipelines, significantly reducing deployment time and boosting deployment frequency. Proficient in cloud platforms such as AWS and Azure, adept in infrastructure as code practices, and skilled in deploying monitoring and alerting systems.
Professional Summary:
- 3 Years of experience in the field of Cloud & DevOps, in building cloud infrastructure and implementing DevOps practices.
- Experienced in Application Configurations, Building, Packaging, Automating, Mangining and releasing codes across various environments and deploying to cloud services.
- Involved in day-to-day troubleshooting and performance checks for the end users on Linux based applications.
- Skilled with Linux Utilities : SSH, User Management, Process Management, Memory Management, Text processing tools, Log Management, Package Management, Disk Management and Swap Partition/Files Management.
- Experienced in infrastructure development and operations, involving the design and deployment of solutions using key AWS services like VPC, EC2, EKS, ECR, IAM, S3, CloudFormation, CloudWatch etc for effective cloud solutions.
- Deploying, managing, and operating scalable and highly available systems on cloud using Terraform Infrastructure As Code(IaC).
- Experience with all phases of software development life cycle (SDLC) and Agile development methodology.
- Maintained version control systems and ensured code integrity using SCM tools like Git, GitHub and SonarQube on Linux platforms.
- Proficient in creating CI/CD pipelines using Jenkins, enhancing build and deployment process.
- Led the development of Docker containerization strategies, including creating custom Docker images to mirror development and QA environments on local setups.
- Executed and monitored builds and deployments across multiple stages (QA, UAT and Production) with Jenkins Pipelines and managed configurations using Ansible.
- Experienced in deploying production workloads on Kubernetes using cloud platforms like AWS EKS with Jenkins Integrations.
- Knowledge on project management and issue tracking tools like GitHub, facilitating clear communication and efficient resolution of development tasks.
- Implementing monitoring dashboards for various applications and monitored real-time and historical metrics using Prometheus & Grafana.
- Demonstrated exceptional analytical and problem-solving skills, capable of independent work as well as collaborative team efforts.
- Excelled in communication, organisational abilities, and client interaction, reliably handling business inquiries and support.
Skills Profile:
Operating systems : Linux - Windows - Mac
Cluster technologies : Docker - Kubernetes - EKS
Version Control : Git - Github
Automation Tools : Ansible - Terraform - Jenkins
Amazon Web Services : EC2 - S3 - RDS - IAM - Cloud Formation - VPC - etc
Monitoring Tools : Cloud Watch - Prometheus - Grafana
Certifications:
- AWS Certified Practitioner - 01/2022
- AWS Certified Solutions Architect Associate - 01/2023
Experience:
- Working as DevOps Engineer for Wipro Technologies from Mar 2023 to till date.
- Worked as Software Associate for Wion Technologies from Feb 2021 to Feb 2023.
Project Details:
Wipro Technologies Bangalore, Karnataka (India)
Customer: PMI, Vodafone, IL
Customer: Kona LMS, IND
Role: DevOps Engineer (AWS, Docker, EKS)
Period: Dec 2023 – Till date
Roles and Responsibilities:
- Built Docker Images and shipped images to docker registry and AWS ECR, deployed to production clusters on AWS EKS.
- Performed rolling updates on EKS cluster, when new source code is released.
- Managed source code version tagging and prepared release notes accordingly, while build and release.
- Prepared Jenkins pipeline (Pipeline As Code), for automated Builds & Deployments to Kubernetes Cluster (EKS).
- Implemented Custom Jenkins Pipeline for project specific builds and deployed to different name spaces for Dev, QA and Prod environments.
- Configured and Setup Database parameters while deploying into specific environments.
- Troubleshooted build issues and co-ordinated with Dev teams to fix build issues.
- Deployed 3-tier architecture infrastructure on AWS Cloud using Terraform.
- Developed CI/CD workflows with integrations on cloud platforms using Git, GitHub, Sonar, Nexus, Terraform, Docker and Kubernetes.
- Deployed and managed AWS services including EC2, RDS, and S3 to host a scalable Learning Management System.
- Implemented and managed a PostgreSQL database, ensuring efficient data storage, high performance, and security for the Learning Management System.
- Integrated a robust backend API, connecting the application with the PostgreSQL database to facilitate smooth data interactions and system functionality.
- Automation with build tool to create deployable artifacts for both frontend and backend of the LMS application.
- Implemented and optimised Jenkins CI/CD pipelines, integrating Git & GitHub for seamless deployment.
- Containerized the LMS application with Docker for consistent deployment and scalability.
- Prepared Kubernetes Manifest files for Deployments and Service for LMS application.
- Configured Prometheus and Grafana for real-time monitoring and performance insights.
- Documented processes, configurations, and best practices for future reference.
Wion Technologies Bangalore, Karnataka (India)
Customer: PMI, Vodafone, WOW.
Role: Cloud Engineer
Period: Dec 2023 – Till date
Roles and Responsibilities:
- Deployed AWS EC2 Instances behind Elastic Load Balancers and Auto Scaling, making sure of High Availability by deploying workloads across Multiple Availability Zones.
- Deployed RDS Instances and provided endpoint details to Database teams and managed database Snapshot Methods.
- Provisioned EBS Volumes & Created File Systems on EBS as per business needs, Scheduled EBS Automatic Snapshots with Lifecycle Manager.
- Configured and Managed IAM Roles for EC2, S3, EKS etc.
- Designed Highly Available VPC for a 3-Tier Application Architecture, managing Security Groups, NACL’s, Gateways (NAT), Route Tables and Subnets.
- Experienced in writing Python Scripts, configured lambda function to run daily basis backups based on retention policies.
- Understanding organisational requirements for infrastructure to procure Workstations and Deploying EC2 Instances.
- Wrote Shell Scripts to perform cross region backup for EC2 AMI’s
- Handled Production Deployments and conducted performance impact analysis with QA Team.
- Eliminated single point of failure in production environments and Configured Self healing based architectures, failover routing policies, ELB Health checks based on customers resiliency and availability requirements.
- Managed provisioning of AWS infrastructure using Cloudformation Templates.
- Implemented security best practices in AWS including multi-factor authentication, access key rotation, role based permissions, enforce strong password policy, configured security groups, NACL’s, S3 Bucket Policies, ACL’s.
- Generating assessments, Develop and implement actionable recommendations based on results and review.
- Optimised cost through reserved instances, selection and changing of EC2 instance types based on resource needs, S3 storage classes and S3 lifecycle policies.
- Used CloudFront to deliver content from AWS edge locations to users, allowing for further reduction of load on the front-end server.
- Configured Cloudwatch alarm rules for operational and performance metrics for AWS resources.
Kora Technologies Hyderabad, Telangana (India)
Customer: PMI, Vodafone, WOW.
Role: Linux Administrator
Period: Dec 2023 – Till date
Roles and Responsibilities:
- Maintained server integrity by applying updates and patches as per maintenance policies
- Configured and managed NFS for file sharing
- Configured and Managed Nginx as a Web Server and Proxy engine for Node Js Applications
- Performed System Updates and Package Management using yum and apt.
- Prepared Standard Operating Procedures (SOP’s), work instructions and related supporting documents based on Quality Systems Unit guidelines
- Created Ansible driven configuration of user accounts and Installed packages on 100+ servers only when necessary by managing the attributes using Ansible as a configuration management tool.
Educational Background
- B.Tech in Electronics & Communication Engineering from MDU University in 2013.
- 12th Standard, CBSE board from Andhra education society, New Delhi in 2008.
- 10th Standard, Haryana Board from Marigold Sr. Sec. School, Gurgaon in 2006.