There are many resources for people who want to learn Linux, Containers, or Kubernetes. However, most of these resources don't come with an interactive, hands-on learning experience. You can read tens of fine blog articles and watch hundreds of engaging YouTube videos, maybe even take some courses with theoretical quizzes at the end, but it's doubtful you'll master any of the above technologies without actively practicing them.
Theoretical-only knowledge of, say, Kubernetes doesn't really count. Hands-on exercises should be a must-have learning element. Some resources, including this blog, strive to provide reproducible instructions so that students can try out the new skills. However, for that, a running system is needed. Setting up such a system can make the learning curve substantially steeper or even make the task fully unbearable for inexperienced students.
So, where can a student practice the new skills?
One option is to experiment on a real staging (or production 🙈) environment. But it can be quite harmful. Luckily, there is an alternative. Some learning platforms offer interactive playgrounds mimicking real-world setups. On these platforms, students can SSH into disposable Linux servers, or even access multi-server stages right from their browsers!
Experimenting with the new skills in such sandboxes makes the learning hands-on. At the same time, these platforms free students from the need for provisioning playgrounds. It brings students closer to real-world environments while keeping the learning process safe - playgrounds can always be destroyed and recreated without damaging any real production systems.
Cloud-Native Learn-by-Doing platforms
— Ivan Velichko (@iximiuz) September 25, 2021
A list of sites with interactive playgrounds on
[Linux/Container/Kubernetes/Clouds]
acloudguru .com
cloudacademy .com
cloudyuga .guru
instruqt .com
katacoda .com
kodekloud .com
learning .oreilly .com
play-with-docker .com
play-with-k8s .com
I got so fascinated by the idea of interactive playgrounds recently that I spent a week researching platforms that provide in-browser learn-by-doing experience. Below are my findings, alphabetically ordered:
Level up your server-side game — join 8,000 engineers getting insightful learning materials straight to their inbox.
- A Cloud Guru
- AppSecEngineer
- Cloud Academy
- Cloudyuga
- CodeCrafters
- Developer Sandbox for Red Hat OpenShift
- Instruqt
- Katacoda
- Killer.sh
- KodeKloud
- KubeAcademy
- O’Reilly Interactive
- Play with Docker
- Play with Kubernetes
- Pluralsight
A Cloud Guru
A Cloud Guru (acloudguru.com) is a massive online learning platform for individuals and businesses with a focus on mastering major clouds - AWS, Azure, and GCP. In 2019, it acquired another well-respected learning platform called Linux Academy (linuxacademy.com), extending its content offering to Linux. In 2021, A Cloud Guru was acquired by Pluralsight, a prominent online education industry player.
Content
- 🤯 360+ courses and 1,600+ hands-on labs
- Quizzes, practice exams, interactive diagrams
- Lots of certification preparation materials: AWS, GCP, Red Hat, etc.
- Courses on overhyped tech: Kubernetes, Docker, Open Shift, Serverless
- Fundamentals are also covered: Networking, Security, Containers, IaC, etc.
Playgrounds
- Servers - spin up a pre-configured, auto-provisioned server in just a few clicks and SSH into it right from the browser. Examples: vanilla Ubuntu 18.04, CentOS 7 with Docker, etc.
- Sandboxes - pre-configured AWS/GCP/Azure environments (cloud playgrounds) to try out new skills w/o worrying about getting a surprise bill from a cloud provider. Sounds really handy.
- Instant Terminal - in-browser SSH terminal into any instance of any provider. Yay! We need more services to bypass corporate firewalls!
Price
- No free tier playground access (but some content is available)
- $35-$50 - individual monthly subscription
- $350-$500 - individual annual subscription
AppSecEngineer
AppSecEngineer (appsecengineer.com) is an interactive training platform entirely focused on application and cloud security.
Content
~30 courses and hands-on labs covering:
- threat modelling
- App security essentials (XSS, injections, cryptography for web)
- Secrets management, automation, DevSecOps
- Containers/Kubernetes/AWS security
Playgrounds
- Online IDE (code editor and terminal) with remote SSH to a playground server
Price
- 14 Day free trial including 150 minutes of playground access
- $69 - individual monthly subscription
- $588 - individual annual subscription
Cloud Academy
Cloud Academy (cloudacademy.com) is a training platform offering an extensive library of learning content on cloud computing platforms (AWS, Azure, GCP, Alibaba Cloud) for individuals (after inputting credit card details) and enterprises. As usual, a lot of focus on various certification preparations, but the content offering is quite broad.
Content
Lots of courses, quizzes, hands-on labs, and exams on:
- AWS, Azure, GCP, Alibaba Cloud
- Linux, DevOps, Programming
- Machine learning and Big Data
- Serverless
- Security
- IoT
Playgrounds
- Temporary cloud accounts with generated credentials (AWS, GCP, Azure, Alibaba Cloud)
- Online IDE (code editor and terminal) with remote SSH to a playground server
Price
- Free tier or 7-day free trial
- $39 - individual monthly subscription
- $399 - individual annual subscription
Cloudyuga
Cloudyuga (cloudyuga.guru) is a cozy platform with just a few cloud native courses, mock exams, and quizzes. But it's a certified Kubernetes training partner.
Content
- A few hands-on courses on containers, Docker, and Kubernetes fundamentals
- CKA/CKAD preparations, mock exams, and quizzes
- One free hands-on lab - Bitnami's SealedSecrets (it's been just published, September 2021, so I have a feeling that more labs might be coming soon)
Playgrounds
- In-browser SSH terminal to a playground server
- Online IDE (code editor and terminal) with remote SSH to a playground server
Price
- 1-day trial period (per course) and 100 hours of playground access
- Pay per course; some courses are just $10-20, but there are also $399 and $9999 offerings.
CodeCrafters
CodeCrafters (codecrafters.io) is a "community of practice" (oh, I love this term!) for seasoned programmers. It's a platform with advanced programming challenges where you build complex tools from scratch. CodeCrafters is a bit of an outlier in this list because it has rather generic programming problems and requires development on the local machine. However, it does have interactive validation of solutions, and some tasks, like Build your own Docker, are relevant for Cloud Native folks.
Content
There is a bunch of build your own ... assignments available in different programming languages (Python, C, Go, Rust, JavaScript, Java, Kotlin, Ruby, PHP, Elixir, Haskell, Nim):
- Build your own Docker (reminds me of my rather abandoned Conman project)
- Build your own Redis, Git, SQLite, React
Playgrounds
The programming tasks are split into many small steps, each with an interactive validation by the platform.
Price
$49 per assignment, and I couldn't find any trial period.
Developer Sandbox for Red Hat OpenShift
Developer Sandbox for Red Hat OpenShift (developers.redhat.com/developer-sandbox) is a free platform that provides you with a private OpenShift environment (7 GB RAM, 15GB storage 🔥). Every sandbox is already pre-configured with a set of developer and administrator tools, so one can instantly jump into experimenting with OpenShift (read, Kubernetes).
With a (pretty cool, by the way) Kubernetes UI dashboard, you can:
- Create containers from source code or Dockerfile
- Build new applications using the samples and stacks provided
- Add services such as databases from the templates catalog
- Deploy Helm charts
- etc.
Content
A bunch of step-by-step guides on how to:
- Explore and learn pure Kubernetes using an OpenShift Sandbox
- Deploy Java/JavaScript applications on OpenShift (Kubernetes)
- etc.
Not sure if it's a good resource for beginners, but for more seasoned Kubernetes users, it provides a great and free playground to try out OpenShift/Kubernetes UX.
Beginners can find the Kube By Example (KBE) resource more useful. It provides many Kubernetes tutorials that, in particular, can be tried out using the Red Hat Developer Sandbox platform.
Playgrounds
- OpenShift sandbox (fancy Kubernetes UI)
- SSH into Pods right from your browser
- Edit and apply resource manifests (YAMLs) from the browser
- Online IDE (Eclipse Che)
Price
Five different license agreements, asked to input my phone number twice, mandatory SMS verification, but in the end, it worked out well!
- Free (no credit card required) sandbox access for 30 days. Then the sandbox is wiped out.
Instruqt
Instruqt (instruqt.com) is a platform to create interactive learning tutorials. Its primary audience seems to be people who do sales of software products or conduct customer onboarding and training. In its own words, "the best way to learn how to work with a software product is in a real sandbox environment."
From first sight, it looks like Katacoda on steroids (from the playground customization standpoint). But unlike Katacoda, Instruqt doesn't come with its own content, it's just a building platform.
Content
There is not much educational content. The platform seems to be more tailored for content creators. There are some nice docs on how to create tutorials using the platform, including a few template playgrounds:
- Container (how to creating a directory 🤦♂️)
- Virtual Machine (how to build an image and start a container)
- Kubernetes (deploy, expose, and view Nginx service)
Playgrounds
- Sandbox container - a container-based sandbox host with an in-browser SSH terminal.
- Sandbox virtual machine - a VM-based sandbox host with an in-browser SSH terminal.
- Kubernetes - a single- or multi-node cluster (Rancher's k3s) on sandbox VMs with in-browser SSH terminal access.
- Temporary cloud accounts (AWS, GCP, Azure)
Price
14-day free trial and then pay for use (space, time, and size). I couldn't find the actual pricing data, apparently, it's available only by request.
Katacoda
Katacoda (katacoda.com) is an "interactive learning and training platform for software engineers." Katacoda is multipurpose. It comes with an extensive set of learning materials and also provides environments to create your own interactive content and guides.
Some well-known projects employ Katacoda to ease the adoption for their users:
- Interactive Envoy tutorials on envoyproxy.io
- Interactive Kubernetes tutorials on kubernetes.io
- Interactive OpenShift tutorials on openshift.com.
In 2019, Katacoda was acquired by O’Reilly Media, one of the leaders of the professional online education industry. However, while O’Reilly has its own learning platform, Katacoda retained its standalone positioning.
Content
- 🤯 Over 250 interactive scenarios
- Linux and common operating system knowledge
- Containers - runtimes, builders, registries, etc.
- Kubernetes - both introductory and advanced content
- DevOps (CI/CD, Observability, Service Mesh)
- Machine learning
- Serverless
- Security
- Networking
- Tensorflow, SysDig, Envoy, Traefik, etc.
Playgrounds
- Linux (CentOS, Fedora, Ubuntu) Playground - an in-browser terminal and online IDE to experiment on an ephemeral Linux server
- Docker and Docker Experimental Playgrounds - in-browser terminal access to a server with the docker daemon up and running.
- Docker Swarm Playground - multi-node Docker Swarm cluster with in-browser SSH access
- Kubernetes Playground - free-play cluster with in-browser terminal access
- Visual Studio Code Playground - famous IDE right in your browser
- Python/Go/Java/Scala/Clojure/Kotlin/Node.js/Ruby/Swift/Elixir/F#/R Playgrounds - a Linux playground from above with a programming language preinstalled.
- Git/Terraform/Tensorflow/Elasticsearch Playgrounds
Price
Apparently, the scenarios from katacoda.com, envoyproxy.io, and kubernetes.io are free for students. But I doubt Katacoda is free for creators.
UPD: As Wang Shuang (@ooocamel) pointed out in the comments, Katacoda can be free for creators as well, including embedding playgrounds into your sites (example).
Killer.sh
Killer.sh (killer.sh 🙈) is a Kubernetes exam simulator. The idea is that you study Kubernetes somewhere else and then try out your skills on killer.sh. Then, having the exam simulation results, you can decide whether to continue the learning or attempt a real certification.
Content
20+ scenarios:
- CKS exam simulator
- CKA exam simulator
- CKAD exam simulator
Playgrounds
- A private Kubernetes cluster with in-browser terminal access.
Price
Preview of three questions, then €29.99 + VAT for two exam simulation sessions.
KodeKloud
KodeKloud (kodekloud.com) is actually one of my favorite ones. This resource focuses on providing a truly immersive learning experience with the combination of video lectures and gamified hands-on labs. I've seen lots of interactive but boring tutorials where you can get through all the tasks by simply copying instructions into the terminal. Luckily, KodeKloud's courses are the true opposite of that. Just check out its Game of Pods (it's free) - a game-like challenge where you are given an architecture diagram of the application to be deployed and a count-down timer before which you must complete all tasks...
Content
20+ courses and 200+ hands-on labs organized in different learning paths on:
- DevOps Basics
- Linux
- Docker
- Kubernetes
- IaC
- Programming.
Playgrounds
- In-browser SSH terminal (powered by Katacoda)
- [Pro Only] 15 DevOps Playgrounds (Docker server, Kubernetes cluster, Istio, Ansible)
- [Pro Only] 2 Cloud Playgrounds (AWS & Azure)
Price
- 2-3 free courses, including the Game Of Pods
- €17.50 individual monthly subscription
- €35.00 individual monthly subscription Pro
- €114.00 individual yearly subscription
- €228.00 individual yearly subscription Pro
KubeAcademy
KubeAcademy (kube.academy) from VMware is a "free, product-agnostic Kubernetes and cloud native technology education program built by a team of expert instructors." The platform is inspired by Khan Academy, in particular, its way of breaking down complex topics into component parts that are easy to understand.
Content
30+ video-heavy courses and three learning paths. Some courses are augmented with in-browser Katacoda-like labs.
- Intro to Cloud Native
- Containers 101
- Kubernetes 101
- Helm 101
- Kubernetes in Depth
- Kubernetes Platform Security
- Networking in Kubernetes
- CKA(D) Practice
- Kubernetes Core Concepts Learning Path
Playgrounds
- A private Kubernetes cluster with in-browser terminal access for ~30 min per lab.
Price
It's free for everyone.
O’Reilly Interactive
O’Reilly (oreilly.com) is a behemoth learning platform with many different offerings starting from books and live events and ending with an online certification. After acquiring Katacoda in 2019, it also got the interactive learning section (learning.oreilly.com/interactive).
Content
- 🤯 Hundreds of scenarios: Linux, Docker, Kubernetes, SQL, Spark, Kafka, Tensorflow, etc.
- Tens of free-play sandboxes: Linux, Docker, Kubernetes, Django, Jenkins, Rust, Bash, Scala, etc.
- Tens of Jupyter Notebooks.
Playgrounds
Essentially, everything that Katacoda supports:
- Linux Playground - an in-browser terminal and online IDE to experiment on an ephemeral Linux server
- Docker Playground - in-browser terminal access to a server with the docker daemon up and running.
- Kubernetes Playground - free-play cluster with in-browser terminal access
- Visual Studio Code Playground - famous IDE right in your browser
- Python/Go/Java/Scala/Clojure/Kotlin/Node.js/Ruby Playgrounds - a Linux playground with a programming language preinstalled.
- Git/Terraform/Tensorflow/Elasticsearch Playgrounds.
Price
- 10-day free trial
- $49 individual monthly subscription
- $499 individual yearly subscription.
Play with Docker
Play with Docker (play-with-docker.com) is an online Docker playground that allows users to try out Docker without installing it on the personal machine. In addition to the playground, it also includes a set of labs and quizzes from the beginner to advanced level.
The project started somewhere in 2016-2017, but since 2019 there seems to be some stagnation. However, the playground seems to be fully functioning, and the content hasn't aged much. So, it's definitely worth checking out.
Content
Hands-on labs available at training.play-with-docker.com:
- Fundamentals of Docker
- Deploying a multi-service application
- Security, Networking, Orchestration
- Portability, Storage, Production anti-patterns.
Playgrounds
- In-browser terminal access to a Linux host running Docker or Docker Swarm (powered by DinD)
Price
It's free for everyone.
Play with Kubernetes
Play with Kubernetes (play-with-kubernetes.com) is the Play with Docker's twin platform. A similar idea, a similar structure, and, I guess, a similar implementation.
Playgrounds
- A multi-node Kubernetes cluster with in-browser terminal access.
Content
A single (but massive) hands-on Kubernetes workshop is available at training.play-with-kubernetes.com.
Price
It's completely free (when it works 🙈).
Pluralsight
Pluralsight (pluralsight.com) is a huge online education company (for instance, A Cloud Guru actually was fully acquired by Pluralsight recently). On the surface, it looks nice and shiny, but lots of its functional is available only in the Enterprise plan. So, I didn't have a chance to take a closer look.
Content
Tons of it. Courses, skill assessments, certification preparation, etc. But most importantly, Pluralsight now offers Hands-on Learning paths with Cloud labs to get hands-on practice in a pre-provisioned cloud environment (AWS, Azure, GCP).
Playgrounds
- Various in-browser sandboxes
- Temporary cloud accounts.
Price
The hands-on labs and sandboxes are currently available only in the Enterprise plan. The price is unknown for mere mortals.
Instead Of Conclusion
While doing this research, I learned a lot about available platforms and the problems they try to solve. My impression is that there is plenty of learning resources offering high-quality content. However, many platforms share the common flaw - they don't challenge students enough. Even hands-on labs can quickly become boring if you can just click through tutorials without turning on the active problem-solving mode of your brain. Of course, there are some nice exceptions like KodeKloud, but we definitely need more platforms focusing on the engaging learning experience.
Further reading
Check out other articles from this blog on learning Linux, Containers, and Kubernetes.
Computer Networking
- Computer Networking Introduction: Ethernet and IP (Heavily Illustrated)
- Illustrated introduction to Linux iptables
- Bridge vs Switch: What I Learned From a Data Center Tour
- Writing Web Server in Python: sockets
- How HTTP Keep-Alive can cause TCP race condition
Containers
- Why and How to Use containerd From Command Line
- What Is a Standard Container
- The Need For Slimmer Containers
- Does a Container Image Have an OS Inside
- How to Run a Container Without an Image
- How Docker Build Command Works Internally
- Working with container images in Go
Kubernetes
- Service Discovery in Kubernetes - Combining the Best of Two Worlds
- Exploring Kubernetes Operator Pattern
- Kubernetes Repository On Flame
- KiND - How I Wasted a Day Loading Local Docker Images
Linux/Unix
Level up your server-side game — join 8,000 engineers getting insightful learning materials straight to their inbox: