I love projects that last a week, and long-term projects scare me. In Agile, I really liked the concept of MVP and increment—it’s exactly my style: create a functional piece, implement it, and move on.
However, the DevOps transformation as discussed in books and at conferences is precisely a long-term project. Or even several years long.
We built our DevOps course within the paradigm of 'MVP DevOps in one sprint' and 'prepared for increments'. In simpler terms, 'so that participants could immediately implement something back at their workplaces and gain benefits'.
MVP DevOps: the course includes tools for essential DevOps processes. We didn't aim to examine and compare all CI/CD systems or delve into the depths of the Infrastructure as Code approach. We provide one clear stack: GitLab CI/CD, Ansible, Terraform, Packer, Molecule, Prometheus, EFK. You can come from the courses, build infrastructure for a pilot project from the educational materials, and work within it.

Preparedness for increments: we provide each element with a wealth of practice and examples. You can take one tool and work on its implementation based on the educational schematics. For example, write an Ansible playbook to deploy dev environments or connect a bot and manage server from your phone. In other words, achieve a specific practical result in a week. It may be infinitely far from the full DevOps transformation of the entire company, but it's there, it exists, it works, and it brings benefits.
DevOps SLRM Topics
Topic #1: Git best practices — speaks for itself.
Topic #2: Working with applications from a development perspective — engineers need the competencies of both administrators and developers, which is why we educate admins about development.
Topic #3: Fundamentals of CI/CD
- Introduction to CI/CD automation
- Fundamentals of working with GitLab CI
- Best practices with gitlab-runner
- Bash, make, and gradle tools as part of CI/CD and more
- Docker as a solution for CI problems
Topic #4: GitLab CI/CD in production
- Concurrency when running jobs
- Execution Control and Restrictions: only, when
- Working with Artifacts
- Templates, includes, and microservices: simplifying deployment
We introduce students to the basic concepts and principles of CI/CD and the tooling required for its implementation. As a result, students will be able to independently choose a CI/CD design template and the appropriate implementation tool.
Next, we will demonstrate the implementation of CI/CD in Gitlab and examine the setup, exploring advanced usage of Gitlab CI. As a result, the student will be able to independently configure Gitlab CI for their own projects.
Compared to the first DevOps Slurm, we have halved the theory (one hour per topic), moved away from an overview of all systems, and focused solely on Gitlab CI. We concentrated on practical work and added many best practices.
Topic #5: Infrastructure as Code
- IaC: treating infrastructure as code
- Cloud providers as infrastructure suppliers
- System initialization tools, image building (packer)
- IaC using Terraform
- Configuration storage, collaboration, application automation
- Practice of creating Ansible playbooks
- Idempotency, declarativity
- IaC using Ansible
We reduced the theoretical part on UI and openstack cli and focused on practical applications.
We will consider two IaC approaches using the same application, showing the advantages and disadvantages of each. As a result, the student will understand which approach to use in different situations and be able to work with both Terraform and Ansible.
In the Terraform topic, we will discuss teamwork and state management in a database practically. In working with modules, the student will write and configure a module themselves, learning to reuse and version it. We will include working with Consul, showing when it is necessary and how to use it correctly.
Topic #6: Infrastructure Testing
- Let's explore why tests are not being written.
- What types of tests exist in IaC?
- Static analyzers, are they really useless?
- Unit testing IaC using ansible + molecule as an example
- Testing as part of CI
- Tests on steroids or how to avoid waiting 5 hours for IaC test completion
We have shortened the theoretical part, providing less discussion about Vagrant/Molecule and focusing more on practical testing, with an emphasis on linters and working with them. We look at it from the perspective of CI.
How to make testing faster. In practice, there will be:
- a self-written linter that checks for the presence of mandatory variables for a host based on its role;
- adding CI testing only for the roles that have changed, which significantly reduces the test execution time;
- adding scenario testing. We will deploy the entire application as an integration test.
Topic #7: Infrastructure Monitoring with Prometheus
- How to Build a Healthy Monitoring System
- Monitoring as a tool for analysis, development efficiency, and code stability, even before production.
- Setting up prometheus + alertmanager + grafana
- Transitioning from resource monitoring to application monitoring.
We will talk a lot about microservices monitoring: request IDs, API monitoring tools. There will be many best practices and plenty of hands-on work.
We will write our own exporter. We will set up monitoring not only for production infrastructure and applications but also for builds in GitLab. We will look at statistics on failed tests. We’ll see in practice how monitoring looks with and without health checks.
Topic №8. Application Logging with ELK
- Overview of Elastic and its tools
- ELK/Elastic Stack/x-pack — what is what and what is the difference?
- What tasks can be solved using ElasticSearch (search, storage, scaling features, configuration flexibility)
- Infrastructure monitoring (x-pack)
- Container and application logs (x-pack)
- Logging using our application as an example
- Best practices with Kibana
- Open Distro for Elasticsearch by Amazon
The topic has been completely revised and is led by Eduard Medvedev; many have seen him in the webinar on DevOps and SRE. He will share and demonstrate the best practices for working with EFK using a training application. There will be practical sessions with Kibana.
Topic №9: Infrastructure Automation with ChatOps
- DevOps and ChatOps
- ChatOps: Strengths
- Slack and alternatives
- Bots for ChatOps
- Hubot and alternatives
- Security
- Testing
- Best and worst practices
In ChatOps, we've added practices for authentication with permission separation, user action confirmation, theory and practice of alternatives to Slack in the form of Mattermost, and theory of unit and integration tests for the bot.
The DevOps Slurm starts on January 30. Price — 30,000.
For those who made it this far, there is a 15% discount on the DevOps course using the promo code habrapost.
Registration
I would be glad to see you at the Slurms!
Source: habr.com
