Skip to content

Cloud exercises for newly hired cloudscale.ch engineers.

Notifications You must be signed in to change notification settings

cloudscale-ch/cloud-exercises

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation

Cloud Exercises for the cloudscale.ch IaaS Platform

As part of our onboarding process, newly hired engineers at cloudscale.ch are required to complete a set of exercises in order to get familiar with the various features of our public cloud offering. Since this can also be of educational value to our customers, partners, and other interested third-parties, we have decided to publish these exercises here on GitHub.

Prerequisites

To follow these exercises, you need a cloudscale.ch account, some credits, and an API token with read/write access.

⚠️ We strongly encourage you to activate two-factor authentication for your cloudscale.ch account before proceeding.

Exercises

The exercises are grouped into five distinct categories. Although they can be completed independently, they are generally meant to be completed in order:

Virtual servers (sometimes also referred to as "cloud servers") are our bread and butter. Since they run on different physical hosts than the storage they use, we often refer to their function as "compute". Compute exercises are all about starting and configuring virtual servers:

Compute is nothing without state. In our case, state is a Ceph cluster with either more affordable but slower (Bulk), or more expensive but faster (NVMe SSD based) distributed storage. Storage exercises explore the relationship between virtual servers and volumes:

Handing a virtual server a single public IP and calling it a day is not good enough in today's environments. Network exercises let you dive into the use of public and private networks as well as Floating IPs:

A feature that all cloud providers have to offer is an S3-compatible object storage. At cloudscale.ch, we call our object storage "Objects". The Objects exercises use common S3 API tools to work with this widely used storage access layer:

Even though we offer a number of "off the shelf" images (like Ubuntu, Debian, or CentOS), it is often useful or even necessary to use one's own custom image. The custom images exercises focus on building and uploading custom images:

Modern deployments in general, and Kubernetes deployments in particluar, often employ load balancers to distribute load, improve uptime, and increase security.

Our load balancers are highly available, as they run in pairs on separate hosts. In addition to being manageable by API, Terraform, and Ansible, they also come with Cloud Controller Manager (CCM) integration. This means they can easily be integrated into Kubernetes.

Contributing

If you have any questions, feedback, ideas, or if you want to contribute, feel free to open an issue.

License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.