Courses

12-Factor App

Hands-on 12-Factor App Course

Learn the 12-Factor App methodology by building a real microservice application in Go using modern DevOps practices

Course price: $138 $100
Start for free

Free access to the first 3 practice tasks

The 12-Factor App course is designed to offer DevOps engineers and developers a deep understanding of the principles of building modern cloud-native applications.

At the start of the course you'll learn the fundamentals of the 12-Factor App methodology, learn to design microservice architecture, and create a basic application structure using Go, Echo, and telebot.

Next, the course will cover working with databases (PostgreSQL, Redis), containerizing the application with Docker, and deploying it to Kubernetes. You'll learn to set up CI/CD using GitHub Actions and self-hosted runners.

Special attention will be paid to ensuring dev/prod parity, scaling the application, and ensuring its fault tolerance. You'll learn to apply all 12 principles of the methodology in practice.

This course will allow you to become competent in building modern cloud-native applications that follow DevOps best practices and the 12-Factor App methodology.

Step-by-step instructions

Progressing from simple to complex, following instructions step by step with a detailed description of the result

Automatic validation

After completing each task, you can check your solution right away without contacting an instructor

Ask a question anytime

Feedback from the course author at every step. A list of the most common questions with answers

Trained AI assistant

Available 24x7 to answer all your questions, conduct a technical interview, and provide a list of common questions on the topic

Hands-on tasks (14 lessons)

  1. Codebase - One codebase tracked in version control
  2. Dependencies - Explicitly declare and isolate dependencies
  3. Config - Store configuration in the runtime environment
  4. Backing services - Treat backing services as attached resources
  5. Build, release, run - Strictly separate the build and run stages
  6. Processes - Run the application as one or more processes
  7. Port binding - Export services via a port
  8. Concurrency - Scale horizontally
  9. Disposability - Maximize reliability with fast startup and graceful shutdown
  10. Dev/prod parity - Keep development, staging, and production environments as similar as possible
  11. Logs - Treat logs as event streams
  12. Admin processes - Run admin/management tasks as one-off processes
  13. Bonus factors: factors 13 and 14 from the course author
Show all

Self-paced track

/01

You get detailed instructions and theory for completing each task, plus a ready-to-use lab environment

/02

After you complete a task, your result is checked automatically

/03

For every task in the course you can ask the author a question and get an answer. It matters to us that everything is clear to you

Track with a mentor

Mentorship program (4-6 months)

Personalized approach

In the first one-on-one online meeting, we figure out your goals and skills. We build a professional development plan

Learning by doing

You progress according to the plan, including by using our courses

Regular meetings

The program includes 4 personal consultations, in which we'll be sure to resolve all your questions.

Working on a project

After mastering the course materials, you can move on to a project that has a real-world counterpart in "production" and runs on the same codebase. At this stage, the knowledge you've gained earlier will be reinforced. You'll be provided with the source code, instructions, and support.

Unique materials

Only as part of the mentorship program do you get access to materials that include a collection of real DevOps cases, problems, and ways to solve them

A sense of confidence

Only as part of the mentorship program do you get access to materials that include a collection of real DevOps cases, problems, and ways to solve them

Learn more
Launch the application    Install Go and ship a deployment today

Our own platform

Built for effective learning, the platform includes a convenient web interface and the Kurator client, which is used to validate the results of your work

 

Platform benefits

benefits icon

You gain hands-on knowledge by completing tasks in a ready-made, genuinely working environment

benefits icon

Setup is minimal — start right away!

benefits icon

Instant validation of every task lets you immediately see the result of your work

benefits icon

Feedback from the course author at every step — clarify any details if something is unclear

benefits icon

Every course is kept up to date. We constantly expand and refresh the materials, so they always stay current

benefits icon

The latest versions and our own in-house tool — Kurator

benefits icon

Upon completing the course, you can request a certificate from DevopsTrain

benefits icon

The price is incomparably lower than well-known courses, and the results are better

Launch the application    Install Go and ship a deployment today

Team

avatar
Alexander

