惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
N
Netflix TechBlog - Medium
The Register - Security
The Register - Security
aimingoo的专栏
aimingoo的专栏
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园 - 司徒正美
The Cloudflare Blog
GbyAI
GbyAI
IT之家
IT之家
A
About on SuperTechFans
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
U
Unit 42
美团技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Martin Fowler
Martin Fowler
F
Full Disclosure
B
Blog RSS Feed
F
Fortinet All Blogs
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
The Blog of Author Tim Ferriss
WordPress大学
WordPress大学
J
Java Code Geeks
G
Google Developers Blog
Jina AI
Jina AI
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
有赞技术团队
有赞技术团队
L
LangChain Blog
博客园 - 三生石上(FineUI控件)
Engineering at Meta
Engineering at Meta
宝玉的分享
宝玉的分享
H
Help Net Security
月光博客
月光博客
雷峰网
雷峰网
D
Docker
Vercel News
Vercel News
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
Stack Overflow Blog
Stack Overflow Blog
Apple Machine Learning Research
Apple Machine Learning Research
Y
Y Combinator Blog
小众软件
小众软件
博客园 - 聂微东
爱范儿
爱范儿
D
DataBreaches.Net

Ivan on Containers, Kubernetes, and Server-Side

A grounded take on agentic coding for production environments Server-Side Playgrounds Reimagined: Build, Boot, and Network Your Own Virtual Labs [not a] Kubernetes 101 - Pods, Deployments, and Services As an Attempt To Automate Age-Old Infra Patterns JavaScript or TypeScript? How To Benefit From the Dichotomy On Software Design... and Good Writing Building a Firecracker-Powered Course Platform To Learn Docker and Kubernetes How To Publish a Port of a Running Container What Actually Happens When You Publish a Container Port A Visual Guide to SSH Tunnels: Local and Remote Port Forwarding Debugging Containers Like a Pro Docker: How To Debug Distroless And Slim Containers How To Extract Container Image Filesystem Using Docker | iximiuz Labs In Pursuit of Better Container Images: Alpine, Distroless, Apko, Chisel, DockerSlim, oh my! How To Start Programming In Go: Advice For Fellow DevOps Engineers Kubernetes Ephemeral Containers and kubectl debug Command How To Develop Kubernetes CLIs Like a Pro Docker Container Commands Explained: Understand, Don't Memorize | iximiuz Labs Learning Docker with Docker - Toying With DinD For Fun And Profit How To Extend Kubernetes API - Kubernetes vs. Django The Influence of Plumbing on Programming How To Call Kubernetes API from Go - Types and Common Machinery How To Call Kubernetes API using Simple HTTP Client Kubernetes API Basics - Resources, Kinds, and Objects OpenFaaS - Run Containerized Functions On Your Own Terms Learning Containers From The Bottom Up Docker Containers vs. Kubernetes Pods - Taking a Deeper Look | iximiuz Labs How HTTP Keep-Alive can cause TCP race condition How to Work with Container Images Using ctr | iximiuz Labs Multiple Containers, Same Port, no Reverse Proxy... Exploring Go net/http Package - On How Not To Set Socket Options Disposable Local Development Environments with Vagrant, Docker, and Arkade DevOps, SRE, and Platform Engineering My Choice of Programming Languages Prometheus Is Not a TSDB How to learn PromQL with Prometheus Playground Prometheus Cheat Sheet - Basics (Metrics, Labels, Time Series, Scraping) Rust - Writing Parsers With nom Parser Combinator Framework pq - parse and query log files as time series Prometheus Cheat Sheet - Moving Average, Max, Min, etc (Aggregation Over Time) Prometheus Cheat Sheet - How to Join Multiple Metrics (Vector Matching) The Need For Slimmer Containers Understanding Rust Privacy and Visibility Model Bridge vs. Switch: Takeaways from a Real Data Center Tour | iximiuz Labs From LAN to VXLAN: Networking Basics for Non-Network Engineers | iximiuz Labs KiND - How I Wasted a Day Loading Local Docker Images Go, HTTP handlers, panic, and deadlocks Exploring Kubernetes Operator Pattern Making Sense Out Of Cloud Native Buzz Service Discovery in Kubernetes: Combining the Best of Two Worlds API Developers Never REST How Container Networking Works: Building a Bridge Network From Scratch | iximiuz Labs Traefik: canary deployments with weighted load balancing Service Proxy, Pod, Sidecar, oh my! You Need Containers To Build Images You Don't Need an Image To Run a Container Not Every Container Has an Operating System Inside Working with container images in Go Master Go While Learning Containers Implementing Container Runtime Shim: Interactive Containers How to use Flask with gevent (uWSGI and Gunicorn editions) My 10 Years of Programming Experience Implementing Container Runtime Shim: First Code Implementing Container Runtime Shim: runc Kubernetes Repository On Flame Dealing with process termination in Linux (with Rust examples) conman - [the] Container Manager: Inception Journey From Containerization To Orchestration And Beyond Linux PTY - How docker attach and docker exec Commands Work Inside Illustrated introduction to Linux iptables From Docker Container to Bootable Linux Disk Image Пишем свой веб-сервер на Python: протокол HTTP 9001 способ создать веб-сервер на Python Explaining async/await in 200 lines of code Explaining event loop in 100 lines of code Save the day with gevent Пишем свой веб-сервер на Python: процессы, потоки и асинхронный I/O Truly optional scalar types in protobuf3 (with Go examples) Node.js Writable streams distilled Node.js Readable streams distilled How to on starting processes (mostly in Linux) Дайджест интересных ссылок – Июль 2016 Пишем свой веб-сервер на Python: сокеты Наследование в JavaScript Мастерить!
Learn-by-Doing Platforms for Dev, DevOps, and SRE Folks
Ivan Velichko · 2021-10-03 · via Ivan on Containers, Kubernetes, and Server-Side

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

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

— Ivan Velichko (@iximiuz) September 25, 2021

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 20,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.

A Cloud Guru logo

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.

AppSecEngineer logo

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.

Cloud Academy logo

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.

Cloud Academy logo

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.

CodeCrafters logo

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):

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.

Red Hat Developer logo

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.

Instruqt logo

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:

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.

Katacoda logo

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.

killer.sh logo

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

KodeKloud logo

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.

KubeAcademy logo

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).

O’Reilly logo

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.

Play with Docker logo

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.

Pluralsight logo

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

Containers

Kubernetes

Linux/Unix

Level up your server-side game — join 20,000 engineers getting insightful learning materials straight to their inbox: