Introduction to DevOps
What is DevOps?
DevOps is a culture that is used to deliver projects to clients quickly
Nowadays most companies are following this DevOps process/culture
DevOps is a set of practices that combines software development & IT operations
The main aim of DevOps is to reduce the software development life cycle period and deliver projects to clients quickly
-> Development team members will develop the project by writing code
-> Team members will test the code that developers develop (they will check application code is working as per client requirement)
-> The Operation Team will set up an environment to run our applications and will deliver our application to the client.
By using DevOps culture we can achieve CI CD
CI - Continous Integration
CD - Continous Delivery
DevOps = Development + Operation
What do we need to learn to become a DevOps engineer?
Linux Operating System
Shell Scripting
Cloud Computing (AWS / Azure / GCP)
DevOps Tools (Maven, GitHub, Jenkins, Sonar Qube, Docker, K8S, Ansible, Terraform, ELK)
Roles & Responsibilities of DevOps Engineer :
Setup infrastructure required to run our application.
(Setup servers, databases, LBR etc)
Take the code which is done by developers from the “Source code Repository”
(SVN or GitHub or BitBucket)
Build the code using build tools
(Maven, Gradle)
Deploy the code into servers using CI CD tools
(Jenkins, UDeploy etc)
Deliver project to the client
SDLC (Software Development Life Cycle)
SDLC stands for Software Development Life Cycle
It represents how one project will be developed and delivered
Note: From start to end is called a Life Cycle
SDLC contains several phases :
Requirement Gathering
Analysis
Design
Development
Testing
Deployment
Delivery
SDLC Methodologies
Waterfall Methodology
It is the first and foremost methodology used to develop the projects
it is a linear methodology
If the current step is completed then only we will go to the next step in the waterfall model
When to go for the waterfall model :
If requirements are fixed
If the budget is fixed
For small-scale applications (it is not suitable for large-scale applications)
in today's world business needs to keep on changing every day hence we can't do business with fixed requirements
Note: Client involvement is much less in the waterfall model. The client will see the final project at the end
-> To overcome the problems of waterfall methodology we are using Agile methodology
Agile Methodology
It is one of the SDLC methodologies which is trending in the market nowadays
It is an interactive approach to develop and deliver the project to clients
Agile promoting continuous development & continuous delivery throughout SDLC
This Methodology is going to break project functionality into multiple phases/releases
Eg: The client has given 100 requirements (Duration: 2 years)
The main aim of the DevOps is to reduce SDLC time
-> We have several tools in the market to automate the application delivery process
(Maven, GitHub, Jenkins, SonarQube, Docker, K8S, Ansible, Terraform)
-> Using these tools we are going to set up DevOps practices in our application.
Subscribe to my newsletter
Read articles from Kartik Sangal directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by