Python DevOps
Python DevOps¶
About¶
- Level: Intermediate
- Lectures: 20 hours
- Self-study: 10 hours
- Exercises: 9
- Lines of Code to write: 839
- Format: e-learning + weekly online teleconference with instructor
- Language: English or Polish
Description¶
This practical, hands-on course teaches DevOps and DevSecOps practices for Python projects by following the syllabus from developer tooling to CI/CD and deployment. Students learn the developer tooling ecosystem (version control, build systems, artifact repositories), testing strategies from unit to security tests, continuous integration and delivery pipelines, infrastructure-as-code, database migrations, and deployment best practices. Labs focus on automating test runs, defining CI pipelines, packaging and building artifacts, and creating reproducible test and deployment environments.
Advantages¶
Participants will shorten feedback loops and reduce regressions by learning how to automate builds, tests, and deployments. The course emphasizes practical skills—test parallelization, CI pipeline optimization, automated migrations, and infrastructure automation—that improve reliability, speed up time-to-production, increase deployment confidence, and embed security and observability into the development workflow.
Target Audience¶
- Backend and Python developers who want to ship code faster with reliable CI/CD and automated testing.
- DevOps engineers, platform engineers, and SREs responsible for building and operating CI/CD pipelines and runtime platforms.
- QA engineers and test automation authors who design test suites across unit, integration, and system levels and want to integrate them into CI.
- Release managers and build engineers who manage artifact pipelines and deployments.
- Application architects and technical leads who define deployment, observability, and security standards for teams.
- Advanced students and learners aiming to apply DevOps and DevSecOps practices to production Python projects.
Format¶
The course is delivered as a blended learning experience, comprising numerous short videos that progressively introduce concepts and techniques through a series of practical examples. The course format combines e-learning modules with weekly online teleconferences with the instructor for Q&A, discussions, and code reviews.
During the self-study phase, students complete practical exercises that apply the learned techniques. Each exercise is designed to have 100% test coverage, allowing students to verify their solutions. Additionally, students will have access to a spreadsheet to track their progress.
Students will also receive downloadable resources, including code samples, exercise templates, and reference materials to support their learning journey. Since 2015, we have refined our materials based on student feedback to ensure clarity, engagement, and practical relevance. All code listings undergo automatic testing (over 28,000 tests) to ensure accuracy and reliability. All materials, code listings, exercises, and assignments are handcrafted by our trainers without the use of AI. All case studies and examples are based on real-world scenarios drawn from our extensive experience in software engineering.
Working language of the course is either English or Polish.
Course Outline¶
-
DevOps:
- What is Dev?
- What is Ops?
- What is DevOps?
- What is DevSecOps?
- The concept of technical debt
-
Developer Tooling Ecosystem:
- Version control system
- Continuous build system
- Continuous testing
- Dashboards and quality inspection
- Artifact repository
- Runtime platform
-
Types of Tests (with examples):
- Unit tests
- Smoke tests
- Static analysis
- Mutation testing
- Regression tests
- Functional tests
- Interface tests
- Load tests
- Integration tests
- Security tests
-
Continuous Integration:
- Impact of CI on application architecture
- Git Flow vs. GitHub Flow vs. trunk-based (master-based) development
- Running tests
- Defining a CI/CD pipeline
- Test parallelization
- Test process optimization
-
Continuous Delivery:
- Database schema migration
- Infrastructure as Code
- Test deployments
- Test automation in the test environment
- Building images and packages
- Dependency management
-
Test Automation:
- Developer tooling ecosystem
- Continuous Integration
- Continuous Delivery
- Continuous Deployment
- Defining a CI/CD pipeline
- Test automation in the test environment
- Application dependency management
Our Experience¶
AATC trainers have been teaching software engineering since 2015. We have already delivered over 11,000 (eleven thousand) hours of software engineering training to more than 32,000 (thirty-two thousand) students worldwide.
Requirements¶
- Basic knowledge of Python programming
- Familiarity with using an IDE (e.g., PyCharm, VSCode)
- Familiarity with using version control systems (e.g., Git)
- Understanding of basic software testing concepts
- Familiarity with SSH and command-line interface
Setup¶
- Newest version of Python
- IDE of your choice (e.g., PyCharm, VSCode)
- Git installed and configured
- GitHub account
- Web browser (e.g., Chrome, Firefox, Safari, etc.)
- SSH client (e.g., OpenSSH, PuTTY, etc.)
Apply¶
If you are interested in taking this course, please contact us at info@astronaut.center