DevOps slurm is a better functioning tit in 3 days than a beautiful crane in the distant future

I love a week-long project, and year-long projects scare me. In agile, I really liked the concept of MVP and increment, it’s just mine: make a workable piece, implement it and move on.

At the same time, DevOps transformation, in the form in which it is discussed in books and at conferences, is just a year-long project. Or in years.

We built our DevOps course in the paradigm of “MVP DevOps in one sprint” and “ready for increments”. And if in a human way, then “so that the participant, upon his return, could immediately implement something in himself and benefit.”

MVP DevOps: The course has tools for core DevOps processes. We did not set ourselves the task of reviewing and comparing all CI / CD systems or revealing the depths of the Infrastructure as Code approach. We give one clear stack: Gitlab CI/CD, Ansible, Terraform and Packer, Molecule, Prometheus, EFK. You can come from the courses, assemble the infrastructure for the pilot project from the training materials and work in it.

DevOps slurm is a better functioning tit in 3 days than a beautiful crane in the distant future

Ready for increments: we give each element with lots of practice and examples. You can take one tool and use the training drawings to implement it. For example, write an Ansible playbook for rolling out dev environments or connect a bot and administer the server from your phone. That is, in a week to get a specific practical result. Although he is infinitely far from the DevOps transformation of the entire company, he exists, he is here, he works and brings benefits.

Slurm DevOps Topics

Topic #1: Git best practices - speaks for itself.
Topic #2: Working with the application from a development point of view - an engineer needs the competencies of an administrator and a developer, so we tell admins about development.

Topic #3: CI/CD Basics

  • Introduction to CI/CD Automation
  • Gitlab CI Basics
  • Best practices with gitlab-runner
  • bash, make, gradle tools as part of CI/CD and beyond
  • Docker as a way to solve CI problems

Topic #4: Gitlab CI/CD in production

  • Job start competition
  • Execution control and restrictions: only, when
  • Working with artifacts
  • Templates, includes and microservices: simplifying deployment

We introduce students to the basic concepts and concepts of CI/CD and to tooling for the implementation of CI/CD. As a result, the student will be able to independently choose a CI / CD design pattern and a suitable implementation tool.

We then show the implementation of CI/CD in Gitlab and walk through the setup, looking at advanced ways to use 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 reduced the theory by 2 times (an hour per topic), left the review of all systems and left only Gitlab CI. Focused on practice, added a lot of best practices.

Topic #5: Infrastructure as Code

  • IaC: approach infrastructure as code
  • Cloud providers as infrastructure providers
  • System initialization tools, image building (packer)
  • IaC on the example of Terraform
  • Configuration storage, collaboration, application automation
  • The practice of creating Ansible playbooks
  • Idempotency, declarative
  • IaC on the example of Ansible

We have reduced the theoretical part of the UI and openstack cli and focused on practice.
Let's look at two IaC approaches using the same application, showing the pros and cons of each approach. As a result, the student will understand which approach to apply where, and will be able to work with both Terraform and Ansible.

In the Terraform topic, we will consider teamwork and storing state in the database in practice. When working with modules, the student himself will write and configure the module, learn how to work with it: reuse, version. Let's add work with Consul, show in what cases it is needed and how to use it correctly.

Topic #6: Infrastructure Testing

  • Understanding why they don't write tests?
  • What are the tests 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 not to wait 5 hours for the end of the tests for IaC

We have shortened the theoretical part, less stories about Vagrant/Molecule, more practice and direct testing, with a focus on linters and working with them. Looking from a CI point of view
how to make testing faster. Practice will:

  • self-written linter, which checks for the presence of required variables for the host, depending on the role;
  • we add to CI testing only those roles that have changed, which can significantly reduce the time of test execution;
  • adding script testing. We 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 the sale
  • Setting up prometheus + alertmanager + grafana
  • Moving from resource monitoring to application monitoring

We will talk a lot about monitoring microservices: request id, api monitoring tool. There will be many best practices and a lot of independent work.

Let's write our exporter. We will set up monitoring not only of the production infrastructure and application, but also of assemblies in Gitlab. Let's look at the statistics on failed tests. Let's see in practice how monitoring will look without healthCheck and with it.

Topic number 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, customization flexibility)
  • Infrastructure monitoring (x-pack)
  • Container and application logs (x-pack)
  • Logging on the example of our application
  • Kibana practices
  • Amazon Open Distro for Elasticsearch

The topic has been completely redesigned, it is led by Eduard Medvedev, many saw him at the webinar on DevOps and SRE. He will tell and show the best practices for working with EFK using an example of a training application. There will be practice with Kibana.

Topic #9: Infrastructure Automation with ChatOps

  • DevOps and ChatOps
  • ChatOps strengths
  • Slack and Alternatives
  • Bots for ChatOps
  • Hubot and alternatives
  • Security
  • The test is
  • Best and worst practices

ChatOps added the practice of authentication with separation of rights, confirmation of actions by another user, the theory and practice of an alternative to Slack in the form of Mattermost, the theory of units and integration tests for the bot.

Slurm DevOps starts on January 30th. The price is 30.
For those who have finished reading, a 15% discount on the DevOps course using the habrapost promo code.

Register here

I will be glad to see you at Slurms!

Source: habr.com

Add a comment