What Is Devops?
What Is Devops?
What Is Devops?
what is Devops?
• This is the process adopted by all the top companies to develop high-quality software and
shorter development lifecycles, resulting in greater customer satisfaction, something that
every company wants.
• Plan. This phase helps define business value and requirements. Sample tools include Jira or Git
to help track known issues and perform project management.
• Code. This phase involves software design and the creation of software code. Sample tools
include GitHub, GitLab, Bitbucket, or Stash.
• Build. In this phase, you manage software builds and versions, and use automated tools to help
compile and package code for future release to production. You use source code repositories or
package repositories that also “package” infrastructure needed for product release. Sample tools
include Docker, Ansible, Puppet, Chef, Gradle, Maven, or JFrog Artifactory.
• Test. This phase involves continuous testing (manual or automated) to ensure optimal code
quality. Sample tools include JUnit, Codeception, Selenium, Vagrant, TestNG, or Blaze Meter.
• Deploy. This phase can include tools that help manage, coordinate, schedule, and automate
product releases into production. Sample tools include Puppet, Chef, Ansible, Jenkins,
Kubernetes, OpenShift, OpenStack, Docker, or Jira.
• Operate. This phase manages software during production. Sample tools include Ansible, Puppet,
PowerShell, Chef, Salt, or Otter.
• Monitor. This phase involves identifying and collecting information about issues from a specific
software release in production. Sample tools include New Relic, Datadog, Grafana, Wireshark,
Splunk, Nagios, or Slack.
• Developers will use SCM to track their changes separately and then merge them
together
• All pieces of automation that need to interact with the source code will use SCM:
How CI Works
Build Pipeline / CI Pipeline
Build Phase / Build Automation
Testing Phase / Automated Testing
Testing types
1. Unit Testing
2. Integration Testing
• Unit Testing: It is the testing of an individual unit or group of related units. It is often
done by the programmer to test that the unit he/she has implemented is producing
expected output against given input.
• Integration Testing: It is a type of testing in which a group of components are combined
to produce the output. Also, the interaction between software and hardware is tested if
software and hardware components have any relation. It may fall under both white box
testing and black box testing.
What is CD?
Release pipeline /CD Pipeline
Deploy Phase
Auto Test Phase:
Once the code is deployed successfully, you can run another series of Acceptance Tests or Sanity
test for the final check. If everything is accepted, then it can be deployed to production.
UAT testing is performed when all the measure bugs are fixed
UAT Testing is performed when fully integrated and bug fixed software is available.
Sanity Test:
Deploy to Production:
This lifecycle continues until we get code/a product which can be deployed to the production
server where we measure and validate the code.