0% found this document useful (0 votes)
6 views14 pages

Week-10 Slides

DevOps combines development and operations to enhance collaboration and efficiency in software development and deployment. It addresses challenges like isolated teams and manual processes, promoting faster market delivery and improved customer satisfaction through automation and continuous integration. While it offers significant advantages, such as reduced software delivery time, it also faces challenges like the scarcity of skilled professionals and the complexity of adopting new technologies.

Uploaded by

bc210401244ama
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views14 pages

Week-10 Slides

DevOps combines development and operations to enhance collaboration and efficiency in software development and deployment. It addresses challenges like isolated teams and manual processes, promoting faster market delivery and improved customer satisfaction through automation and continuous integration. While it offers significant advantages, such as reduced software delivery time, it also faces challenges like the scarcity of skilled professionals and the complexity of adopting new technologies.

Uploaded by

bc210401244ama
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 14

Software

Construction and
Development
Week-10
DevOps
• The DevOps is the combination of two words, one is Development
and other is Operations. It is a culture to promote the development
and operation process collectively.
• The DevOps will help you to learn DevOps basics and provide depth
knowledge of various DevOps tools such as Git, Ansible, Docker,
Puppet, Jenkins, Chef, Nagios, and Kubernetes.
Why DevOps?
• The operation and development team worked in complete isolation.
• After the design-build, the testing and deployment are performed
respectively. That's why they consumed more time than actual build
cycles.
• Without the use of DevOps, the team members are spending a large
amount of time on designing, testing, and deploying instead of
building the project.
• Manual code deployment leads to human errors in production.
• Coding and operation teams have their separate timelines and are not
in synch, causing further delays.
Water Fall Vs Agile
Waterfall Development Process
• Linear/Sequential
• Stages
• Advantages
• Disadvantages
Agile
• Iterative Process
• Workflow
• Advantages
• Disadvantages

• Agile Vs Waterfall
• Linear fashion of software development
Why DevOps?
◆ Efficiency - Faster time to market
◆ Predictability - Lower failure rate of new releases
◆ Reproducibility – Version everything
◆ Maintainability - Faster time to recovery in the event of a new

Image from - dev2ops.org


release crashing or otherwise disabling the current system

Break down the wall between development and operations


DevOps Advantages

◆ DevOps is an excellent approach for quick development and deployment of


applications.
◆ It responds faster to the market changes to improve business growth.
◆ DevOps escalate business profit by decreasing software delivery time and
transportation costs.
◆ DevOps clears the descriptive process, which gives clarity on product
development and delivery.
◆ It improves customer experience and satisfaction.
◆ DevOps simplifies collaboration and places all tools in the cloud for
customers to access.
◆ DevOps means collective responsibility, which leads to better team
engagement and productivity.
DevOps Disadvantages

◆ DevOps professional or expert's developers are less available.


◆ Developing with DevOps is so expensive.
◆ Adopting new DevOps technology into the industries is hard to
manage in short time.
◆ Lack of DevOps knowledge can be a problem in the continuous
integration of automation projects.
DevOps Architecture
DevOps Architecture
• 1) Build • 3) Test
• Without DevOps, the cost of the consumption • In the case of manual testing, it consumes
of the resources was evaluated based on the more time in testing and moving the code to
pre-defined individual usage with fixed the output. The testing can be automated,
hardware allocation. And with DevOps, the which decreases the time for testing so that
usage of cloud, sharing of resources comes into
the picture, and the build is dependent upon
the time to deploy the code to production
the user's need, which is a mechanism to can be reduced as automating the running of
control the usage of resources or capacity. the scripts will remove many manual steps.
• 2) Code • 4) Plan
• Many good practices such as Git enables the • DevOps use Agile methodology to plan the
code to be used, which ensures writing the development. With the operations and
code for business, helps to track changes, and development team in sync, it helps in
many others. The code can be appropriately organizing the work to plan accordingly to
arranged in files, folders, etc. And they can be increase productivity.
reused.
DevOps Architecture

