1.1) What is Devops?
--> Devops is not a new tool/Technology in the market.
--> It is a new culture or process to develop,release and maintain software products/projects/applications with high quality in very faster way.
--> We can achieve this in devops by using several automation tools.
--> For any software development,release and maintenance, there are two groups of engineers will work in the company.
1) Development Group
2) Non-Development Group or Operations Group or Administrators Group.
Again this classification can be divided into small sets of groups.
1) Development Group:
The people who are involving
1) planning
2) coding
3) build
4) Testing
are considered as Development Group.
Eg:
Business Analyst(BA)
System Analyst(SA)
Design Architech(DA)
Developers/coders
Build Engineer
Test Engineers/QA
2) Operations Group:
The people who are involving
1) Release
2) Deploy
3) Operate
4) Monitor
are considered as Operations Group.
Eg:
Release Engineers
Configuration Engineer
System Admin
Database Admin
Network Admin
etc
Devops is combination of development and operations.
The main objective of devops is to implement collaboration between development and operations teams.
To understand this new Devops culture, we have to aware already existing SDLC Models.
SDLC-->Software Development Life Cycle
1) Waterfall Model
2) Prototype Model 3) Incremental/Iterative Model
4) Spiral Model
5) RAD Model
6) Big-Bang Model
7) Fish Model
8) V Model
9) Agile Model
10) Devops Culture
1.2) Water Fall Model:
--> It is the oldest SDLC Model.
--> It is also known as Linear sequential Model.
--> In this model,each phase must be completed before the next phase can begin and there is no overlapping of phases. i.e all phases will be performed one by one just like flowing of water fall downwards.
Advantages:
1) It is very simple and easy to implement.
2) Phases won't be overlapped and hence there is no ambiguity.
3) All phases will be executed one by one which gives high visibility to the project managers and clients about the progress of the project.
4) Best suitable if the requirements are fixed.
5) Best suitable for small projects.
Disadvantages:
1) It is very rigid model b'z it won't accept requirement changes in the middle.
2) Client satisfaction is very low because most of the times client will add new requirements in the middle,which won't be supported.
3) Total project development time is more because testing should be done after complementing development only.
4) The cost of bug fixing is very high because we cannot identify bugs in the early stages of life cycle.
5) Not suitable if the requirements keep on changing.
6) Not suitable for large projects.
1.3) Agile Model:
This is the most frequently used and hot cake model for software development.
Agile Model is divided into several sub models
1) Rational Unify Process (RUP)
2) Adaptive Software Development (ASD)
3) Feature Driven Development (FDD)
4) Crystal Clear
5) Dynamic Software Development Method (DSDM)
6) Extream Programming (XP)
7) Scrum
etc
Among all these models Scrum model is the most popular and frequently used model.
Scrum is derived from Rugby Game.
--> It is light weight process.
--> It is an iterative /incremental model and it accepts changes very easily.
--> It is people based model but not plan based model.
--> Team Collaboration and Continuous feedback are strengths of this model.
--> It is light weight process.
--> It is an iterative /incremental model and it accepts changes very easily.
--> It is people based model but not plan based model.
--> Team Collaboration and Continuous feedback are strengths of this model.
1.4) Water fall vs Scrum:
1) In water fall model ,before starting next phase,the previous phase should be completed. It is very rigid model and won't accept requirement changes in the middle.
2) But scurm model is not linear sequential model. It is iterative model. Total software will be developed increment by increment and each increment is called a sprint.
Sprint is a deliverable/shippable product in scrum model.
Points to Remember:
1) Scrum is an agile model that allows us focus on delivering highest quality software in shortest time.
2) In this model software developement follows increment by increment
3) Each increment will take one to 3 weeks duration.
4) 7 to 9 members are responsible in every sprint.
The art of doing the twice work in half time is nothing but scrum model à Juff sutherland
Advantages of Scrum Model:
1) There is maximum chance for quality
2) It ensures effective use of time and money
3) Requirement changes will be accepted so that maximum chance for client satisfaction
4) There is a possibility for the client involvment in every stage.
5) Project status Tracking is very easy
6) Team gets complete visibility through scrum meetings.
Limitations:
1) The chances of project failure is very high if individuals are not committed or cooperative
2) Adapting scrum model for large teams is very big challenge
3) Must required experienced and efficient team members
4) If any team member leaves in the middle of project,it can have a huge negative impact on the project.
1.5) Devops vs Agile Models:
Devops and Agile, both are not same.
Similarities:
1) Both are software development methodologies. Agile is there in the market for the last 20 years, but devops is recent methodology.
2) Both models concentrating on rapid development of software project.
Differences:
1) The differences between these models will starts after development of the project.
Agile methodology always talks about software development,testing and deployment.
Once deployment completed agile methodology has no role.
But Devops model will continue after deployment also and it is also responsible for operations and monitoring.
2) In Agile Model, separate people are responsible for developing, testing, and deploying the software. But, in DevOps, the DevOps engineer is responsible for everything;
development to operations, and operations to development.
3) Agile model won't force us to use automation tools.
But devops model is completely based on automation.
4) Agile model always giving highest priority for speed, where as Devops giving proirity for both speed and automation.
5) In Agile, client is responsible to give the feedback for the sprint. But in Devops, immediate feedback is available from the monitoring tools.
What is Devops?
Devops is not a new Tool/Technology in the market.
It is a new culture or process to develop,release and maintain software products/projects/applications with high quality in very faster way with automation tools.
Devops is combination of development and operations.
The main objective of devops is to implement collaboration between development and operations teams.
It is the process of continuous development, continuous build, continuous test, continuous release of the software with high quality in very faster way with automation tools
1.6) Top Important points about DevOps
1) Devops is not a new Tool/Technology in the market.
2) It is a new culture or process to develop,release and maintain software products.
3) DevOps is combination of Development and Operations.
4) The main objective of devops is to implement collaboration between development and operations teams.
5) The beauty of DevOps is everything is automated and we can use several automation tools for development and operations.
6) Devops Engineer is All Rounder. He should aware everything. Hence his role is considered as Devops Generalist.
7) Devops is not Agile model and it is more than that because it covers both Development and operations, where as Agile covers only Development but not operations.
8) Devops Cycle is an Infinite Loop where everything is continuous.
0 comments