Conceptual
Understanding the LDAP Protocol, Data Hierarchy, and Entry Components
Tutorials
Conceptual
System Tools
Introduction> Introduction # LDAP, or Lightweight Directory Access Protocol, is an open protocol used to store and retrieve data from a hierarchical directory structure. Commonly used to store information about an organization and its assets and users, LDAP is a flexible solution for defining any type of entity and its qualities.
An Introduction to Machine Learning
Tutorials
Conceptual
Development
Machine Learning
Introduction> Introduction # Machine learning is a subfield of artificial intelligence (AI). The goal of machine learning generally is to understand the structure of data and fit that data into models that can be understood and utilized by people.
An Introduction to Configuration Management
Tutorials
Conceptual
Configuration Management
Getting Started
Introduction> Introduction # As a broader subject, configuration management (CM) refers to the process of systematically handling changes to a system in a way that it maintains integrity over time. Even though this process was not originated in the IT industry, the term is broadly used to refer to server configuration management.
An Introduction to Networking Terminology, Interfaces, and Protocols
Tutorials
Conceptual
Linux Basics
Networking
Introduction> Introduction # An understanding of networking is important for anyone managing a server. Not only is it essential for getting your services online and running smoothly, it also gives you the insight to diagnose problems.
An Introduction to DNS Terminology, Components, and Concepts
Tutorials
Conceptual
DNS
FAQ
Linux Basics
Introduction> Introduction # DNS, or the Domain Name System, is often a very difficult part of learning how to configure websites and servers. Understanding how DNS works will help you diagnose problems with configuring access to your websites and will allow you to broaden your understanding of what’s going on behind the scenes.
CI/CD Tools Comparison: Jenkins, GitLab CI, Buildbot, Drone, and Concourse
Tutorials
CI/CD
Conceptual
Introduction> Introduction # Continuous integration, delivery, and deployment are strategies designed to help increase the velocity of development and the release of well-tested, usable products. Continuous integration encourages development teams to test and integrate their changes to a shared codebase early to minimize integration conflicts.
How To Contribute to Open Source: Getting Started with Git
Tutorials
Conceptual
Development
Git
Open Source
Status: Deprecated> Status: Deprecated # This article is deprecated and no longer maintained.
Reason> Reason # We now provide Git setup instructions for each platform individually.
See Instead> See Instead # This article may still be useful as a reference, but may not follow best practices.
HTTP/1.1 vs HTTP/2: What’s the Difference?
Tutorials
Conceptual
Networking
The author selected the Society of Women Engineers to receive a donation as part of the Write for DOnations program.
Introduction> Introduction # The Hypertext Transfer Protocol, or HTTP, is an application protocol that has been the de facto standard for communication on the World Wide Web since its invention in 1989.
The Docker Ecosystem: An Introduction to Common Components
Tutorials
Conceptual
Docker
Getting Started
Introduction> Introduction # Containerization is the process of distributing and deploying applications in a portable and predictable way. It accomplishes this by packaging components and their dependencies into standardized, isolated, lightweight process environments called containers.
Getting Started With Puppet Code: Manifests and Modules
Tutorials
Conceptual
Configuration Management
Ubuntu
Introduction> Introduction # After setting up Puppet in an agent/master configuration, you may need some help writing Puppet manifests and modules. In order to use Puppet effectively, you must understand how manifests and modules are constructed.
A Comparison of NoSQL Database Management Systems and Models
Tutorials
Conceptual
Databases
MongoDB
NoSQL
Introduction> Introduction # When most people think of a database, they often envision the traditional relational database model that involves tables made up of rows and columns. While relational database management systems still handle the lion’s share of data on the internet, alternative data models have become more common in recent years as developers have sought workarounds to the relational model’s limitations.
An Introduction to LVM Concepts, Terminology, and Operations
Tutorials
Conceptual
Linux Basics
Storage
System Tools
Introduction> Introduction # LVM, or Logical Volume Management, is a storage device management technology that gives users the power to pool and abstract the physical layout of component storage devices for flexible administration.
Why You May Not Want To Run Your Own Mail Server
Tutorials
Conceptual
Email
Introduction> Introduction # When setting up a web site or application under your own domain, your hosting provider may also offer you the option of configuring your own mail server. Although there are many robust open source solutions such as Dovecot, hosting your own mail is often not the best option for many deployments.
Understanding the Nginx Configuration File Structure and Configuration Contexts
Tutorials
Conceptual
Nginx
Introduction> Introduction # Nginx is a high performance web server that is responsible for handling the load of some of the largest sites on the internet. It is especially good at handling many concurrent connections and excels at forwarding or serving static content.
A Comparative Introduction to FreeBSD for Linux Users
Tutorials
Conceptual
FreeBSD
Getting Started
Introduction> Introduction # FreeBSD is a free and open source Unix-like operating system and a popular server platform. While FreeBSD and other BSD-based systems share much in common with systems like Linux, there are points where these two families diverge in important ways.
An Introduction to HAProxy and Load Balancing Concepts
Tutorials
Conceptual
HAProxy
Scaling
Server Optimization
Introduction> Introduction # HAProxy, which stands for High Availability Proxy, is a popular open source software TCP/HTTP Load Balancer and proxying solution which can be run on Linux, macOS, and FreeBSD.
What is a Firewall and How Does It Work?
Tutorials
Conceptual
Firewall
Introduction> Introduction # A firewall is a system that provides network security by filtering incoming and outgoing network traffic based on a set of user-defined rules. In general, the purpose of a firewall is to reduce or eliminate the occurrence of unwanted network communications while allowing all legitimate communication to flow freely.
Understanding Nginx Server and Location Block Selection Algorithms
Tutorials
Conceptual
Nginx
Introduction> Introduction # Nginx is one of the most popular web servers in the world. It can successfully handle high loads with many concurrent client connections, and can function as a web server, a mail server, or a reverse proxy server.
SQLite vs MySQL vs PostgreSQL: A Comparison Of Relational Database Management Systems
Tutorials
Conceptual
Databases
MySQL
PostgreSQL
SQLite
Introduction> Introduction # The relational data model, which organizes data in tables of rows and columns, predominates in database management tools. Today there are other data models, including NoSQL and NewSQL, but relational database management systems (RDBMSs) remain dominant for storing and managing data worldwide.
How To Choose an Effective Backup Strategy
Tutorials
Backups
Conceptual
Linux Basics
Introduction> Introduction # Backups are very important for cloud servers. Whether you are running a single project with all of its data stored on a single server, or deploying directly from Git to VMs that are spun up and torn down while retaining a minimum set of logs, you should always plan for a failure scenario.