The integration of Development and Operations brings a new perspective to software development. If you’re new to DevOps practices, or looking to improve your current processes, it can be a challenge to know which tool is best for your team
A collaboration tool helps people to collaborate. The purpose of a collaboration tool is to support a group of two or more individuals to accomplish a common goal or objective.
Source Control Management
Source control (or version control) is the practice of tracking and managing changes to code. Source control management (SCM) systems provide a running history of code development and help to resolve conflicts when merging contributions from multiple sources.
Continuous Integration (CI) is a development practice where developers integrate code into a shared repository frequently, preferably several times a day. Each integration can then be verified by an automated build and automated tests. While automated testing is not strictly part of CI it is typically implied.
Build tools are programs that automate the creation of executable applications from source code. Building incorporates compiling, linking and packaging the code into a usable or executable form. … Using an automation tool allows the build process to be more consistent.
An artifact repository is a software application designed to handle artifacts. Artifacts are large binary packages that are created throughout the development and release process. Artifact repository tools store, version, and deploy artifacts for builds.
Static Code Analysis
Static code analysis is a method of debugging by examining source code before a program is run. … Static code analysis and static analysis are often used interchangeably, along with source code analysis. This type of analysis addresses weaknesses in source code that might lead to vulnerabilities.
Automated Testing Tools
Automated testing is a process that validates if software is functioning appropriately and meeting requirements before it is released into production. This software testing method uses scripted sequences that are executed by testing tools.
Automated Deployment Tools
Automated deployment is a form of deployment where the defined steps for shipping code from a development environment to staging/production environment is a one-step procedure and fully or partially automated.
Container Orchestration tools
Monitoring tools are used to continuously keep track of the status of the system in use, in order to have the earliest warning of failures, defects or problems and to improve them. There are monitoring tools for servers, networks, databases, security, performance, website and internet usage, and applications.
Monitoring & Dashboard
Applications are typically made up of individually containerized components (often called micro-services) that must be organized at the networking level in order for the application to run as intended. The process of organizing multiple containers in this manner is known as container orchestration.
Cloud Computing Services
Cloud computing services are vendors is Information Technology (IT) as a service over the Internet. Cloud computing services range from full applications and development platforms to servers, storage, and virtual desktops.