Slurm DevOps. Day one. Git, CI/CD, IaC, and the green dinosaur

On September 4th, Slyurm DevOps began in St. Petersburg.

All the necessary factors for an engaging three-day intensive converged in one place and time: the comfortable Selectel conference hall, dozens of curious developers in the room and 32 participants online, Selectel servers for hands-on practice, and a green dinosaur lurking in the corner.

Slurm DevOps. Day one. Git, CI/CD, IaC, and the green dinosaur

On the first day of Slyurm, three speakers presented to the participants.

Pavel Selivanov, a solutions architect at Southbridge, has been in administration for over 10 years and is a Certified Kubernetes Administrator. He is a regular speaker at Slyurm. He has given talks at the Moscow Kubernetes Meetup and UWDC. He has extensive experience in implementing Kubernetes: 5 projects as an individual contributor and more than 20 projects as part of a team.

Artem Galonskiy, CTO of BureauBureau, specially came to Slyurm DevOps from Kaliningrad. He has over 12 years of experience in commercial development. He has acted as a team lead since 2011 and became a technical director in 2016. He believes that a DevOps engineer is somewhat like a unicorn. Not in the sense that only a virgin can catch it, but that no one truly knows what it actually is.

Alexey Stepanenko, an engineer in the Selectel cloud platform department, handles infrastructure tasks related to maintaining the OpenStack cloud: monitoring, CI/CD, and configuration management.

Slurm DevOps. Day one. Git, CI/CD, IaC, and the green dinosaur
‘… and then I caught a bug like this.’

Pavel Selivanov was the first to shower participants with knowledge, taking an unexpected approach. One might think there's nothing special about Git—after all, it's quite simple and mundane, basic truths. But in reality, few people know how to work correctly with Git. We covered the basic commands git init, commit, add, diff, log, status, pull, push. We recalled git flow, branches, and tags, and merge strategies.

Slurm DevOps. Day one. Git, CI/CD, IaC, and the green dinosaur

Then Pavel Selivanov focused on collaborative work with Git. We discussed fork, remote, and pull requests. After that, we discussed conflicts, releases, and revisited Gitflow and other flows applicable to teams.

Slurm DevOps. Day one. Git, CI/CD, IaC, and the green dinosaur

Slurm DevOps. Day one. Git, CI/CD, IaC, and the green dinosaur
‘Ah, what an admin!’

After lunch, when participants had gathered some strength and prepared to listen further, it was time for CI/CD.

Artyom Galonsky started with the topic "CI/CD: Introduction to Automation." He detailed the tools bash, make, gradle, and the use of git-hooks for process automation. He discussed factory assembly line concepts and their application in IT. He shared an example of constructing a "shared" pipeline. He covered modern CI/CD software: Drone CI, BitBucket Pipelines, Travis.

Slurm DevOps. Day one. Git, CI/CD, IaC, and the green dinosaur

Slurm DevOps. Day one. Git, CI/CD, IaC, and the green dinosaur

As it approached six in the evening, participants began to feel worn out. Suggestions for more frequent breaks started coming in. The atmosphere in the conference room noticeably warmed up with the actively engaged neocortexes. A heartfelt request even appeared in the work chat: "Colleagues, let's not overdo it and take more breaks #support"

Slurm DevOps. Day one. Git, CI/CD, IaC, and the green dinosaur
"— Masha, can I step out? — No, stay!"

Artyom Galonsky relentlessly continued to load knowledge into the participants. After the coffee break, he opened the next topic "CI/CD: Working with Gitlab."

Slurm DevOps. Day one. Git, CI/CD, IaC, and the green dinosaur
"Now, hold on tight to your laptops. And here we go!"

He talked about Gitlab CI, its setup features, best practices, and then Gitlab Runner, its types and applications. He reviewed the stages of Gitlab CI and Gitlab CI variables. Following the control and execution constraints (only, when), he discussed working with artifacts. He showed templates within .gitlab-ci.yml, reusing actions across different parts of the pipeline Include — sections. He concluded with centralized management of gitlab-ci.yml: one file and automatic pushes to other repositories.

After another round of cookies and coffee, Alexey Stepanenko presented on the topic "Infrastructure as Code: Approach to Infrastructure as Code." The audience was lively, eager to hear about the next day's topic "IaC using Terraform," and demanded touching stories.

Nikita Suvorov, [Sep 4, 2019, 8:27:35 PM]:
@f3exx Will there be touching stories about Terraform or will it all end with labs?

Aleksey Stepanenko, [Sep 4, 2019, 8:28:32 PM]:
There will definitely be one)

Dmitriy Miroshnichenko, [Sep 4, 2019, 8:28:38 PM]:
Uh, for example, what?
Did the junior take the state and wreck everything?

At the fifth Slurm, we tried the "ladder" scheme, where material is presented from simple to complex — starting from Git and finishing with SRE. It didn’t work out very well: the advanced participants got bored with the simpler topics. Let's see how the complex part of the intensive goes on Friday.

Slurm DevOps. Day one. Git, CI/CD, IaC, and the green dinosaur

In the Slurm chat, they are writing:

Nikolai Kononenko, [Sep 4, 2019, 16:17:28]: Everything seems to be working out, but the pace is such that you can only do it without really thinking. It's very much like finding a random instruction on one of the sites where you just copy it step by step and paste it, only you don't have the chance to stop and you need to rush from step to step. Or maybe you already know it and you're fine with it.

Alexander B, [Sep 4, 2019, 16:18:06]: Yes, you manage to do one thing - either listen or execute.

Fedor, [Sep 4, 2019, 16:18:21]: +1. Another downside is that while you're busy copying and pasting instructions, you miss 80% of Artem's words.

Kirill, [Sep 4, 2019, 16:19:01]: You need to run two runners. One runner listens while the other copy-pastes.)

If you slow down the pace of Slerma, it will accommodate less information. You have to sacrifice something — we sacrificed a comfortable pace. Specifically, to fit everything in our heads, there are recordings of the intensive.

Slurm DevOps. Day one. Git, CI/CD, IaC, and the green dinosaur

Pavel Selivanov asked the audience several times how ready they were to continue or to move a number of sub-topics on IaC to the next day. For a long time, friendship and neutrality were winning in the voting. Only at half-past eight in the evening did those who still remembered that ideally, at night, one should sleep win.

We responsibly declare that on the first day of Slerma, no dinosaur was harmed by DevOps engineers. Two more days of the intensive are ahead. The most interesting, complex, and delicious parts: IaC and SRE.

Source: habr.com

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster