Tutorial Series
This curriculum introduces open-source cloud computing to a general audience along with the skills necessary to deploy applications and websites securely to the cloud. In the tutorials below, you will build your knowledge of cloud servers, web servers, databases, containers, and cloud security. No prior developer experience is necessary to follow along.
The skills you develop in these tutorials are applicable to any open-source cloud environment. Some hands-on exercises require access to a server, which can be obtained through DigitalOcean’s smallest Droplet offering or through the cloud provider of your choice. First-time DigitalOcean customers can set up a Droplet for free through our free trial offering.
Conceptual-article
Published on June 27, 2022
Learn the fundamentals of cloud servers, including how to scope your infrastructure, how to assess your cloud server needs, and some of the tools and terminology involved in working with the cloud.
Tutorial
Updated on November 2, 2020
This tutorial provides an overview of the history and the business context of cloud computing. It contrasts different service models and explains other considerations around risks, costs, and privacy.
Tutorial
Published on April 26, 2022
In this tutorial, you will set up your server with Ubuntu 22.04 to get up and running with SSH, a package manager, and a firewall. You can also explore our collection of initial server setup tutorials for other popular Linux environments.
Tutorial
Updated on June 16, 2021
This tutorial covers the essentials of working on a command line, including many core Linux commands, shortcuts, and the fundamentals of argument syntax and directory navigation.
Tutorial
Updated on April 15, 2024
This tutorial explains the mechanics of SSH, or secure shell, which is the universally preferred method of connecting to and working with remote servers using a terminal.
Conceptual-article
Published on June 15, 2022
This tutorial reviews the most popular Linux distributions, their relationships to each other, and their various strengths and weaknesses, especially in terms of cloud computing, so that you can make the best choice for your work.
Tutorial
Updated on May 6, 2022
This tutorial covers technical details of virtual private server hosting at a high level, providing further background knowledge of cloud hosting infrastructure.
Tutorial
Published on October 7, 2022
This checkpoint will help you assess what you have learned from these introductory articles on cloud computing, cloud servers, and the Linux command line. You can test your knowledge with interactive components and find opportunities for continued learning and Linux server management.
Conceptual-article
Published on June 28, 2022
Start with the basics: what web servers are and how they are commonly used. This tutorial introduces different web server options and how to evaluate different solutions for your web application needs.
Tutorial
Published on April 26, 2022
Apache is a web server used in popular solution stacks such as LAMP. This tutorial guides you through installing and configuring Apache on Ubuntu 22.04. You can also explore our Apache installation guides for other Linux distributions.
Tutorial
Published on April 25, 2022
Nginx is a popular solution as both a traditional web server and as a reverse proxy. This tutorial guides you through installing and configuring Nginx on Ubuntu 22.04. You can also explore our Nginx installation guides for other Linux distributions.
Tutorial
Updated on March 17, 2022
This article provides in-depth comparison between two popular web servers, Apache and Nginx, to help you determine which best suits your needs.
Tutorial
Updated on April 15, 2024
Operating your own web server means handling the security yourself. This tutorial demonstrates how to enable TLS encryption with Let’s Encrypt for your Apache Server on Ubuntu 22.04. You can also explore our Let’s Encrypt for Apache tutorials for other Linux distributions.
Tutorial
Published on April 25, 2022
Web server traffic needs encryption for increased security. These tutorials demonstrate how to enable TLS encryption with Let’s Encrypt for your Nginx Server on Ubuntu 22.04. You can also explore our Let’s Encrypt for Nginx tutorials for other Linux distributions.
Tutorial
Published on October 7, 2022
This checkpoint will help you assess what you learned about practical implementations and popular options for configuring your web server. Test your knowledge on these topics, review key terms and commands, and find resources for continued learning.
Conceptual-article
Published on July 19, 2022
This conceptual article provides a brief overview of what databases are in cloud computing and highlights concepts central to their design and function.
Conceptual-article
Published on September 15, 2020
Structured Query Language — commonly known as SQL — is a language used to define, control, manipulate, and query data held in a relational database. This article reviews how to create limitations in SQL by implementing constraints. It is part of a longer tutorial series on SQL you can follow to learn a variety of key SQL commands.
Tutorial
Updated on March 9, 2022
This article compares and contrasts three of the most widely implemented open-source relational database management systems (DBMSs): SQLite, MySQL, and PostgreSQL.
Tutorial
Updated on August 9, 2019
This article outlines a few commonly used NoSQL database models, assessing strengths and disadvantages. You will review examples of NoSQL DBMSs and potential use cases for each.
Tutorial
Published on April 26, 2022
Redis is a NoSQL database management system and an in-memory key-value store known for flexibility, performance, and wide language support. This tutorial guides you through installing and configuring Redis on an Ubuntu 22.04 server.
Tutorial
Published on July 31, 2020
In this tutorial you’ll install MongoDB on an Ubuntu 20.04 server, test it, and learn how to manage it as a systemd service.
Tutorial
Updated on March 23, 2022
MongoDB is a document-oriented NoSQL database management system. This tutorial documents four fundamental data operations: create, read, update, delete (CRUD). It is part of a longer tutorial series you can use to get started on MongoDB.
Tutorial
Published on October 28, 2022
This checkpoint is intended to help you assess what you learned from our introductory articles to Databases, where we defined databases and introduced common database management systems.
Conceptual-article
Published on June 28, 2022
This article summarizes the container ecosystem as it exists today and defines the many layers of terminology. You will discover what options are available and how to align a specific container solution with your goals.
Tutorial
Published on April 26, 2022
Docker is a popular solution within the landscape of container technology. This tutorial demonstrates how to install and use Docker on Ubuntu 22.04. You can also explore our Docker tutorials for other Linux distributions.
Tutorial
Published on April 26, 2022
With Docker Compose, you can run multi-container application environments.This tutorial guides you through setting up and using Docker Compose on various Linux distributions, which is a good first step toward automation and orchestration with your container setup.
Tutorial
Updated on April 25, 2024
Executing code within containers can be done in multiple ways. This article demonstrates how to use the docker exec command in currently running containers.
Tutorial
Published on April 26, 2022
Containers often exist just long enough to execute code, but you may want to keep some data persistent after the container is deleted. This tutorial describes how to use Docker volumes for persistent data.
Tutorial
Published on November 22, 2022
Container images form the base software package within all containers, and image registries can be used to manage them. This tutorial will guide you through setting up a private docker registry to manage Docker container images.
Tutorial
Updated on May 2, 2018
Kubernetes is a popular container orchestration solution with a high level of granular control and customization. In this article’s overview of Kubernetes, you will learn about the architecture, including nodes, objects, workloads, services, and more.
Tutorial
Published on February 28, 2022
A full-scale Kubernetes deployment relies on multiple servers in a production environment. Minikube is an option that you can use for local development and testing.
Tutorial
Published on November 21, 2022
This checkpoint is intended to help you assess what you learned from our introductory articles to containers, where we introduced the container ecosystem alongside Docker and Kubernetes, two common container solutions.
Tutorial
Updated on May 19, 2022
This tutorial evaluates security measures you can implement when planning your infrastructure. The recommendations in this tutorial include an in-depth overview of each solution.
Tutorial
Published on February 27, 2024
Using a firewall is an essential first task for securing your network and defining network connections, and you can use it to block specific ports from outbound access. UFW is a popular firewall that you can deploy and configure on Ubuntu.
Tutorial
Published on April 26, 2022
VPNs are increasingly popular as a frontline security measure, and Wireguard is a lightweight, open source VPN that you can deploy across servers. Wireguard is fully integrated into and supported by the Linux kernel.
Tutorial
Published on April 26, 2022
OpenVPN is another open-source VPN solution that accommodates a wide range of configurations.
Tutorial
Published on June 8, 2022
Of all security practices, keeping your servers and your software updated with fixes to any known vulnerabilities might be the most important and the least involved action you can take. This tutorial covers how you can keep your Ubuntu server updated.
Tutorial
Updated on October 22, 2021
Suricata is a Network Security Monitoring (NSM) tool that uses sets of community created and user defined signatures (also referred to as rules) to examine and process network traffic. Suricata can generate log events, trigger alerts, and drop traffic when it detects suspicious packets or requests to any number of different services running on a server. This is the first tutorial in a series you can follow to get up and running on Suricata.
Tutorial
Published on December 21, 2022
This checkpoint is intended to help you assess what you learned from our introductory articles to Security, where we introduced recommended security practices and commonly used security tools.
In this curriculum, you have learned about key concepts in cloud computing and explored skills and methodologies related to cloud servers, web servers, databases, containers, and cloud security.
To continue your cloud learning, check out our tutorials on cloud tools like Kubernetes, Docker, or our 6,000+ tutorials on the Community site.
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.