Day 3 - SDLC with DevOps
Hi there! I'm Dinesh, a passionate Cloud and DevOps enthusiast. I love to dive into the latest new technologies and sharing my journey through blog.
Search for a command to run...
Hi there! I'm Dinesh, a passionate Cloud and DevOps enthusiast. I love to dive into the latest new technologies and sharing my journey through blog.
No comments yet. Be the first to comment.
1. Difference between Docker and Kubernetes Docker → Builds and runs containers.Kubernetes → Orchestrates containers across multiple nodes. Key points: Docker = container runtime. Kubernetes = container orchestration tool. Kubernetes provides auto...
In this session, we learn how to monitor a Kubernetes cluster using Prometheus and Grafana.This is not just theory — there is a GitHub repository containing all installation commands and demo steps.The repo will also be enhanced later with advanced K...
1. What is a ConfigMap in Kubernetes? A ConfigMap is used to store non-sensitive configuration data that your application needs — such as: Database port Connection type Any general configuration values In normal applications (non-Kubernetes), de...
Kubernetes normally supports built-in resources like: Deployment Service Pod ConfigMap Secret Ingress These are called native resources. Sometimes companies (Istio, ArgoCD, Prometheus Operator, Kyverno, etc.) want to add new features that Kub...
1. Why Kubernetes Services Are Needed When a Pod is created in Kubernetes, it receives a dynamic IP address.If the Pod dies and restarts, its IP changes.So other Pods (like checkout → payments) cannot rely on Pod IP because it changes, creating issue...
SDLC stands for Software Development Life Cycle.
Everyone in IT—developers, testers, DevOps engineers—must understand SDLC because:
Every organization follows a standard process
Whether it’s a startup, MNC, or unicorn
SDLC defines how software is planned, designed, developed, tested, and delivered
If you work in IT, SDLC knowledge is mandatory.
SDLC is a process/culture/standard followed by the software industry to:
Design
Develop
Test
software in a structured and predictable way.
The end goal of SDLC:
Deliver a high-quality product that meets customer expectations.
Without design → you cannot develop.
Without testing → product will not have quality.
So SDLC ensures quality delivery.
Assume we work at example.com (an e-commerce platform).
They currently sell:
Men’s clothing
Women’s clothing
Now, they want to introduce a Kids section.
To add this new feature, the company goes through the SDLC cycle.
SDLC typically follows these phases:
Planning
Requirement Gathering
Design
Build / Development
Testing
Deployment
This is a circular process, repeated for every new feature.
This is where the idea is evaluated.
Example:
Should we add a Kids section?
Will customers benefit from it?
How many are interested in ages 1–4, 6–12, etc.?
People involved:
Business Analyst (BA)
Product Owner (PO)
Senior team members
Goal:
Understand whether the feature is useful
Collect inputs from existing users
Stop the idea early if it is not needed
Planning + requirement gathering is one of the most important steps.
Once planning is done, requirements are documented.
This documentation is called:
It contains:
What customers want
Scope
Functional requirements
Data collected during planning
This document becomes the foundation for design.
Two types of design happen:
Done by architects/senior engineers.
Includes:
System architecture
Scalability
High availability
Database design
Replicas
Load expectations
Done by senior developers/architects.
Includes:
Modules
Functions
Internal logic
Database calls
Input/output flow
When HLD + LLD are ready → developers can start coding.
Developers begin writing code based on the documents.
Steps:
Developer reads Jira stories / requirements
Writes code in Java, Python, etc.
Gets code reviewed by peers
Pushes code to Git (source code repository)
Git is a common place to store and share application code.
Once code is in Git:
It is deployed on a testing/staging server
The QA/QE team performs testing
They check whether the feature works as expected
Goal:
Ensure product quality before it reaches customers.
After testing is successful:
The application is promoted to production servers
The customer starts using the new feature
DevOps becomes important in these phases:
These are DevOps-centric areas because:
Developers write code
Testers test code
But DevOps automates everything
DevOps engineers ensure:
✔ Build happens automatically
✔ Testing triggers automatically
✔ Deployment is automated
✔ Zero manual intervention
✔ Faster, reliable delivery
DevOps does not manually build, test, or deploy.
Instead, DevOps automates all these steps to improve:
Speed
Efficiency
Reliability
This is why DevOps is critical for modern SDLC.
SDLC can be implemented using different project management models:
Waterfall
Iterative
Agile (most common today)
In Agile:
Work happens in sprints
You don’t wait for entire planning/design to finish
Small parts are developed and released quickly
DevOps works extremely well with Agile because both focus on fast and continuous delivery.
As a DevOps engineer, your primary responsibility in SDLC is:
Automate Build, Testing, and Deployment to improve delivery speed and reduce manual work.
SDLC is the foundation of how software is created, and DevOps enhances this by bringing automation and efficiency.