Do you like free things? Automated, open source tools supported by the developer community are what everyone dreams of. Here are more than 60 of the best open source tools that can help you implement DevOps well.
One, development tools
Version control & collaborative development
1. Version control system Git
Git is an open source distributed version control system for effective and high-speed processing of version management from very small to very large projects.
2. Code hosting platform GitLab
GitLab is an open source application developed with Ruby on Rails, which implements a self-hosted Git project repository, which can access public or private projects through a web interface.
3. Code review tool Gerrit
Gerrit is a free, open source code review software that uses a web interface. Using a web browser, software programmers on the same team can review each other's modified program code and decide whether to submit, return or continue to modify. It uses Git as the underlying version control system.
4. Version control system Mercurial
Mercurial is a lightweight distributed version control system, implemented in Python language, easy to learn and use, and strong in scalability.
5. Version control system Subversion
Subversion is a version control system. Compared with RCS and CVS, it adopts a branch management system. Its design goal is to replace CVS. Most of the free version control services on the Internet are based on Subversion.
6. Version control system Bazaar
Bazaar is a distributed version control system. It is released under the GPL license and can be used on Windows, GNU/Linux, Unix and Mac OS systems.
2. Automated construction and testing
1.Apache Ant
Apache Ant is a tool that automates the steps of software compilation, testing, and deployment. It is mostly used for software development in the Java environment.
2.Maven
In addition to its ability to build programs, Maven also provides advanced project management tools that Ant lacks. Because Maven's default build rules are highly reusable, a simple project can often be built with two or three lines of Maven build scripts, while using Ant requires more than a dozen lines. In fact, due to Maven's project-oriented approach, many Apache Jakarta projects now use Maven, and the proportion of company projects adopting Maven continues to grow.
3.Selenium (SeleniumHQ)
A powerful tool for integration testing from Thoughtworks.
4.PyUnit
The Python unit testing framework (The Python unit testing framework), referred to as PyUnit, is a Python version of JUnit designed by two smart guys, Kent Beck and Erich Gamma.
5.QUnit
QUnit is jQuery's unit testing framework.
6.JMeter
JMeter is an open source project organized by Apache. It is a tool for function and performance testing. It is 100% implemented in Java.
7.Gradle
Gradle is a build system that can use Groovy to write build scripts. It supports dependency management and multi-projects, similar to Maven, but simpler and lighter than that.
8.PHPUnit
PHPUnit is a lightweight PHP testing framework. It is a complete porting of JUnit3 series versions under PHP5, and is a member of the xUnit test framework family (they are all based on the design of pattern pioneer Kent Beck).
Three, continuous integration & delivery
1.Jenkins
The predecessor of Jenkins is Hudson, which is an extensible continuous integration engine.
2.Capistrano
Capistrano is a tool used to execute the same command on multiple machines in parallel, used to install a whole batch of machines. It was originally developed to publish Rails applications.
3.BuildBot
BuildBot is the most necessary software for a system's automated compilation/testing cycle to verify code changes. By automatically rebuilding and testing what has changed every time, unnecessary failures can be reduced before the construction is quickly identified.
4.Fabric
fabric8 is an open source Java Containers (JVMs) deep management integration platform. With fabric8, it is very convenient to carry out automatic operation, configuration and management from a central location where the UI and UX are consistent. Fabric8 also provides some non-functional requirements, such as configuration management, service discovery failover, centralized monitoring, automation, and so on.
Tinderbox
5.Travis CI
Travis CI is a cloud-based continuous integration project that currently supports most mainstream languages, such as: C, PHP, Ruby, Python, Nodejs, etc.
6.Continuum
Apache Continuum is one of the latest CI servers and a new entrant worthy of attention. The web-based interface makes it easy to configure the project. Moreover, there is no need to install a web server, because Continuum has a built-in Jetty web server. And, Continuum can run as a Windows service, and it also embeds context-sensitive documents in some parts of the application, which provides a lot of help.
7.LuntBuild
LuntBuild is a powerful automatic build tool. Through a simple web interface, the continuous construction of the system can be easily carried out.
8.CruiseControl
CruiseControl is a framework for continuous building programs (continuous integration of projects), which includes an email notification plug-in, Ant and various CVS tools. CruiseControl provides a Web interface to view the current compilation status and historical status at any time.
9.Integrity
Integrity is a continuous integration server developed by Ruby.
10.Gump
Gump is an integration tool for Apache. It is written in Python and fully supports software building tools such as Apache Ant and Apache Maven.
11.Go
Go is a compiled, parallel, and garbage-collected programming language developed by Google.
Four, deployment tools
(1) Container platform
1.Docker
Docker is an open source application container engine that allows developers to package their applications and dependencies into a portable container, and then publish it to any popular Linux machine, which can also be virtualized.
2.Rocket
Rocket (also called rkt) is a container engine launched by CoreOS, which is similar to Docker. It helps developers package applications and dependent packages into portable containers, simplifying deployment tasks such as setting up the environment.
3.Ubuntu(LXC)
LXD is a reconstruction of ubuntu based on LXC technology. The container naturally supports unprivileged and distributed. LXD and Docker have different ideas. Docker is PAAS and LXD is IAAS. The LXC project consists of a Linux kernel patch and some userspace tools. These userspace tools use new kernel features added by patches and provide a simplified set of tools to maintain containers.
(2) Configuration management
1.Chef
Chef is a system integration framework that provides configuration management functions for the entire architecture.
2.Puppet
With Puppet, you can centrally manage every important aspect. Your system uses a cross-platform specification language. The management of all individual elements is usually gathered in different files, such as users, CRON jobs, and the host. Obviously discrete elements, such as Packaging, service and documentation.
3.CFengine
Cfengine (configuration engine) is a Unix management tool whose purpose is to automate simple management tasks and make difficult tasks easier. Cfengine is suitable for managing various environments, from one host to a cluster of tens of thousands of hosts.
4.Bash
Bash is the default shell of most Linux systems and Mac OS X v10.4. It can run on most Unix-style operating systems, and has even been ported to the Cygwin system on Microsoft Windows to implement the POSIX virtual interface of windows. . In addition, it was also ported to MS-DOS by the DJGPP project.
5.Rudder
Rudder has been renamed Flannel to provide a subnet for each machine using Kubernetes. That is to say, each host in the Kubernetes cluster has its own complete subnet. For example, machines A and B can have 10.0.1.0/24 and 10.0.2.0/24 subnets.
Powershell
6.RunDeck
RunDeck is an open source tool written in Java/Grails to help users automate various operations and processes in a data center or cloud environment. Through the command line or web interface, users can operate any number of servers, which greatly reduces the threshold for server automation.
7.Saltstack
Saltstack can be seen as an enhanced version of func + a weakened version of Puppet. Written in Python. Very easy to use and can be quickly deployed based on EPEL. Salt is an open source tool to manage your infrastructure, which can easily manage thousands of servers.
8.Ansible
Ansible provides a tool for publishing, managing and orchestrating computer systems in the simplest way, and you can do it in a few minutes. Ansible is a model-driven configuration manager that supports multi-node publishing and remote task execution. By default, SSH is used for remote connections. There is no need to install additional software on the managed node, and various programming languages ​​can be used for expansion.
(3) Microservice platform
1.OpenShift
OpenShift is a platform as a service (PaaS) launched by Red Hat for open source developers. OpenShift allows developers to build, test, run, and manage their applications by providing developers with more choices in languages, frameworks, and the cloud.
2.Cloud Foundry
Cloud Foundry is the industry’s first open source PaaS cloud platform launched by VMware on April 12, 2011. It supports multiple frameworks, languages, runtime environments, cloud platforms, and application services, enabling developers to do so in a few seconds. There is no need to worry about any infrastructure issues for application deployment and expansion.
3.Kubernetes
Kubernetes is an open source container cluster management system from Google Cloud Platform. Build a container scheduling service based on Docker. The system can automatically select a working container for use in a container cluster. The core concept is Container Pod.
4. Mesosphere
Apache Mesos is a cluster manager that provides effective resource isolation and sharing across distributed applications or frameworks, and can run Hadoop, MPI, Hypertable, and Spark.
(4) Service opening
1.Puppet
With Puppet, you can centrally manage every important aspect. Your system uses a cross-platform specification language. The management of all individual elements is usually gathered in different files, such as users, CRON jobs, and the host. Obviously discrete elements, such as Packaging, service and documentation.
Razor
2.Docker Swarm
Docker Swarm is a local cluster of Dockerized distributed applications. It optimizes the utilization of host resources and fault-tolerant services based on the functions provided by Machine. Specifically, Docker Swarm allows users to create a host resource pool that can run Docker Daemon, and then run Docker containers in the resource pool. Docker Swarm can manage workloads and maintain cluster status.
3.Vagrant
Vagrant is a Ruby-based tool for creating and deploying virtualized development environments. It uses Oracle's open source VirtualBox virtualization system and Chef to create an automated virtual environment.
4.Powershell
5.OpenStack Heat
Five, maintenance
Logging
1.Logstash
Logstash is a platform for application log and event transmission, processing, management and search. You can use it to collect and manage application logs in a unified manner, and provide a web interface for query and statistics.
2.CollectD
collectd is a daemon process that collects system performance and provides various storage methods to store different values. For example, in the form of an RRD file.
3.StatsD
StatsD is a simple network daemon based on the Node.js platform. It listens to various statistical information, including counters and timers, via UDP or TCP, and sends aggregated information to back-end services, such as Graphite.
6. Monitoring, warning & analysis
1.Nagios
Nagios is a monitoring system that monitors the running status of the system and network information. Nagios can monitor specified local or remote hosts and services, and provide exception notification functions.
2.Ganglia
Ganglia is a cross-platform scalable, distributed monitoring system under high-performance computing systems, such as clusters and grids. It is based on a hierarchical design, and it uses a wide range of technologies such as XML data representation, portable data transmission, and RRDtool for data storage and visualization.
3. Sensu
Sensu is an open source monitoring framework. Main features: Highly composable; Provides a monitoring agent, an event processor and document APIs; Designed for the cloud; Sensu's modern architecture allows monitoring of large-scale dynamic infrastructure, capable of monitoring thousands of global distributions through complex public networks -Style machines and services; enthusiastic community.
4.zabbix
Zabbix is ​​an enterprise-level open source solution that provides distributed system monitoring and network monitoring functions based on a web interface.
5.ICINGA
The ICINGA project was initiated by Michael Luebben, Hendrik Böcker, and Joerg Linge. They are all members of the existing Nagios project community committee. They promised that the new open source project will be fully compatible with previous Nagios applications and extended functions.
6.Graphite
Graphite is an open source project used to collect real-time website information and statistics. It can be used to collect information on the running status of a variety of website services. The Graphite service has an average of 4800 update operations per minute.
7.Kibana
Kibana is a log analysis web interface for Logstash and ElasticSearch. You can use it to perform efficient search, visualization, analysis and other operations on the log.
Above, if there are other supplements, you can share with you in the comments!
Brake Disc For HONDA
HONDA Brake Disc Replacement,HONDA Auto Brake Disc,HONDA Car Brake Disc,HONDA Automobile Brake Disc
Zhoushan Shenying Filter Manufacture Co., Ltd. , https://www.renkenfilter.com