S
S
Sergey Sashkin2018-10-10 17:34:13
System administration
Sergey Sashkin, 2018-10-10 17:34:13

How to start learning DevOps?

Hey guys!
Help with the direction I'm a sysadmin for 10 years, I have experience with Unix (squid, nginx and little things)
where to start learning DevOps direction?
1) I don’t know how the code is delivered to production (staging, etc.)
2) how to deploy and how it is done

Anyway, where to start and where to go
Please don’t ping for a noob question, but be understanding
Thank you

Answer the question

In order to leave comments, you need to log in

7 answer(s)
E
Eugene, 2018-10-11
@LexPex

Saboteur answered well (which does not negate the fact that all the other respondents are also right)
DevOps are practices. This is not a set of tools (tools are used at certain stages, the implementation of which is necessary to approach the ideal), but again, there are certain necessary tools.
You can read a lot of information about devops, but I, as an admin (win-admin: D) see the situation for you, like anyone else, with an ops basis, something like this:

  1. In bold, you have highlighted questions that do not play the slightest role for you right now. Dmitry Shitskov and Saboteur wrote why: it depends on the project.
  2. Testament of any ops: automate everything you can
    If the choice is between configuration management ( chef, ansible, puppet, etc. ) and scripts, then the first one is better. Although it can be argued here, in my chef's project, automated is not very much used at the last stage of delivery to the prod, since we still seal the machine and run it in AWS with asg without post-configuration. Here you can argue until you're blue in the face whether it's good or not, but scripts in an ideal world lose DSL
  3. You write code for automation
    You will need git (which pulls git hosting: bitbucket, github, gitlab , etc.) and the skills to properly work with git. To track and plan changes, you will need some kind of task tracker (jira, task tracker built into gitlab, something else).
  4. Infrastructure as code
    Automate everything means automating the deployment of infrastructure
    This is where the specifics of your environment come into play - in the clouds you most likely want to use terraform or, for example, CloudFormation in AWS - a built-in orchestration tool, or you will run everything right away in containers - docker, kubernetes using the appropriate tools.
  5. Monitoring
    You can't live without proper monitoring (+ logging) that suits your product. And this was before the DevOps trend - this is a classic administration. I won’t advise anything here, I didn’t get along with Zabbix myself, I moved to influx and adjacent ( TICK stack ). For logging - graylog, ELK . In some parts, prometheus is used, which is also convenient for the cuber. In general - with what make friends.
    This is just what you should already know and it will be easier for you to get started.
    You will be well oriented (not only know, but also choose the right tools, be able to build the right pipeline) - you will be torn off with your hands, despite the fact that you may be weak in other areas (testing, build, etc.)
    For an approximate understanding of the entire cycle, you can look at (the picture is relatively random, there are many of them, two years ago I was guided by another one, with a list of tools that was more suitable for me, but I can’t find it =( )
    PS Once again, I want to note that the above is based on personal experience and this is a movement in devops from the side of ops. There are those who immediately try to build everything according to devops while simultaneously learning the ops part and the development part (I saw such, not everyone succeeded). There are those who are moving into devops from the Dev side. Everyone will have different opinions what is important in order to start

N
neatsoft, 2018-10-11
@neatsoft

Basis:
DevOps Roadmap

V
Vladislav Polyakov, 2018-10-10
@polRk

Continuous Integration and Delivery - GitLab TravisCI CircleCI
Docker -> docker-compose -> Kubernetes
This is a basic start that will be a lot of hassle.

D
Dmitry Shitskov, 2018-10-10
@Zarom

You will also need knowledge of bash (scripts), knowledge of any PL, for example python, will be a big plus. Often it will be necessary to understand the essence of someone else's code in unfamiliar languages.
Knowledge of Jenkins, and, for example, GitlabCI.
Some kind of orchestration system: ansible, puppet, chief, solt...
Personally, we deploy through capistrano, but there are also a lot of deployment systems.
Each team will have its own stack of tools and techniques. You need to come to the team and jump into this pool.

R
rustler2000, 2018-10-11
@rustler2000

https://dev.to/joehobot/devops-roadmap-5d0

S
Sanes, 2018-10-11
@Sanes

Docker, Ansible, Puppet, Chief to start with. About bash and Python, it's probably clear.
But the stack is different for every company.

O
O Di, 2018-10-16
@insiki

The topic is well covered here How to get into DevOps, how to learn and what to read

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question