The DigitalOcean Community Team
We hope you find this tutorial helpful. In addition to guides like this one, we provide simple cloud infrastructure for developers. Learn more →

DigitalOcean Community Glossary

PostedNovember 3, 2017 1.8k views Linux Basics Miscellaneous Getting Started


Ansible is a configuration management system used to set up and manage infrastructure and applications in varied environments. It allows users to deploy and update applications in approachable language, using SSH, without needing to install an agent on a remote system.


The Apache HTTP Server is an open-source web server popular for its flexibility, power, and widespread support. It is extensible through a dynamically loadable module system and can process a large number of interpreted languages without connecting out to separate software.


An application programming interface (API) is a set of routines, definitions, and protocols that allow developers to build application software. APIs abstract implementation and expose only necessary objects and actions to the developer. Within cloud computing, developers use APIs to manage servers and other resources through conventional HTTP requests.


Backups are copies or archives of data used for recovery after loss, deletion, or corruption. Developers can create backups in a number of ways, including manual implementation, cloud hosting services, or backup programs (such as Bacula).

Big Data

Big data is a blanket term for the non-traditional strategies and technologies needed to organize, process, and gather insights from large datasets. Many users and organizations are turning to big data for certain types of work loads, and using it to supplement their existing analysis and business tools. Tools that exist in this space offer different options for interpolating data into a system, storing it, analyzing it, and working with it through visualizations.

Block Storage

A block storage service functions as a hard drive provided over the network. Developers can use block storage services to store files, combine multiple devices into a RAID array, or configure a database to write directly to the block storage device. Block storage offers a different set of capacities than object storage, which allows developers to store unstructured data using an HTTP API. Developers working on complex applications often take advantage of both options.


Caching refers to the process by which reusable responses are stored to make subsequent requests faster.


Chef is a configuration management tool that automates infrastructure as code. It uses Ruby and groups configuration details into what it calls “recipes.”


Continuous integration focuses on integrating work from individual developers into a main repository multiple times a day to catch integration bugs early and accelerate collaborative development. Continuous delivery is concerned with reducing friction in the deployment or release process, automating the steps required to deploy a build so that code can be released safely at any time. Continuous deployment takes this one step further by automatically deploying each time a code change is made.


Clustered computing is the practice of pooling the resources of multiple machines and managing their collective capabilities to complete tasks. Developers can use clusters to increase processing power and storage.

Content Management System

A content management system is an application used to support the creation and revision of web content. Popular CMS tools include WordPress, Joomla, and Drupal.

Configuration Management

Configuration management refers to the processes by which administrators and operations teams control large numbers of servers. Automation is at the heart of most configuration management tools, which allow developers to quickly provision new servers, recover from critical events, manage version control, and replicate environments. Popular CM tools include Puppet, Ansible, Chef, and Salt.

Control Panels

A control panel allows users to manage system settings and features in a single place. The nature and function of a control panel depends on its environment: in web hosting, for example, users can navigate the control panel offered by their web hosting provider for an external or global view of their servers and resources. Users can also install control panels on these servers to manage their internal aspects.

Data Analysis

Data analysis refers to activity, across a range of fields, that investigates the structure of data and uses it to identify patterns and possible solutions to problems. Within this domain, data science draws on methodologies from statistics, mathematics, and computer science to both analyze events using data and predict possible outcomes. One important trend within data science is machine learning, which uses algorithmic data inputs and statistical analysis to train computers to output values within a certain range. In this way, machine learning enables practices such as automated decision-making.


Deployment refers to the process of readying something for use . Depending on what is being deployed (software system, hardware, etc.), this process can include installing scripts or commands for software execution, activating executable software elements, and updating older software systems, among other things.


Development can refer to a range of programming activities and routines involved in the creation and maintenance of programs. Within software development, these activities can include writing and revising code, prototyping, researching, testing, and modifying problematic components.


Django is a high-level Python framework for developing web applications rapidly. Its core principles are scalability, re-usability, and rapid development.


The Domain Name System is a decentralized naming system that translates memorable and accessible domain names to numerical IP addresses within underlying network protocols. Users can establish greater control over hosted domains by managing their DNS servers, opting for caching servers, forwarding servers, authoritative-only servers, or a combination of different types.


