This document provides an overview of DevOps engineering. It defines DevOps as combining development and operations, with the goal of decreasing the development lifecycle while delivering features frequently. The document then discusses the history of DevOps, including the waterfall and agile models. It outlines the stages of the DevOps lifecycle - continuous development, integration, testing, deployment, and monitoring - and examples of tools used in each stage like Git, Jenkins, Docker. Finally, it defines the role of a DevOps engineer and provides a simple demo installation of Jenkins.
What is DevOps?
Why DevOps?
How DevOps works?
DevOps impacts in testing.
Continuous Delivery.
Continuous Integration.
Continuous Testing and Automated Deployment.
This document discusses DevOps, a methodology that combines software development (Dev) and IT operations (Ops). It describes how DevOps aims to improve collaboration between developers and operations teams to more quickly identify and solve problems, allowing for faster and more reliable software delivery. The document provides examples of how DevOps streamlines processes like continuous integration, delivery and deployment through automation and bringing the teams together into a single workflow.
The document discusses the software development life cycle (SDLC) and the waterfall model. It describes the six main phases of the waterfall model as requirements, system analysis, system design, coding, testing, and implementation. For each phase, it provides a brief explanation of the key activities. The advantages of the waterfall model are listed as its linear structure and clear documentation produced at each stage. However, disadvantages include inability to go back to previous phases if errors are found late in the process, potential for client requirements to change, and lack of a working model for client feedback until final stages.
- Introduction to DevOps.
- Glossary.
- Continuous testing.
- The DevOps lifecycle.
- Where does QA fit in DevOps.
- Test-Driven Development (TDD).
- References.
The document provides an introduction to DevOps, including definitions of DevOps, the DevOps lifecycle, principles of DevOps, and why DevOps is needed. DevOps is a culture that promotes collaboration between development and operations teams to deploy code to production faster and more reliably through automation. The DevOps lifecycle includes development, testing, integration, deployment, and monitoring phases. Key principles are customer focus, shared responsibility, continuous improvement, automation, collaboration, and monitoring. DevOps aims to streamline software delivery, improve predictability, and reduce costs.
Session on evaluation of DevSecOps. This tutorial is made the very basic process of the DevOps cycle for the beginner level. So sometimes we won’t use very deep technical terms to understand.
To assist in overcoming this obstacle, DevOps Solutions kicks in. This blog post will offer an in-depth overview of the DevOps lifecycle, including the stages involved. So, whether you are new to DevOps or looking to enhance your existing knowledge, this Ecosmob guide will provide you with a complete understanding of the DevOps lifecycle.
Performance testing is a type of non-functional testing that evaluates the speed, scalability, and stability of a system or process under a particular workload. It seeks to determine a system's effectiveness, efficiency, and stability under a particular anticipated load. Some key aspects of performance testing include:
- Load testing to determine maximum operating capacity and identify bottlenecks.
- Stress testing to establish system failure thresholds or points at which unacceptable response times occur.
- Endurance testing to determine if the system will continue to perform under anticipated long-term production loads.
What is DevOps?
Why DevOps?
How DevOps works?
DevOps impacts in testing.
Continuous Delivery.
Continuous Integration.
Continuous Testing and Automated Deployment.
This document discusses DevOps, a methodology that combines software development (Dev) and IT operations (Ops). It describes how DevOps aims to improve collaboration between developers and operations teams to more quickly identify and solve problems, allowing for faster and more reliable software delivery. The document provides examples of how DevOps streamlines processes like continuous integration, delivery and deployment through automation and bringing the teams together into a single workflow.
The document discusses the software development life cycle (SDLC) and the waterfall model. It describes the six main phases of the waterfall model as requirements, system analysis, system design, coding, testing, and implementation. For each phase, it provides a brief explanation of the key activities. The advantages of the waterfall model are listed as its linear structure and clear documentation produced at each stage. However, disadvantages include inability to go back to previous phases if errors are found late in the process, potential for client requirements to change, and lack of a working model for client feedback until final stages.
- Introduction to DevOps.
- Glossary.
- Continuous testing.
- The DevOps lifecycle.
- Where does QA fit in DevOps.
- Test-Driven Development (TDD).
- References.
The document provides an introduction to DevOps, including definitions of DevOps, the DevOps lifecycle, principles of DevOps, and why DevOps is needed. DevOps is a culture that promotes collaboration between development and operations teams to deploy code to production faster and more reliably through automation. The DevOps lifecycle includes development, testing, integration, deployment, and monitoring phases. Key principles are customer focus, shared responsibility, continuous improvement, automation, collaboration, and monitoring. DevOps aims to streamline software delivery, improve predictability, and reduce costs.
Session on evaluation of DevSecOps. This tutorial is made the very basic process of the DevOps cycle for the beginner level. So sometimes we won’t use very deep technical terms to understand.
To assist in overcoming this obstacle, DevOps Solutions kicks in. This blog post will offer an in-depth overview of the DevOps lifecycle, including the stages involved. So, whether you are new to DevOps or looking to enhance your existing knowledge, this Ecosmob guide will provide you with a complete understanding of the DevOps lifecycle.
Performance testing is a type of non-functional testing that evaluates the speed, scalability, and stability of a system or process under a particular workload. It seeks to determine a system's effectiveness, efficiency, and stability under a particular anticipated load. Some key aspects of performance testing include:
- Load testing to determine maximum operating capacity and identify bottlenecks.
- Stress testing to establish system failure thresholds or points at which unacceptable response times occur.
- Endurance testing to determine if the system will continue to perform under anticipated long-term production loads.
The document discusses DevOps, which combines development (Dev) and operations (Ops). It describes the software development lifecycle (SDLC) and compares the waterfall and agile methodologies. The document then discusses using version control systems like Git and code repositories like GitHub for managing source code changes by large development teams. It also covers using containers and container orchestration with Docker to deploy and manage applications. Finally, it discusses using configuration management to define and control an application's environment and dependencies throughout its lifecycle.
DevOps is a shorthand term that combines “development” and “operations.” It
entails performing the various tasks of application development in a specific order.
DevOps is a broad term for a combination of software development and IT
operations. The DevOps approach adopts continuous innovation, agility, and
scalability to build, test, consume, and develop software products. It fosters an
environment of experimentation, feedback, and constant learning to reinvent
products, services, and processes.
It is the approach rehearsed by the development team and operational engineers
from the beginning to the final stage of the product. However, to implement
DevOps, a thorough understanding of the various stages of the DevOps lifecycle is
required
The document discusses DevOps practices and tools used at different stages of the software development lifecycle. It explains that traditional IT had separate development and operations teams, but DevOps aims to synchronize these teams. Key DevOps practices discussed include continuous testing, configuration management, continuous integration/delivery, and application monitoring. Various automation tools are used at each stage of planning, coding, building, testing, deploying, operating, and monitoring software.
How to fit Performance Testing in Devops environment.pptx.pdfKnoldus Inc.
n this session we will learn about the performance testing and how to fit the performance testing in devops environment, process of performance testing in devops CI/CD pipeline and how we can integrate CI/CD pipeline with performance testing tool like Jmeter.
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree AnikeyRoy
Mindtree's DevOps service helps clients build an in-house DevOps model platforms within an organisation using open-source DevOps tools. Click here to know more.
How to go from waterfall app dev to secure agile development in 2 weeks Ulf Mattsson
The document discusses various topics related to data security and privacy including:
1. International standards for data de-identification techniques and privacy models such as ISO 20889.
2. A comparison of different data de-identification techniques in terms of their ability to reduce risks like singling out, linking, and inference.
3. Examples of mapping de-identification techniques like tokenization and encryption to different data deployment models including centralized/distributed data warehouses and public/private/on-premises clouds.
This document discusses how agility and quality can be balanced in software development. It provides an overview of software quality concepts and metrics. It then discusses the evolution of software delivery to increasingly focus on rapid releases, high availability, and good user experience. Different types of software like systems of engagement, record, and automation are discussed. The remainder of the document outlines agile principles and practices for software delivery, testing, environments, requirements gathering, development lifecycles, and ensuring software quality in an agile process through principles like automation, continuous delivery, and feedback loops.
DevOps is a methodology that promotes collaboration between development and operations teams to continuously deliver products or services. It aims to improve efficiency through continuous integration, delivery, infrastructure automation, and monitoring. Some benefits include reduced delays, outdated technology, and profits lost. The journey to DevOps requires breaking down silos, improving communication, and applying its principles through automation and metrics tracking.
The document discusses the software development life cycle (SDLC) which consists of 7 stages: 1) Planning and requirements analysis, 2) Defining requirements, 3) Designing the software, 4) Coding, 5) Testing, 6) Deployment, and 7) Maintenance. It provides details about the activities in each stage. The waterfall model is introduced as one of the popular SDLC models which follows a linear sequential process where each stage must be completed before moving to the next. Some other models mentioned are iterative, spiral, V-model, and big bang. Advantages and disadvantages of the waterfall model are also outlined.
1. The document discusses the program development life cycle which includes requirement analysis, design, coding, testing, implementation, and documentation.
2. It also covers modularity which is the practice of dividing programs into separate, independent parts called modules. This makes programs easier to develop, understand, and maintain.
3. The key aspects of modularity discussed are functional independence, cohesion, and coupling between modules. Modular programs have lower coupling and higher cohesion.
This document discusses various topics related to event management and software development. It covers the software development life cycle (SDLC) including both traditional and agile models. It discusses requirements, databases, modeling languages, internet of things, Java features, Android development, HTTP, and .NET. The key topics covered are SDLC methodologies (waterfall, agile), database concepts (OLTP, OLAP, queries), modeling tools (UML, StarUML, Umlet), sensors and devices for IoT projects, programming languages (Java, features; Android architecture), web protocols (HTTP, client-server), and development platforms (.NET languages, libraries).
DevOps is an association between development (Dev) and operation (Ops) teams, which allows the persistent delivery of applications and benefits to the ultimate users. The main cause of DevOps’ popularity is that it allows businesses to develop and enhance products at a faster pace than conventional software development methods.
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5hemasubbu08
This document provides an overview of testing in the agile environment and automated testing tools. It discusses agile testing methodologies like test-driven development, acceptance test-driven development, and behavior-driven development. It also covers testing web and mobile applications. The document then focuses on automated testing, describing how it works and the types of tests that are normally automated. It discusses benefits and best practices of automated testing. Finally, it covers popular automated testing tools like Selenium, Katalon Studio, and Cucumber and provides pros and cons of each.
Software engineering 4 critical analysis of waterfall modelVaibhav Khanna
The document describes the waterfall model, which involves sequential phases from requirements analysis through coding, testing, and maintenance. It notes advantages like simplicity and clear milestones, but also drawbacks like lack of feedback and difficulty accommodating changes given the sequential nature of moving from one phase to the next without overlap.
The document describes various software development methodologies including the Waterfall Model, Agile methodologies like Scrum and Kanban, Extreme Programming (XP), Adaptive Software Development (ASD), Feature Driven Development (FDD), and Lean Software Development; it provides details on the key principles, processes, and examples of each methodology.
The document discusses the Software Development Life Cycle (SDLC) and DevOps. It defines SDLC as a process used by the software industry to design, develop, and test high-quality software. SDLC aims to produce software that meets expectations within time and cost estimates. The document then discusses DevOps, defining it as a culture promoting collaboration between development and operations teams to deploy code to production faster using automation. It outlines the DevOps lifecycle and principles, why DevOps is needed to streamline the software delivery process, and tools used in DevOps.
DevOps is a practice that unifies development and IT operations teams. It aims to reduce the time between implementing a change and releasing it to production through five core practices: planning and tracking, development, building and testing, monitoring and operations. This allows for shorter development cycles, faster innovation, reduced failures and recovery times, better communication between teams, and lower costs. Key roles in DevOps include developers, testers, engineers, administrators and architects.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
The document discusses DevOps, which combines development (Dev) and operations (Ops). It describes the software development lifecycle (SDLC) and compares the waterfall and agile methodologies. The document then discusses using version control systems like Git and code repositories like GitHub for managing source code changes by large development teams. It also covers using containers and container orchestration with Docker to deploy and manage applications. Finally, it discusses using configuration management to define and control an application's environment and dependencies throughout its lifecycle.
DevOps is a shorthand term that combines “development” and “operations.” It
entails performing the various tasks of application development in a specific order.
DevOps is a broad term for a combination of software development and IT
operations. The DevOps approach adopts continuous innovation, agility, and
scalability to build, test, consume, and develop software products. It fosters an
environment of experimentation, feedback, and constant learning to reinvent
products, services, and processes.
It is the approach rehearsed by the development team and operational engineers
from the beginning to the final stage of the product. However, to implement
DevOps, a thorough understanding of the various stages of the DevOps lifecycle is
required
The document discusses DevOps practices and tools used at different stages of the software development lifecycle. It explains that traditional IT had separate development and operations teams, but DevOps aims to synchronize these teams. Key DevOps practices discussed include continuous testing, configuration management, continuous integration/delivery, and application monitoring. Various automation tools are used at each stage of planning, coding, building, testing, deploying, operating, and monitoring software.
How to fit Performance Testing in Devops environment.pptx.pdfKnoldus Inc.
n this session we will learn about the performance testing and how to fit the performance testing in devops environment, process of performance testing in devops CI/CD pipeline and how we can integrate CI/CD pipeline with performance testing tool like Jmeter.
Building an In-House DevOps Service Platform for Mobility Solutions | Mindtree AnikeyRoy
Mindtree's DevOps service helps clients build an in-house DevOps model platforms within an organisation using open-source DevOps tools. Click here to know more.
How to go from waterfall app dev to secure agile development in 2 weeks Ulf Mattsson
The document discusses various topics related to data security and privacy including:
1. International standards for data de-identification techniques and privacy models such as ISO 20889.
2. A comparison of different data de-identification techniques in terms of their ability to reduce risks like singling out, linking, and inference.
3. Examples of mapping de-identification techniques like tokenization and encryption to different data deployment models including centralized/distributed data warehouses and public/private/on-premises clouds.
This document discusses how agility and quality can be balanced in software development. It provides an overview of software quality concepts and metrics. It then discusses the evolution of software delivery to increasingly focus on rapid releases, high availability, and good user experience. Different types of software like systems of engagement, record, and automation are discussed. The remainder of the document outlines agile principles and practices for software delivery, testing, environments, requirements gathering, development lifecycles, and ensuring software quality in an agile process through principles like automation, continuous delivery, and feedback loops.
DevOps is a methodology that promotes collaboration between development and operations teams to continuously deliver products or services. It aims to improve efficiency through continuous integration, delivery, infrastructure automation, and monitoring. Some benefits include reduced delays, outdated technology, and profits lost. The journey to DevOps requires breaking down silos, improving communication, and applying its principles through automation and metrics tracking.
The document discusses the software development life cycle (SDLC) which consists of 7 stages: 1) Planning and requirements analysis, 2) Defining requirements, 3) Designing the software, 4) Coding, 5) Testing, 6) Deployment, and 7) Maintenance. It provides details about the activities in each stage. The waterfall model is introduced as one of the popular SDLC models which follows a linear sequential process where each stage must be completed before moving to the next. Some other models mentioned are iterative, spiral, V-model, and big bang. Advantages and disadvantages of the waterfall model are also outlined.
1. The document discusses the program development life cycle which includes requirement analysis, design, coding, testing, implementation, and documentation.
2. It also covers modularity which is the practice of dividing programs into separate, independent parts called modules. This makes programs easier to develop, understand, and maintain.
3. The key aspects of modularity discussed are functional independence, cohesion, and coupling between modules. Modular programs have lower coupling and higher cohesion.
This document discusses various topics related to event management and software development. It covers the software development life cycle (SDLC) including both traditional and agile models. It discusses requirements, databases, modeling languages, internet of things, Java features, Android development, HTTP, and .NET. The key topics covered are SDLC methodologies (waterfall, agile), database concepts (OLTP, OLAP, queries), modeling tools (UML, StarUML, Umlet), sensors and devices for IoT projects, programming languages (Java, features; Android architecture), web protocols (HTTP, client-server), and development platforms (.NET languages, libraries).
DevOps is an association between development (Dev) and operation (Ops) teams, which allows the persistent delivery of applications and benefits to the ultimate users. The main cause of DevOps’ popularity is that it allows businesses to develop and enhance products at a faster pace than conventional software development methods.
4&5.pptx SOFTWARE TESTING UNIT-4 AND UNIT-5hemasubbu08
This document provides an overview of testing in the agile environment and automated testing tools. It discusses agile testing methodologies like test-driven development, acceptance test-driven development, and behavior-driven development. It also covers testing web and mobile applications. The document then focuses on automated testing, describing how it works and the types of tests that are normally automated. It discusses benefits and best practices of automated testing. Finally, it covers popular automated testing tools like Selenium, Katalon Studio, and Cucumber and provides pros and cons of each.
Software engineering 4 critical analysis of waterfall modelVaibhav Khanna
The document describes the waterfall model, which involves sequential phases from requirements analysis through coding, testing, and maintenance. It notes advantages like simplicity and clear milestones, but also drawbacks like lack of feedback and difficulty accommodating changes given the sequential nature of moving from one phase to the next without overlap.
The document describes various software development methodologies including the Waterfall Model, Agile methodologies like Scrum and Kanban, Extreme Programming (XP), Adaptive Software Development (ASD), Feature Driven Development (FDD), and Lean Software Development; it provides details on the key principles, processes, and examples of each methodology.
The document discusses the Software Development Life Cycle (SDLC) and DevOps. It defines SDLC as a process used by the software industry to design, develop, and test high-quality software. SDLC aims to produce software that meets expectations within time and cost estimates. The document then discusses DevOps, defining it as a culture promoting collaboration between development and operations teams to deploy code to production faster using automation. It outlines the DevOps lifecycle and principles, why DevOps is needed to streamline the software delivery process, and tools used in DevOps.
DevOps is a practice that unifies development and IT operations teams. It aims to reduce the time between implementing a change and releasing it to production through five core practices: planning and tracking, development, building and testing, monitoring and operations. This allows for shorter development cycles, faster innovation, reduced failures and recovery times, better communication between teams, and lower costs. Key roles in DevOps include developers, testers, engineers, administrators and architects.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Assessment and Planning in Educational technology.pptxKavitha Krishnan
In an education system, it is understood that assessment is only for the students, but on the other hand, the Assessment of teachers is also an important aspect of the education system that ensures teachers are providing high-quality instruction to students. The assessment process can be used to provide feedback and support for professional development, to inform decisions about teacher retention or promotion, or to evaluate teacher effectiveness for accountability purposes.
Executive Directors Chat Leveraging AI for Diversity, Equity, and InclusionTechSoup
Let’s explore the intersection of technology and equity in the final session of our DEI series. Discover how AI tools, like ChatGPT, can be used to support and enhance your nonprofit's DEI initiatives. Participants will gain insights into practical AI applications and get tips for leveraging technology to advance their DEI goals.
বাংলাদেশের অর্থনৈতিক সমীক্ষা ২০২৪ [Bangladesh Economic Review 2024 Bangla.pdf] কম্পিউটার , ট্যাব ও স্মার্ট ফোন ভার্সন সহ সম্পূর্ণ বাংলা ই-বুক বা pdf বই " সুচিপত্র ...বুকমার্ক মেনু 🔖 ও হাইপার লিংক মেনু 📝👆 যুক্ত ..
আমাদের সবার জন্য খুব খুব গুরুত্বপূর্ণ একটি বই ..বিসিএস, ব্যাংক, ইউনিভার্সিটি ভর্তি ও যে কোন প্রতিযোগিতা মূলক পরীক্ষার জন্য এর খুব ইম্পরট্যান্ট একটি বিষয় ...তাছাড়া বাংলাদেশের সাম্প্রতিক যে কোন ডাটা বা তথ্য এই বইতে পাবেন ...
তাই একজন নাগরিক হিসাবে এই তথ্য গুলো আপনার জানা প্রয়োজন ...।
বিসিএস ও ব্যাংক এর লিখিত পরীক্ষা ...+এছাড়া মাধ্যমিক ও উচ্চমাধ্যমিকের স্টুডেন্টদের জন্য অনেক কাজে আসবে ...
A review of the growth of the Israel Genealogy Research Association Database Collection for the last 12 months. Our collection is now passed the 3 million mark and still growing. See which archives have contributed the most. See the different types of records we have, and which years have had records added. You can also see what we have for the future.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
How to Build a Module in Odoo 17 Using the Scaffold MethodCeline George
Odoo provides an option for creating a module by using a single line command. By using this command the user can make a whole structure of a module. It is very easy for a beginner to make a module. There is no need to make each file manually. This slide will show how to create a module using the scaffold method.
A workshop hosted by the South African Journal of Science aimed at postgraduate students and early career researchers with little or no experience in writing and publishing journal articles.
How to Add Chatter in the odoo 17 ERP ModuleCeline George
In Odoo, the chatter is like a chat tool that helps you work together on records. You can leave notes and track things, making it easier to talk with your team and partners. Inside chatter, all communication history, activity, and changes will be displayed.
Main Java[All of the Base Concepts}.docxadhitya5119
This is part 1 of my Java Learning Journey. This Contains Custom methods, classes, constructors, packages, multithreading , try- catch block, finally block and more.
4. The term DevOps is a combination of two words namely Development and
Operations. DevOps is a practice that allows a single team to manage the entire
application development life cycle, that is, development, testing, deployment, and
monitoring.
The ultimate goal of DevOps is to decrease the duration of the system’s
development life cycle while delivering features, fixes, and updates frequently in
close synchronization with business objectives.
DevOps is a software development approach with the help of which you can
develop superior quality software quickly and with more reliability. It consists of
various stages such as continuous development, continuous integration,
continuous testing, continuous deployment, and continuous monitoring.
5. History of DevOps
Before DevOps, We had two approaches for software development namely the Waterfall
and the Agile.
6. Waterfall Model:
• The waterfall model is a software development model that is pretty straight forward and linear. This
model follows a top-down approach.
• This model has various starting with Requirements gathering and analysis. This is the phase where
you get the requirements from the client for developing an application. After this, you try to analyze
these requirements.
• The next phase is the Design phase where you prepare a blueprint of the software. Here, you think
about how the software is actually going to look like.
• Once the design is ready, you move further with the Implementation phase where you begin with the
coding for the application. The team of developers works together on various components of the
application.
• Once you complete the application development, you test it in the Verification phase. There are
various tests conducted on the application such as unit testing, integration testing, performance
testing, etc.
• After all the tests on the application are completed, it is deployed onto the production servers.
• At last, comes the Maintenance phase. In this phase, the application is monitored for performance.
Any issues related to the performance of the application are resolved in this phase.
7. Advantages and Disadvantages of Waterfall Model:
Advantages:
• Simple to understand and use
• Allows for easy testing and analysis
• Saves a significant amount of time
and money
• Good for small projects if all
requirements are clearly defined
• Allows for departmentalization &
managerial control
Disadvantages
• Risky and uncertain
• Lack of visibility of the current progress
• Not suitable when the requirements
keep changing
• Difficult to make changes to the product
when it is in the testing phase
• The end product is available only at the
end of the cycle
• Not suitable for large and complex
projects
8. Agile Model:
Agile Methodology is an iterative based software development approach where the
software project is broken down into various iterations or sprints. Each iteration has
phases like the waterfall model such as Requirements Gathering, Design,
Development, Testing, and Maintenance. The duration of each iteration is generally
2-8 weeks.
Agile Process :
• In Agile, a company releases the application with some high priority features in
the first iteration.
• After its release, the end-users or the customers give you feedback about the
performance of the application.
• Then you make the necessary changes into the application along with some new
features and the application is again released which is the second iteration.
• You repeat this entire procedure until you achieve the desired software quality.
9. Advantages and Disadvantages of Agile Model:
Advantages of Agile Model
• It adaptively responds to requirement
changes favorably
• Fixing errors early in the development
process makes this process more
cost-effective
• Improves the quality of the product
and makes it highly error-free
• Allows for direct communication
between people involved in software
project
• Highly suitable for large & long-term
projects
• Minimum resource requirements &
very easy to manage
Disadvantages of Agile Model
• Highly dependent on clear customer
requirements
• Quite Difficult to predict time and
effort for larger projects
• Not suitable for complex projects
• Lacks documentation efficiency
• Increased maintainability risks
10. DevOps Stages and Tools:
As mentioned earlier, the various stages such as continuous development,
continuous integration, continuous testing, continuous deployment, and
continuous monitoring constitute the DevOps Life cycle. Now let us have a
look at each of the stages of DevOps life cycle one by one.
Stage – 1: Continuous Development
Stage – 2: Continuous Integration
Stage – 3: Continuous Testing
Stage – 4: Continuous Deployment
Stage – 5: Continuous Monitoring
11. Stage – 1: Continuous Development
Tools Used: Git, SVN, Mercurial, CVS
• This is the phase that involves ‘planning‘ and ‘coding‘ of the software. You
decide the project vision during the planning phase and the developers
begin developing the code for the application.
• There are no DevOps tools that are required for planning, but there are a
number of tools for maintaining the code.
• The code can be in any language, but you maintain it by using Version
Control tools. This process of maintaining the code is known as Source
Code Management.
• After the code is developed, then you move to the Continuous Integration
phase.
12. Stage – 2: Continuous Integration
Tools: Jenkins, TeamCity, Travis
Process Flow:
• This stage is the core of the entire DevOps life cycle. It is a practice in which the developers
require to commit changes to the source code more frequently. This may be either on a daily
or weekly basis.
• You then build every commit and this allows early detection of problems if they are present.
Building code not only involves compilation but it also includes code review, unit testing,
integration testing, and packaging.
• The code supporting new functionality is continuously integrated with the existing code.
Since there is a continuous development of software, you need to integrate the updated code
continuously as well as smoothly with the systems to reflect changes to the end-users.
• In this stage, you use the tools for building/ packaging the code into an executable file so that
you can forward it to the next phases.
13. Stage – 3: Continuous Testing
Tools: Jenkins, Selenium TestNG, JUnit
Process Flow:
• This is the stage where you test the developed software continuously for
bugs using automation testing tools. These tools allow QAs to test multiple
code-bases thoroughly in parallel to ensure that there are no flaws in the
functionality. In this phase, you can use Docker Containers for simulating
the test environment.
• Selenium is used for automation testing, and the reports are generated
by TestNG. You can automate this entire testing phase with the help of a
Continuous Integration tool called Jenkins.
• Suppose you have written a selenium code in Java to test your application.
Now you can build this code using ant or maven. Once you build the code,
you then test it for User Acceptance Testing (UAT). This entire process can
be automated using Jenkins.
14. Stage – 4: Continuous Deployment
Tools Used:
Configuration Management – Chef, Puppet, Ansible
Containerization – Docker, Vagrant
Process Flow:
• This is the stage where you deploy the code on the production servers. It is
also important to ensure that you correctly deploy the code on all the servers.
Before moving on, let us try to understand a few things about Configuration
management and Containerization tools. These set of tools here help in
achieving Continuous Deployment (CD).
• Configuration Management is the act of establishing and maintaining
consistency in an application’s functional requirements and performance. Let
me put this in easier words, it is the act of releasing deployments to servers,
scheduling updates on all servers and most importantly keeping the
configurations consistent across all the servers.
• Containerization tools also play an equally crucial role in the deployment
stage. The containerization tools help produce consistency across
Development, Test, Staging as well as Production environments. Besides this,
they also help in scaling-up and scaling-down of instances swiftly.
15. Stage – 5: Continuous Monitoring
Tools Used: Splunk, ELK Stack, Nagios, New Relic
Process Flow:
• This is a very critical stage of the DevOps life cycle where you
continuously monitor the performance of your application. Here you record
vital information about the use of the software. You then process this
information to check the proper functionality of the application. You resolve
system errors such as low memory, server not reachable, etc in this phase.
• This practice involves the participation of the Operations team who will
monitor the user activity for bugs or any improper behavior of the
system. The Continuous Monitoring tools help you monitor the
application’s performance and the servers closely and also enable you to
check the health of the system proactively.
16. Who is a DevOps Engineer?
• DevOps Engineer is somebody who understands the Software
Development Lifecycle and has the outright understanding of various
automation tools for developing digital pipelines (CI/ CD pipelines).
• DevOps Engineer works with developers and the IT staff to oversee the
code releases. They are either developers who get interested in
deployment and network operations or sysadmins who have a passion for
scripting and coding and move into the development side where they can
improve the planning of test and deployment.