Non-procedural content for explaining core concepts.

Conceptual subscription active
You will receive email notifications for new publications on Conceptual.
115 Results
  • Tutorial

    An Introduction to OAuth 2

    OAuth 2 is an authorization framework that enables applications to obtain limited access to user accounts on an HTTP service, such as Facebook, GitHub, and DigitalOcean. It works by delegating user authentication to t...
    By Mitchell Anicas Security API Conceptual
  • Tutorial

    An Introduction to Kubernetes

    Kubernetes is a container management system meant to be deployed on Docker-capable clustered environments. In this guide, we will discuss some of the basic concepts that Kubernetes introduces. We will discuss some o...
    By Justin Ellingwood Scaling Docker Kubernetes Networking Conceptual CoreOS
  • Tutorial

    An Introduction to Networking Terminology, Interfaces, and Protocols

    A basic 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. This ...
    By Justin Ellingwood Networking Linux Basics Conceptual
  • Tutorial

    Understanding Database Sharding

    Sharded databases have been receiving lots of attention in recent years, but many don't have a clear understanding of what they are or the scenarios in which it might make sense to shard a database. This conceptual ar...
    By Mark Drake Databases Scaling High Availability Conceptual
  • Tutorial

    Apache vs Nginx: Practical Considerations

    Apache and Nginx are the two most common open source web servers in the world. Together, they are responsible for serving over 50% of traffic on the internet. Both solutions are capable of handling diverse workloads a...
    By Justin Ellingwood Apache Nginx Conceptual
  • Tutorial

    Recommended Security Measures to Protect Your Servers

    When setting up infrastructure, getting your applications up and running will often be your primary concern. However, making your applications to function correctly without addressing the security needs of your infras...
    By Justin Ellingwood, Lisa Tagliaferri, Jamon Camisso, dbrian Security Firewall Conceptual Networking VPN
  • Tutorial

    SQLite vs MySQL vs PostgreSQL: A Comparison Of Relational Database Management Systems

    This article compares and contrasts three of the most widely implemented open-source RDBMSs: SQLite, MySQL, and PostgreSQL. Specifically, it explores the data types that each RDBMS uses, their advantages and disadvant...
    By ostezer, Mark Drake MySQL PostgreSQL Databases Conceptual SQLite
  • Tutorial

    Understanding Nginx Server and Location Block Selection Algorithms

    Nginx is one of the most popular web servers in the world. In this guide, we will discuss how Nginx selects the server and location block that will handle a given client's request. We will go over the algorithm in p...
    By Justin Ellingwood Nginx Conceptual
  • Tutorial

    Understanding IP Addresses, Subnets, and CIDR Notation for Networking

    IP addresses, networks, submasks, and CIDR notation can be difficult concepts to understand. In this guide, we will cover some of the ideas behind how these systems work together to allow computers to communicate over...
    By Justin Ellingwood Networking Linux Basics Conceptual FAQ
  • Tutorial

    5 Common Server Setups For Your Web Application

    When deciding which server architecture to use for your environment, there are many factors to consider, such as performance, scalability, availability, reliability, cost, and ease of management. Here is a list of com...
    By Mitchell Anicas Getting Started Scaling LAMP Stack Caching Conceptual
  • Tutorial

    Understanding the SSH Encryption and Connection Process

    SSH, or secure shell, is an encrypted protocol used to communicate with remote servers safely. The practical uses of SSH are widely discussed in other guides. In this article, we'll examine the underlying encryption...
    By Justin Ellingwood Security System Tools Conceptual
  • Tutorial

    Why You May Not Want To Run Your Own Mail Server

    When setting up a web site or application under your own domain, it is likely that you will also want a mail server to handle the domain's incoming and outgoing email. While it is possible to run your own mail server,...
    By Mitchell Anicas Email Conceptual
  • How To Contribute to Open Source: Getting Started with Git

    Open-source projects that are hosted in public repositories benefit from contributions made by the broader developer community, and are typically managed through Git. This tutorial will discuss the benefits of contrib...
    By Lisa Tagliaferri Development Open Source Git Conceptual
  • Tutorial

    Understanding Nginx HTTP Proxying, Load Balancing, Buffering, and Caching

    Nginx is a high performance reverse proxy server and web server. In this guide, we will explore Nginx's http proxying and load balancing capabilities. We will cover how Nginx can use buffers and caching to improve t...
    By Justin Ellingwood Load Balancing Caching Scaling Nginx Conceptual
  • Tutorial

    Understanding Systemd Units and Unit Files

    Increasingly, Linux distributions are adopting or planning to adopt the systemd init system. This powerful suite of software can manage many aspects of your server, from services to mounted devices and system states. ...
    By Justin Ellingwood Linux Basics System Tools Conceptual
  • An Introduction to HAProxy and Load Balancing Concepts

    An introduction to basic load balancing concepts and terminology, using HAProxy, with some examples.
    By Mitchell Anicas Server Optimization Scaling Conceptual HAProxy
  • Tutorial

    How To Troubleshoot Common HTTP Error Codes

    This guide focuses on identifying and troubleshooting the most commonly encountered HTTP error codes, i.e. 4xx and 5xx status codes, from a system administrator's perspective. There are many situations that could caus...
    By Mitchell Anicas FAQ Apache Nginx Conceptual
  • An Introduction to DNS Terminology, Components, and Concepts

    DNS, or the Domain Name System, is an integral part of how the internet functions today. However, the way that DNS works is often quite mysterious for new administrators. In this guide, we will discuss some of the c...
    By Justin Ellingwood DNS Conceptual Linux Basics FAQ
  • Understanding the Nginx Configuration File Structure and Configuration Contexts

    Nginx is one of the most popular web servers in the world, focused on performance and scalability. In this guide, we will explore the Nginx configuration file structure and discuss the configuration "contexts" that N...
    By Justin Ellingwood Nginx Conceptual
  • Tutorial

    An Introduction to Machine Learning

    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...
    By Lisa Tagliaferri Machine Learning Development Conceptual