• 5) Monitor • 7) Operate
• Continuous monitoring is used to identify • DevOps changes the way traditional approach
any risk of failure. Also, it helps in tracking of developing and testing separately. The
the system accurately so that the health of teams operate in a collaborative way where
the application can be checked. The both the teams actively participate
monitoring becomes more comfortable with throughout the service lifecycle. The
many third-party tools such as Splunk. operation team interacts with developers, and
they come up with a monitoring plan which
• 6) Deploy serves the IT and business requirements.
• Many systems can support the scheduler for • 8) Release
automated deployment. The cloud
• Deployment to an environment can be done
management platform enables users to
by automation. But when the deployment is
capture accurate insights and view the made to the production environment, it is
optimization scenario, analytics on trends by done by manual triggering.
the deployment of dashboards.
DevOps Lifecycle
• 1) Continuous Development
• This phase involves the planning and coding of the software. The
vision of the project is decided during the planning phase. And the
developers begin developing the code for the application. There
are no DevOps tools that are required for planning.
• 2) Continuous Integration
• This stage is the heart of the entire DevOps lifecycle. It is a
software development practice in which the developers require to
commit changes to the source code more frequently on a daily or
weekly basis. Building code is not only involved compilation, but it
also includes unit testing, integration testing, code review, and
packaging. Jenkins is a popular tool used in this phase.
• 3) Continuous Testing
• This phase, where the developed software is continuously testing
for bugs. For constant testing, automation testing tools such as
TestNG, JUnit, Selenium, etc are used. These tools allow QAs to
test multiple code-bases thoroughly in parallel to ensure that
there is no flaw in the functionality. This entire testing phase can
automate with the help of a Continuous Integration tool called
Jenkins.
• ent
• Ali is a PhD student and teaches BS students
DevOps Lifecycle
• 4) Continuous Monitoring
• Monitoring is a phase that involves all the operational factors of the entire DevOps process, where
important information about the use of the software is recorded and carefully processed to find out
trends and identify problem areas. It may occur in the form of documentation files or maybe produce
large-scale data about the application parameters when it is in a continuous use position. The system
errors such as server not reachable, low memory, etc are resolved in this phase. It maintains the security
and availability of the service.
• 5) Continuous Feedback
• The application development is consistently improved by analyzing the results from the operations of
the software. This is carried out by placing the critical phase of constant feedback between the
operations and the development of the next version of the current software application.
• 6) Continuous Deployment
• In this phase, the code is deployed to the production servers. Also, it is essential to ensure that the code
is correctly used on all the servers. The new code is deployed continuously, and configuration
management tools play an essential role in executing tasks frequently and quickly. Here are some
popular tools which are used in this phase, such as Chef, Puppet, Ansible, and SaltStack.
• Continuous Operations
• It is clear from the discussion that continuity is the critical factor in the DevOps in removing steps that
often distract the development, take it longer to detect issues and produce a better version of the
product after several months. With DevOps, we can make any software product more efficient and
increase the overall count of interested customers in your product.
DevOps Principles
• End to End Responsibility:
DevOps team need to provide performance support until they become the end of life. It
enhances the responsibility and the quality of the products engineered.
• Continuous Improvement:
• DevOps culture focuses on continuous improvement to minimize waste. It
continuously speeds up the growth of products or services offered .
• Automate Everything:
• Automation is an essential principle of the DevOps process. This is for software
development and also for the entire infrastructure landscape .
• Custom Centric Action:
• DevOps team must take customer-centric for that they should continuously invest in
products and services.
• Monitor and test everything:
• The DevOps team needs to have robust monitoring and testing procedures.
• Work as one team:
• In the DevOps culture role of the designers, developers, and testers are already
defined. All they needed to do is work as one team with complete collaboration.
DevOps Tools
• Puppet
• Puppet is the most widely used DevOps tool. It allows the delivery and release of the
technology changes quickly and frequently. It has features of versioning, automated
testing, and continuous delivery.
• Ansible
• Ansible is a leading DevOps tool. Ansible is an open-source IT engine that automates
application deployment, cloud provisioning, intra service orchestration, and other IT tools.
• Docker
• Docker is a high-end DevOps tool that allows building, ship, and run distributed
applications on multiple systems.
• Nagios
• Nagios is one of the more useful tools for DevOps. It can determine the errors and rectify
them with the help of network, infrastructure, server, and log monitoring systems.
• Jenkins
• Jenkins is a DevOps tool for monitoring the execution of repeated tasks. Jenkins is a
software that allows continuous integration. Jenkins will be installed on a server where the
central build will take place. It helps to integrate project changes more efficiently by finding
the issues quickly.

You might also like