Docker is a popular containerization tool used to provide software applications with a filesystem that contains everything they need to run. Using Docker containers ensures that the software will behave the same way, regardless of where it is deployed, because its run-time environment is consistent.


Drupal is a popular content management system (CMS) used to run some of the largest blogs and websites across the internet. Due to the stability of the base, the adaptability of the platform, and its active community, Drupal remains a popular choice among users after more than a decade on the scene.

Free Software

Free software is any program released with a license approved by the Free Software Foundation which allows users to view, modify, and share the source code without risk of legal repercussions. Similarly to the open-source movement, the goal behind free software is to promote and support community-driven development methods and to curb the spread of proprietary software licenses.


Joomla is a widely-used, highly customizable, free and open-source web content management system written in PHP.


Kubernetes is a cloud platform for automating the deployment, scaling, and management of containerized applications.

LAMP Stack

A LAMP Stack is a set of software that can be used to create dynamic websites and web applications. LAMP is an acronym for the software that comprises the stack: the Linux operating system, the Apache HTTP Server, the MySQL relational database management system, and the PHP programming language. Note that some components are interchangeable, and a LAMP Stack may include MariaDB instead of MySQL, or Perl or Python instead of PHP.


LEMP (also known as LNMP) is a software stack used for creating dynamic websites and web applications. It consists of the Linux operating system, the (E)Nginx web server, the MySQL relational database management system, and the PHP programming language. Like LAMP Stacks, some of these components are interchangeable with others.

Let’s Encrypt

Let’s Encrypt is a certificate authority that provides free TLS/SSL certificates. Let’s Encrypt focuses on simplicity and ease-of-use, with the ultimate goal of making encrypted connections to the World Wide Web ubiquitous.

Load Balancing

Load balancing refers to the distribution of work among a pool of homogeneous backend servers in order to optimize the use of computing resources and prevent the overload of any single resource.


Logging refers to the recording of all the events that occur in a computer’s operating system. This information is usually stored for review in the system’s log file.


MariaDB is a free and open-source relational database management system. MariaDB was originally built as a fork of MySQL, and is thus highly compatible with its source code.


MEAN is a free and open-source software stack for creating dynamic websites and web applications. The software stack typically includes MongoDB, Express, Node.js, and AngularJS.


Messaging is the act of passing content or controls between users, computers, programs, and/or components of a single system. Message queuing refers to the management of messages between software users or components for a given process.


MongoDB is a free and open-source document-oriented database platform which uses JSON-like documents with schemas.


MySQL is an open-source relational database management system. An incredibly flexible and powerful program, MySQL is used to store and retrieve data for a wide variety of popular applications.


Nginx (pronounced like ‘engine-x’) is an open-source web server capable of reverse proxying, load balancing, and more. Nginx is one of the most popular web servers in the world and is used to host some of the largest and most highly-trafficked sites on the internet.


Node.js is a fast, lightweight platform built on Chrome's JavaScript runtime. It uses event-driven (as opposed to thread-based) programming to build scalable applications and network programs. By leveraging Javascript on both the front-end and the back-end, development can be more consistent and web applications can be designed within the same development environment.


A NoSQL database is any non-relational database environment that allows for the fast organization and analysis of disparate and high-volume data types. By using an unstructured (or structured-on-the-go) approach, NoSQL databases aim to eliminate the limitations of strict relations and offer many different types of ways to keep and work with the data for specific use cases (e.g. full-text document storage).

Object Storage

Object storage is a data storage architecture that manages data as objects (unstructured blobs of data and metadata) using an HTTP API, instead of as blocks or a file hierarchy.

Open Source

Open-source software is any program released with a license approved by the Open Source Initiative which allows users to view, modify, and share the source code without risk of legal repercussions. Similarly to the free software movement, the goal behind open-source software is to promote and support community-driven software development methods.


Perl is a family of programming languages, popular for their extreme versatility and their use as a glue language between software components.


PHP is a scripting language designed primarily for web development, but it’s also become widely-used as a general-purpose programming language.


PostgreSQL is a free and open-source object-relational database management system which emphasizes extensibility and standards compliance.


Python is a high-level, interpreted programming language which prioritizes the clarity and readability of code.


Creative Commons License