DevOps is changing the state of global software development, and in some form DevOps is effectively improving the speed to market, marketability, innovation and product quality of software companies around the world.
2021 is a big year for DevOps. Since DevOps spans development, operations, IT, security, and product teams, and more, as well as different stages of software development, there is a huge selection of tools to choose from.
This article presents some of the top DevOps tools currently available on the market, keeping in mind the important categories of the CI/CD lifecycle. The first part is about configuration management, build, source code, and deployment tools, and this one is mainly about vulnerability management, quality, monitoring, and collaboration tools.
Cyber Threat and Vulnerability Management
TwistLock
TwistLock provides threats and vulnerabilities for container-based applications. The service is known for its integration with Kubernetes and Docker containers. TwistLock, now owned by Palo Alto Networks, performs security checks through its runtime application security protection and automated container scanning.
TwistLock has a robust documentation that is easy to deploy and enforces optimized resource consumption. It is also known for its CI/CD pipeline integration, strong compliance with container security protocols, and image scanning.
TwistLock is also known for its granular security analysis. The service also uses AI capabilities to understand the environment, although some companies have found the cron jobs it automatically triggers very confusing.
They also offer SaaS-based security scanning (prisma cloud) and on-premises solutions.
Sysdig
Sysdig is a monitoring tool for cloud infrastructure, services, and applications. Sysdig is commonly used for container security validation, monitoring, and monitoring arrangements for PaaS infrastructure.
Sysdig can also be used to monitor OpenShift clusters as it provides granular data to analyze metrics.
What makes Sysdig stand out is the strong integration of its container monitoring and orchestration layer.
Sysdig is also useful if you want to gain insight into process network traffic. Sysdig Opensource allows permissions at the kernel system call level to get host details. The capture information process can also be automatically deployed as a Docker container through a DaemonSet or a direct proxy process.
Anchore
Anchore is a complete container security workflow solution that integrates seamlessly with a variety of development tools and platforms. Anchore provides customized container inspection and compliance solutions for a range of different applications, enabling teams to comply with industry security standards.
Security teams can audit and verify compliance across the organization.
Features include:
- Support for webhooks, including cloud-hosted or on-premises Kubernetes environments and CI/CD platforms
- Policy-Based Security and Compliance
an examination:
- Vulnerability Scan
- secrets and passwords
- OS package
- Third-party database check, etc.
Quality/Testing
JMeter
JMeter is a load testing tool for testing web applications. Even if JMeter is used for load/performance testing, it can still be used to initiate API calls, status codes and responses. JMeter also supports many plugins.
You can also use JMeter's concurrent thread pool size feature to start multiple connections per thread during testing.
JMeter is platform independent and can run smoothly in different environments.
Test results can be viewed in a variety of ways, including graphs, charts, tree views, XML, and JSON.
JUnit
JUnit is a unit testing framework mainly used for Java applications. The JUnit framework belongs to the xUnit family of Java frameworks.
JUnit uses annotations to determine what method should be used in a test. Its test runner feature is also well-known in the developer community for its customization capabilities. You can also use assertions in JUnit to test for expected results.
In JUnit, you can use different combinations between multiple parameters. Creating and managing a rich suite of unit test cases for an entire application is very easy with the help of JUnit. JUnit can also automatically test all functionality and units of an application prior to module or system level testing.
Selenium
Selenium is an end-to-end testing software testing platform known for its user-friendly user interface that allows testers to simulate web system behavior, send API requests, and analyze system behavior.
Selenium allows writing complex and advanced test scripts using RUBY or HTML to address multiple levels of complexity.
Selenium provides web application developers with a complete IDE for editing, recording, and debugging tests. Custom start and breakpoints can be set for multiple test cases.
Some other key features of Selenium include:
- Integration with multiple development platforms such as Jenkins, Maven, TestNG, QMetry, SauceLabs
- Parallel Testing with Selenium Grid
- Compatible with all famous languages including Java, Ruby, C#, PHP, JavaScript, Perl and R
ZTF
At present, the automated testing frameworks on the market are mainly divided into unit testing frameworks and automated testing frameworks in a certain field. These frameworks are often bound to various languages, and the test scripts of these automated testing frameworks need to be managed in a unified manner. The ZTF automated testing framework thus was developed. ZTF focuses on the management function of automated testing, and provides the definition, management, driving, and return of execution results of automated test scripts, creation of bugs, and integration with other automated testing frameworks.
ZTF solves the following problems:
- Management of use case information
- Execution of test scripts
- Comparison of test results
- Bug submission
ZTF has the characteristics of simple syntax, cross-platform, cross-language, cross-framework, engineering, and cross-scenario. It can well drive 8 kinds of unit testing frameworks and 5 kinds of automated testing frameworks to execute tests, and return the final results to Zen It provides a unified report display, which bridges the gap between project management and continuous integration tools, and runs through different stages of the DevOps life cycle such as continuous integration, continuous testing, and continuous deployment.
SonarQube
SonarQube is an open source tool for code quality, continuous inspection, security and bug analysis. It works with Java, Python, XML and PHP as well as many languages out of the box. The tool can dynamically add rules via XPath expressions, and the tool can be customized to enforce certain conditions where exceptions should be ignored.
SonarQube is mainly used for static analysis. It has great integration with GitLab. SonarQube's dashboards and advanced tracking give you a lot of control over code quality and inspection.
SonarQube Cons:
- Does not work well with JavaScript
- sometimes slow
- Limited support for third-party tools and plugins
recording and monitoring
Grafana
Grafana is an open source analytics and monitoring solution built under the Apache 2.0 license, known for its great UI, graphs, charts, real-time analytics, and triggers. Grafana can ingest data from multiple sources, including Graphite, InfluxDB, OpenTSDB, and Prometheus.
Grafana is primarily used to monitor Docker containers, network devices, bandwidth, data flows, virtual servers, Azure infrastructure, databases, and web applications. Grifana is also known for its plugins and seamless integration with Telegraf and Zabbix.
Grafana can visualize granular data, including metrics such as the exact time of the outage, events before the outage, user logs, data center temperature, and performance forecasts.
New Relic
New Relic is a full-stack monitoring tool for tracking cloud-based applications and software. New Relic provides rich dashboards, distributed tracing support, detailed logging, top-down visibility and monitoring. New Relic has powerful monitoring capabilities for backend calls, which can explain in detail why the system is slowing down.
This tool is useful for companies that require detailed analysis of multiple stack profiles.
New Relic is expensive, but the company recently instituted a consumption-based pricing model.
Some of the disadvantages of New Relic include:
- Weak customer support
- Expensive even after consumption-based pricing models
- Difficult to debug
Nagios
Nagios is an open source software that monitors systems, networks and infrastructure. It actively monitors the health of services and maintains log storage files. It also shows the reason for the outage, the duration of the outage, and the events that might trigger the outage.
Nagios also provides several configuration options and alerting capabilities. You can suppress alerts for hosts, enforce maintenance mode on hosts, customize notification settings for alerts, and more.
Nagios supports hundreds of plugins. You can also create your own customizations and develop your own plugin support.
However, since Nagios is relatively old, it is difficult to operate with the latest infrastructure. It lacks database driven configuration and forces you to use configuration files.
ITSM and collaboration
ZenTao
ZenTao is an open source R&D project management software, designed based on agile and CMMI management concepts, which completely covers the core process of project management. It integrates product management, project management, quality management, document management, organizational management and transaction management, and supports end-to-end product lifecycle management.
Zen Tao's management idea focuses on practical results, complete and rich functions, simple and efficient operation, powerful search function, rich and diverse statistical reports, reasonable software structure, and flexible expansion.
ZenTao also implements the integration of Jenkins with Gitlab to better support the CI and CD cycles of DevOps.
Slack
Slack is a collaboration and communication tool that has grown in popularity lately. Slack is known for its real-time conversations, search capabilities, and user-friendly interface.
Slack is rapidly replacing email in the software industry due to its powerful user interface, fun features, and agility.
You can also use programming to make custom chatbots, infrastructure routines, and triggers for Slack.
Microsoft Teams
Microsoft Teams is a communication and collaboration tool. It is useful for companies working in the Windows ecosystem. In addition to instant messaging services, Teams is also useful because of its integration with the Azure DevOps platform. You can also connect your team with Azure Repos and Azure Pipelines.
Teams provide different channels where teams can collaborate with each other. This will create a project-specific communications repository that you can search for at any time.
Other features include:
- File recovery
- phone/video conference
- Chatbot Integration
- Office 365 integration
The sheer number of available tools can be daunting, but the choice itself is a good thing. Lack of standardization and automation can create an extremely high learning curve during onboarding or handover. The selection principle is not to waste time and financial resources by investing in similar, overlapping tools.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。