How to become a DevOps engineer in half a year or even faster. Part 1. Introduction

The target audience

Are you a developer looking to pivot your career towards a better DevOps model? Are you a classic Ops engineer and would like to get an idea of ​​what DevOps means? Or are you neither and, after spending some time working in IT, want to change jobs and have no idea where to start?
If so, read on to find out how you can become a mid-level DevOps engineer in six months! Finally, if you have been involved in DevOps for many years, you can still learn a lot from this series of articles and find out where the integration and automation industry is at the moment and where it is heading in its development.

How to become a DevOps engineer in half a year or even faster. Part 1. Introduction

What is it all about?

First, what is DevOps? You can google the definitions and wade through all this verbal husks, but know that most of the definitions are just a hodgepodge of words dressed in a streamlined form. Therefore, I will give you a summary of all these definitions: DevOps is a way of delivering software in which the headache and responsibility is shared among all those involved. That's all.

Okay, but what does this abbreviation mean anyway? It means that, traditionally, Developers (the people who create software) have been driven by incentives that are significantly different from those of Operations (operators, or people who manage the software). For example, as a developer, I want to create as many new features as quickly as possible. After all, it's my job and that's what clients demand! However, if I'm an Ops person, then I need as few new features as possible, because every new feature is a change, and any change is fraught with problems. As a result of this misalignment of incentives, DevOps was born.

DevOps tries to combine development and operations (integration and automation) into one group. The idea is that now one group will share both the pain and the responsibility (and probably the reward) of creating, deploying and generating revenue from customer-facing software.

Purists will tell you that there is no such thing as a “DevOps engineer.” “DevOps is a culture, not a role,” they will tell you. Technically, they are right, of course, but as is often the case, the term is out. beyond its original meaning.Now, a DevOps engineer is something like a “systems engineer 2.0.” In other words, someone who understands the software development life cycle and creates software development tools and processes to solve classic operational problems.

How to become a DevOps engineer in half a year or even faster. Part 1. Introduction

DevOps ultimately means creating digital pipelines that take code from a developer's laptop and turn it into revenue from the use of the final product, that's what it's all about. Note that choosing a DevOps career is highly offset by financial rewards, with nearly every company either “doing DevOps” or claiming to be. Regardless of where these companies are located, the overall employment opportunities as DevOps are quite high and mean "fun" and meaningful employment for years to come.

However, be wary of companies hiring a “DevOps team” or a “DevOps department”. Strictly speaking, these things should not exist, because ultimately DevOps is still a culture and a way of delivering software, not staffing a new team or creating department with a trendy name.

Disclaimer

Now let's put aside our glass of Kool-Aid for a moment and think about the next thing. Have you heard the old adage “there are no junior DevOps engineers?”. If not, then know that this is a popular trope on Reddit and StackOverflow. But what does he mean?

In simple terms, this phrase means that it takes many years of experience, combined with a solid understanding of the tools, to eventually become a truly effective Senior DevOps practitioner. And, unfortunately, there is no shortcut to achieve the goal. So this is not an attempt to cheat the system - I don't think it's really possible to pretend to be a senior DevOps engineer with a few months of experience in the industry. Achieving a solid understanding of rapidly changing tools and methodologies requires years of experience, and there is no escaping it. However, there is a near-consistent (trendy, if you will) menu of tools and concepts that most companies use, and that's what I'm going to be talking about.

Again, tools are different than skills, so while you're learning tools, make sure you don't neglect your skills (surveys, networking, written communication, troubleshooting, etc.). Most importantly, don't lose sight of what we're looking for - a way to create a fully automated digital pipeline that takes ideas and turns them into revenue-generating code snippets. This is the single most important takeaway from this entire article!

Enough talk, when can I start?

Below is the DevOps Fundamental Roadmap. Having mastered everything that is shown there, you can safely and honestly call yourself a DevOps engineer! Or a cloud engineer if you don't like the name "DevOps".

How to become a DevOps engineer in half a year or even faster. Part 1. Introduction

This map depicts my (and probably most people working in this space) idea of ​​what a competent DevOps engineer needs to know. However, this is only an opinion, and of course there will be those who disagree with it. This is fine! We are not striving for perfection here, we are striving for a solid foundation on which we can actually build.

You must go through this path gradually, layer by layer. You should start (and continue!) with the fundamentals, having first studied the elements marked in blue - Linux, Python and AWS. Then, if time or job market permits, go for the purple stuff - Golang and Google Cloud.

To be honest, the underlying top layer is something that you will have to study endlessly. OS Linux is very complex and takes years to master. Python requires constant practice to stay up to date. AWS is growing so fast that what you know today will only be a fraction of your total knowledge portfolio a year from now. Once you've learned the basics, move on to the real skill set. Note that there are 6 blue columns in total (Configuration, Version, Packaging, Deployment, Running, Monitoring), one per month of study.

