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
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 resultAutomatic validation
After completing each task, you can check your solution right away without contacting an instructorAsk a question anytime
Feedback from the course author at every step. A list of the most common questions with answersTrained AI assistant
Available 24x7 to answer all your questions, conduct a technical interview, and provide a list of common questions on the topicHands-on tasks (14 lessons)
- Codebase - One codebase tracked in version control
- Dependencies - Explicitly declare and isolate dependencies
- Config - Store configuration in the runtime environment
- Backing services - Treat backing services as attached resources
- Build, release, run - Strictly separate the build and run stages
- Processes - Run the application as one or more processes
- Port binding - Export services via a port
- Concurrency - Scale horizontally
- Disposability - Maximize reliability with fast startup and graceful shutdown
- Dev/prod parity - Keep development, staging, and production environments as similar as possible
- Logs - Treat logs as event streams
- Admin processes - Run admin/management tasks as one-off processes
- Bonus factors: factors 13 and 14 from the course author
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
Learning by doing
Regular meetings
Working on a project
Unique materials
A sense of confidence
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