CTO, DevOps engineer, Go developer. Author and creator of DevopsTrain

avatar
Sofya

Account manager

avatar
Galina

Course coordinator

Blog

🚀 Updates to the 'Hands-on Kubernetes' Course

Updates to the popular 'Hands-on Kubernetes' course: new diagrams and sections on Gateway API, VolumeSnapshot, VolumeResize, and Pod Spread Topology

🎉 Year 2025 AD in Review 🎉

2025 year in review for DevopsTrain

🎉 DevopsTrain YouTube Channel 🎉

Announcement of the new DevopsTrain YouTube channel

Measure once, cut twice

On the importance of double-checking before performing destructive operations

New course! — DevOps Troubleshooting 😱

Announcing a new course on troubleshooting DevOps cases

Tests Through the Eyes of a DevOps Engineer

On understanding testing to correctly configure CI/CD pipelines

DevOps as a progressive and conservative field

On the balance between being progressive and conservative in DevOps

Nowhere Without a Plan

On the importance of planning critical operations in production

What's the Point of My Platform

How the devopstrain course format advances your DevOps learning

Middle or Junior ❔

Why you should consider positioning yourself as a Middle if you have experience in adjacent fields

Startup, Mid-size, Enterprise

Differences, pros and cons of working at companies of different sizes

NixOS a year later

Impressions from using NixOS as a home system after a year of use

A bit about DevSecOps

What the DevSecOps approach is really about and how it differs from traditional security practices

DevOps as a Safe Haven in the Brave New World of AI

Why DevOps specialists will remain in demand in the age of AI

Truly your last chance NOT to end up driving a taxi

How AI is changing the IT industry and what specialists should do

Mentorship: A Passing Trend or Something More?

Reflections on the role of mentorship in modern DevOps

AI Assistant in Devopstrain

A case study of using LLM models in an educational platform

Breaking Down an SRE Engineer Job Posting

An analysis of the requirements for an SRE engineer at Sber-Insurance

Console GUI utilities

Handy text interfaces for working with servers

Myths About DevOps

Common misconceptions about DevOps

Kubernetes 1.32.

Breaking down the SLO, SLA, and SLI metrics

Is It Worth Becoming a Team Lead?

Cloud infrastructure outages. Who's to blame?

How I Create Courses

NixOS 3

Breaking Down an Interview Question

Murphy's law

NixOS 2

NixOS

Work-life balance in DevOps

Terraform in the pipeline

Do you always need CI/CD?

DevOps principles recommend building complete delivery chains: from commit to deploy. But is it always worth following these principles 👽?

Golang for DevOps

Why it's better to use Golang for DevOps needs

Where to Start Learning DevOps

How to become a DevOps engineer

Common Questions in a Technical DevOps Interview

Prometheus metrics

How to store and use secrets securely

On backups

Let's talk about backups

Soft Skills for a DevOps Engineer

Why they really matter

The Future of DevOps

For the next 5-10 years

Test environments

How they help ship verified code

How to roll out updates sensibly

Let's talk about updates, which are a key factor in ensuring security.

Security in devops

Do absolutely secure systems exist?

Launching the Community

A new way for DevOps folks to connect

What is DevSecOps

What are its features and purpose?

What is MLOPS

How does it differ from DevOps?

Who is a Platform Engineer

A trendy new buzzword or a useful offspring of DevOps?

Report: Kubernetes adoption across organizations (as of 2023)

Let's assess their results and feedback

Why is DevOps the most rewarding field in IT?

Let's look at the reasons people choose DevOps, the pros and cons

Tools for managing k8s

Let's look at the most popular and convenient applications

How to Add a User to Kubernetes?

Let's look at the authentication options in k8s

Who is a Cloud Engineer?

How do they differ from a DevOps engineer, and what do they have in common?

Observability stack

An observability stack is an essential part of a project's success

What is Infrastructure as Code?

What IaC is, its core principles and purpose

Who is an SRE?

Site reliability engineer — who are they, and what tasks do they handle?

What is DevOps?

Let's try to figure out what this beast is and what we're actually doing here

help

Need help?