How to become a DevOps engineer in half a year or even faster. Part 1. Introduction

Of course, you noticed the absence of an important stage in our six-month pipeline - testing. I purposely didn't include it in the roadmap, because module writing, integration, and acceptance tests are not easy and traditionally fall on the shoulders of developers. And skipping the “testing” stage is because the goal of this roadmap is to master the basic skills and tools as quickly as possible. Lack of testing experience, according to the author, is only a minor obstacle to the proper use of DevOps.

Also, remember that we're not studying a whole bunch of unrelated technical babble here, but are aiming to understand tools that work together to create a coherent story. This story is an end-to-end process automation - a digital pipeline that moves bits like an assembly line. You don't want to learn a bunch of tools and stop all the time! DevOps tools change quickly, but concepts change much less often. Therefore, you should strive to use tools as learning proxies for higher level concepts.

Okay, let's dig a little deeper!

Fundamental knowledge

Under the top rung labeled Foundation, you see the skills that every DevOps engineer should master. These skills are the confident handling of the three “pillars” of the industry, which are: the operating system, the programming language, and the public cloud. These things are not something that you can quickly familiarize yourself with and move on to. These skills need to be constantly improved and mastered in order to be at the forefront of the industry and actualize the professional environment around you. Let's go through them in turn.

Linux is where everything works. Can you be an amazing DevOps practitioner while staying completely within the Microsoft ecosystem? Sure you can! There is no such law that would prescribe to use only Linux. However, keep in mind - despite the fact that all Linux things can be done on Windows, it happens there much more painfully and with less functionality. At this point, it's safe to assume that without knowing Linux, it's impossible to become a true DevOps professional, so Linux is something you should study and learn.

Honestly, the best way to do this is to simply install Linux (Fedora or Ubuntu) at home and use it as much as possible. Of course, you will break a lot of things, you will get stuck in workflows, you will have to fix everything, but you will learn Linux!

How to become a DevOps engineer in half a year or even faster. Part 1. Introduction

By the way, RedHat variants are more common in North America, so it makes sense to start with Fedora or CentOS. If you are wondering if you should buy KDE or Gnome edition, choose KDE. This is what Linus Torvalds himself uses.

Python is the dominant back-end language these days. It is easy to get started with and widely used. Python is very common in the field of artificial intelligence and machine learning, so if you ever want to jump into another hot field of activity, you will be completely ready for it.

How to become a DevOps engineer in half a year or even faster. Part 1. Introduction

Amazon Web Services: Again, it's impossible to become a seasoned DevOps professional without a solid understanding of how the public cloud works. And if you want to know as much as possible about it, check out Amazon Web Services. It is the leading player in this service sector and offers the richest set of working tools.

Can I start with Google Cloud or Azure instead? Of course you can! But remembering the last financial crisis, AWS is the safest option, at least in 2018, as it allows you to sign up for an account for free and start exploring the possibilities of cloud services. In addition, the AWS console provides the user with a simple and intuitive menu to choose from. The good news is that you don't need to know all the Amazon technology to do this.

How to become a DevOps engineer in half a year or even faster. Part 1. Introduction

Start with the following: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing under the cover of EC2) and Security Group. These things are enough to get you started, and every modern, cloud-based enterprise makes heavy use of these tools. AWS's own training site is a good place to get started.

I recommend that you devote 20-30 minutes a day to learning and practicing with the Python language, the Linux operating system, and the AWS cloud service, in addition to other things you will need to learn. In general, I find spending an hour a day five times a week enough to understand the DevOps industry in 6 months or less. There are a total of 6 main components, each corresponding to a month of study. That's all you need to acquire basic knowledge.
In subsequent articles, we'll explore the next level of complexity: how to fully automate the configuration, versioning, packaging, deployment, running, and monitoring of software.

To be continued very soon...

Some ads 🙂

Thank you for staying with us. Do you like our articles? Want to see more interesting content? Support us by placing an order or recommending to friends, cloud VPS for developers from $4.99, a unique analogue of entry-level servers, which was invented by us for you: The whole truth about VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps from $19 or how to share a server? (available with RAID1 and RAID10, up to 24 cores and up to 40GB DDR4).

Dell R730xd 2 times cheaper in Equinix Tier IV data center in Amsterdam? Only here 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV from $199 in the Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - from $99! Read about How to build infrastructure corp. class with the use of Dell R730xd E5-2650 v4 servers worth 9000 euros for a penny?

Source: habr.com

Add a comment