Introduction to DevOps tools
DevOps tools are a collection of a set of free, open-source or licensed tools to build your DevOps pipeline in an efficient and fast manner.
Here is a comprehensive guideline on the DevOps tools to learn and implement.
Build – Continuous Integration
ALM/PM tools- Application life cycle management tools to plan, track the work and integrate with other tools. Example- JIRA, Rally, mingle, IDE – Development Environment- EXP – Eclipse, Intellij – UFT
Version Control (SCM) –
Source Code Configuration Management – Example – Git, SVN, ClearCase, Perforce, Bit Bucket, Mercurial.
Quick Check-
After the Code Cheek into the SCM, Static Code quality tool is invoked and Code is checked against a set of guideline/vulnerabilities. Example- SonarQube, Find Bugs, Cheekstyle, JsHint, pmd, fortify.
Unit test –
Upon the successful pairing of Code through the quality Check, the unit testing tool is invoked to perform automated unit testing. Example – JUnit, Jasmine, Karma, Test NG, JS etc.
Code Coverage –
Upon successful pairing of unit tests, the Code Coverage tool is invoked which provides a default of % Code getting covered in the unit tests. Example- JaCoCo, Cobertura, Clover, EMMA, Istanbul
Build Automation-
Once all the quality standards are tested and verified, build is created. Example-Ant, Maven, Grunt, ivy, Gradle, Build Forge
Build repository –
The build binaries created are stored in the built repository. It is the central location for the binaries to be picked and deployed into various environments. Example – Nexus, Artifactory, Archive, Jfrog, Asset Manager.
CI Server –
All the above tools are integrated with CI Server. It helps to orchestrate the tools in the CI pipeline and ensures quality builds at every stage in the system. Example- Jenkins, Bamboo, Toamlity
Test- Continuous Validation
Functional/ Acceptance Test/ Regression / Performance/ Security
The build is then deployed into test environments for the functional, regression, performance, acceptance testing. Each stage of testing is automatically invoked and upon the successful execution of test cases, the next stage of testing invoked.
In Case of failure, defects are entered into defect management System, developers and testers are sent alert and the execution pipeline ends.
Example- FitNess, Selenium, Cucumber, Jbehave, HPUFT, load Runner, App Scan, Fortify, Vera Code.
Service virtualizations –
Service virtualization is a virtualized implementation of a software product with all components integrated. It should not be misunderstood with server virtualization or with mocking.
Server virtualization sets up only the server virtually while service virtualization focuses on replicating any context or interaction between the product and the server.
Mocking is similar to service virtualization but is done to obtain desired test results for individual contexts that may bypass actual production environments norms.
During the test cycles, the dependency on interfaces is removed by the usage of service virtualizations tools to ensure an end to end testing is completed. Example – CA -Lisa, IBM, RTV, Server, Soap UI
Advantages of Service Virtualization
- Service virtualization offers a comprehensive first-hand testing platform that is complete with all requirements of the actual production environment.
- Service virtualization enables product testers as well as QA teams to test an application in a simulated working environment that is a replica of the actual deployment environment. It may either be a virtually configured product replica itself or a virtually configured product environment.
Defect Management –
Defect found in testing periods is entered into the defect management system automatically in case of any test case failure during the test execution cycle.EXP – QC, JIRA, BN Rational Quality Manager, bug Zilds
Test Data Management –
Invoked automatically to create or manage the test data required for testing different scenarios. These tools are mostly used when a huge volume of test data is required to test different scenarios.EXP- CA -Data marker, Optim
Deployment and Provisioning
Continuous Delivery (CD)-
Environment Management and release automation-
Environment provisioning tools are invoked to provision the environment on demand. These environments can be configured automatically based on the required configuration. This can help reduce manual error during environment setup. Deployment tools used to deploy the application into different environments.
Example- Chef, Puppet, XL Deploy, XL Release, U deploy, Docker Arisible, CA- Release Automation.
Database deploy –
The database can be deployed automatically by these tools to avoid manual errors and improved the cycle time. Example – LiquidBase, RedGate, DBDeploy, DBmaestro.
Monitoring log and Reporting/Change Management–
CD pipeline can also be integrated with monitoring tools in such a fashion that some of the events or incidents can directly create the tasks in ALM tool so that the deployment team can take required actions.
Example – Elastic Search, logstash, kibane, ServiceNow, Remedy, Nagios, Splunk, AppDynamics.
Build process tools
Build Process tools are similar.
Continuous Integration
ALM – PM tools – TFS, Rally, Mingle, Jira
IDE – Visual Studio
Version Control- TFS, Git, CVS, SVN
Quality Check- FxCop, StyleCop, App Scan, Fortify
Code Coverage – NCover, Cobertura, Open Cover
Unit test – NUnit, Nmock, Xunit net, Ms test.
Build Automation – Make, NANT, MS Build, NU Build
Build repository – Nexus, Arti factory, Archive, Tfrog, Nuget
CI Server – Jenkins, TFS, Bamboo, Teamcity
Test –
Continuous Validation
Functional / Acceptance / regression / Performance/ Security –
Fitness, N behave, Cucumber, VSTS, Load Runner
Service Virtualizations – CA-Lisa, IBM-RTV Server, Soap UI
Defect Management – HPQC, JIRA, IBM Rational, Clear Quest.
Test data management – CA Data Maker, Lisa.
Deployment and provisioning-
Continuous Delivery-
Environment Management and Release Automation-
Chep, Puppet, XL Deploy, Visual Studio Release Management, XL- release, U deploy.
Database Deploy – Liqui Base, Red Gate, DB Deploy
Monitoring log and reporting/ change management -ElasticSearch, logstash, kibane, ServiceNow, Remedy, Nagios, Splunk, AppDynamics.
The list of tools used in DevOps
Phase | Activity | Java/Open stack | Microsoft Stack | IBM Stack | Other tools |
---|---|---|---|---|---|
Plan | Application Life cycle maintenance | Jira Request Tracker | Visual Studio Team Foundation Server | IBM rational team concert | CA Ralley Mingle Mantis BT TRAC REDMINE DevTrack IBM Rational ClearQuest FogBugz PHP Bug Tracker DoneDone TestTrack Bug Track Gemini BontQ InformUp Bug Aware |
Development | Rapid Prototyping | Microsoft Expression | InVision | ||
Development | Version Control | git
CVS Subversion | Visual Studio Team Foundation Server | IBM Rational clearcase | Perforce BitBucket Mercurial |
Development | Static Code Quality Analysis | CheckStyle JSHint FindBugs SonarQube Stylecop | FxCop | SonarQube | PMD Nitriq Fortify CAST |
Development | Dynamic Code Quality | JProbe | Visual Studio Team System (VSTS) | AppScan | PerfMon JProfiler ANTSPROFILER Jtest |
Development | Code Coverage | JaCoCo Cobertura | NCOver OpenCover | Clover | EMMA Istanbul |
Development | Code Review | Jupiter | Visual Studio | Crucible | Collaborator Review Assistance |
Development | Unit Testing | JUnit Karma Jesmine | nUnit Visual Studio MSTest | Junit | TestNG |
Development | Build Automation | Maven GRUNT ANT | Visual Studio MSBuild | IBM Rational Build Forge | IVY Gradle |
Development | Artifact Repository | Nexus Frog Artifactory | Visual Studio Team Foundation Server | IBM Rational Asset Manager | archiva nuget Proget |
Development | Continuous Integration | Bamboo Jenkins Hudson | Visual Studio Team Foundation Server | TeamCity | IBM UrbanCode Build |
Validatation | Database deployment | maestro LiquiBase redgate | Visual Studio | dbdeploy | Flyway |
Validatation | Functional Testing | Selenium Protactor CucumberPostman Watir Karate DSL AutoIT HttpMaster Express Watin Rest- Assured CasperJS RestSharp Rest Console Sikuli Teststack-White PyWinauto AutoHotkey WinAppDriver | Visual Studio Test Professional | IBM Rational Test Work Bench | QTP / UFT jbehave Sahi TestComplete Tosca Winrunner Silk (TestPartner) Ascentialtest eggPlant Functional Ranorex TestCafe Screenster HttpMaster Web Test ghostinpsector RoboHydra Server QA Wizard Pro Hippie-Swagger TestAnywhere iMacros WebInject Pyresttest LDTP – cobra SOATest Squish Airborne OFT – OATSUnirestMockbin Citrus FrameworkZeroCodeTavernKatalon Studio |
Validatation | Test Management/Defect Management | BugZilla ZEPHYR Fossil WebIssues eTraxis TestLink QaTraq | Visual Studio Test Professional | IBM Rational Quality Manager | Quality Center/HP ALM TOSCA Test Suite Test Wave Enterprise Tester Zoho Bug Tracker JIRA TestFLO for JIRA Test Collab TestRail TestLog TestLodge Qmetry Testuff QAComplete Oracle Test Manager The Bug Genie BugNet qTest PractiTest Bug Host Bug a Boo YouTrack Xqual TestPad Aptest SpiraTest Meliora TestLab SmarteQM Test Run Unfuddle AxoSoft Silk Central TestuffChakram – REST API test frameworkRestBird |
Validatation | Test Data Management | DataFinder odataMaker | Informatica | OPTiM | Compuware Fie-AID |
Validatation | Service Virtualization | Mokito SOAPUI | SOAPUI | IBM Rational Test Work Bench | CA-Lisa HP-SV |
Validatation | Performance Testing | JMeter The Grinder 3.11 Gatling 2.3.0 Tsung 1.7.0 Locust 0.8 | Visual Studio Team System | IBM Rational Performance Tester | SOASTA HP-LoadRunner Wapt QA Wizard Pro Telerik Test Studio NeoLoad LoadUI Loadster Load impact OLT – OATS |
Validatation | Security Testing | AppScan Kali Linux OWASP | AppScan | AppScan | Fortify VERACODE HP WebInspect |
Continous Delivery | Containerization | Chef Docker Puppet Ansible | Chef | Chef | Vargrant HP SA |
Continous Delivery | Continous Delivery | Go | XL Deploy | uDeploy | Automatic ARA CA-Release Automation HP CDA |
Continous Delivery | Release Management | XLRelease | Visual Studio Release Manager | uRelease | Automatic ARA CA-Release Automation |
Continous Delivery | Incident management/Moniroting dashboard | logstash nagios kibana | Visual Studio Application Insight | IBM Rational Insight IBM Rational APM | Splunk App DynamicsServiceNow Pagerduty Freshservice Spiceworks Zendesk Jira Service Desk |
Conclusion:
Here is the list of tools that are effective and efficient to build the DevOps pipeline. If you have enjoyed the post please consider it sharing.
References:
- https://xebialabs.com/the-ultimate-devops-tool-chest/open-source/
- https://www.guru99.com/devops-tools.html
- https://raygun.com/blog/best-devops-tools/
- https://hackr.io/blog/top-devops-tools
- https://www.osolabs.com/blog/devops-tools-of-the-trade/