Check out all our Tutorial Series ->
// Tutorial Series //
Getting Started With Cloud Computing
By
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 //

A General Introduction to Cloud Computing

Published on October 15, 2020 · 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 //

Initial Server Setup with Ubuntu 22.04

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

Published on December 8, 2020 · 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 //

SSH Essentials: Working with SSH Servers, Clients, and Keys

Published on October 16, 2014 · Updated on September 17, 2020

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

Published on November 14, 2014 · 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 · Updated 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 · Updated 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 //

How To Install the Apache Web Server on Ubuntu 22.04

Published on April 26, 2022 · Updated 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 //

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 //

Apache vs Nginx: Practical Considerations

Published on January 28, 2015 · 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 //

How To Secure Apache with Let's Encrypt on Ubuntu 22.04

Published on April 26, 2022 · Updated on April 26, 2022

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 · Updated 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 · Updated on September 14, 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 //

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

Published on February 21, 2014 · 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 //

A Comparison of NoSQL Database Management Systems and Models

Published on February 21, 2014 · 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 //

How To Install and Secure Redis on Ubuntu 22.04

Published on April 26, 2022 · Updated on April 25, 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 //

How To Install MongoDB on Ubuntu 20.04

Published on July 31, 2020 · Updated 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 //

How To Perform CRUD Operations in MongoDB

Published on August 11, 2021 · 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 //

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 · Updated 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 //

An Introduction to Kubernetes

Published on October 1, 2014 · 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 //

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

Published on October 25, 2021 · 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.

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

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a developer and scale your project or business, and subscribe to topics of interest.

Sign up now

Try DigitalOcean for free

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

Sign up