Check out all our Tutorial Series ->

Tutorial Series

Getting Started With Cloud Computing

Getting Started With Cloud Computing

Introduction

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.

Summary View
detailed View

Cloud Servers

A cloud server is internet infrastructure that provides computing resources to users remotely. You can think of a cloud server as a private computer that you can set up and control in the same way as an on-premise computer, such as a laptop or desktop. Though the types of software and tooling you install on your cloud server can vary, understanding key components will help you plan and set up your cloud server for a variety of needs. This collection of articles offers an overview of cloud servers.

Conceptual-article

Cloud Servers: An Introduction

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

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

Initial Server Setup with Ubuntu

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

A Linux Command Line Primer

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

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

How to Choose a Linux Distribution

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

An Introduction to Cloud Hosting

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

Cloud Servers Checkpoint

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.

Web Servers

To get your web application on the internet, you’ll need a web server. Discover the problems web server solutions solve, how they accomplish their goals, and how a specific solution may fit your needs. Your choice of web server will help you achieve your content needs, from serving static files like pictures and videos to generating dynamic web pages. Here, you’ll evaluate practical considerations, implement popular options, and explore commonly used solution stacks.

Conceptual-article

Introduction to Web Servers

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

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

How To Install Nginx on Ubuntu 22.04

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

This article provides in-depth comparison between two popular web servers, Apache and Nginx, to help you determine which best suits your needs.

Tutorial

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

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

Web Servers Checkpoint

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.

Databases

A database is any logically modeled collection of information or data. When people refer to a "database" in the context of websites, applications, and the cloud, they often mean a computer program that manages data stored on a computer. These programs, known formally as database management systems (DBMS), can be combined with other programs (like a web server and a front-end framework) to form production-ready applications. This collection of articles begins with an overview of databases, followed by deeper analyses of common database management systems.

Conceptual-article

An Introduction to Databases

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

Understanding SQL Constraints

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

This article compares and contrasts three of the most widely implemented open-source relational database management systems (DBMSs): SQLite, MySQL, and PostgreSQL.

Tutorial

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

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

How To Install MongoDB on Ubuntu 20.04

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

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

Databases Checkpoint

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.

Containers

With containers, you can run applications in predictable and repeatable ways. Using a container results in consistent code execution across diverse development and production environments. Implementing containers can enable new design paradigms and strengthen the separation of your application code from your infrastructure code. Here, you’ll review container terminology, each part of the container ecosystem, and popular solutions you can implement today.

Conceptual-article

Introduction to Containers

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

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

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

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

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

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

What is Kubernetes?

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

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

Containers Checkpoint

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.

Security

It’s important to build robust and thorough security measures for your systems and applications before making them publicly available. Following best practices around encryption, service auditing, and private networking will ensure that any software running on your infrastructure has a secure base configuration. In this collection of tutorials, you can review recommended security practices and commonly used security tools.

Tutorial

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

How to Set Up a Firewall with UFW on Ubuntu

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

How To Set Up WireGuard on Ubuntu 22.04

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

OpenVPN is another open-source VPN solution that accommodates a wide range of configurations.

Tutorial

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

How To Install Suricata on Ubuntu 20.04

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

Security Checkpoint

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.

Conclusion

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.

Check out all our Tutorial Series

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Featured on Community

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more