- How To Become a DevOps Engineer In Six Months or Less
- By Igor Kantor
- The Nuggets translation Project
- Permanent link to this article: github.com/xitu/gold-m…
- Translator: In the book
- Proofreader: Jianboy
“Empty Highway Crosses Colorful Desert” — posted by Johannes Plenio at Unsplash.
Note: This is the first part of a series.
The second part is inhere.
The target audience
Are you a developer looking to move on to a more DevOPs-friendly career path?
Are you an experienced operations person who wants to understand the entire DevOps ecosystem?
Or are you neither, just looking for a career change and not sure where to start? If so, read on!
Finally, if you’ve been DevOps for years, you can probably glean useful information from the article, such as verifying where you are and where you’re headed.
What is DevOps?
First, what is DevOps?
You can Google the definition, but most of them are long, continuous fields with a lot of hot air. (See what I did next.)
So, I’ll do a search for you and extract its definition:
DevOps is a combination of pain and responsibility for software delivery.
That’s all.
Okay, so what exactly does that mean?
Traditionally, the roles of developers (the people who develop software) and operations (the people who maintain software) have been different.
For example, as a developer, I want to develop as many new features as possible as quickly as possible. After all, it’s my job and the client’s needs!
However, if I’m an operations person, I probably don’t want too many new features, because every new feature means a change, and every change is risky.
As a result of this conflict of incentives, DevOps was born.
DevOps attempts to merge developers (Dev) and operations (Ops) into one group. The idea is that all the pain and responsibility (and possibly rewards) of developing, deploying, and performing user-facing software can be absorbed within the same group.
At this point, purists will tell you, “There is no such thing as a DevOps engineer. DevOps is a culture, not characters.”
Yes, it’s theoretically true (the worst kind of true!). “But, as so often happens, this has gone beyond its original meaning.
Now, being a DevOps engineer is like being a Systems Engineer 2.0.
In other words, a DevOps engineer is someone who understands the software life cycle, can develop developer-oriented tools, and can advance solutions to classic operations problems.
DevOps ultimately means building the digital pipeline, from code on a developer’s laptop to production deployment to revenue, which is awesome!
That’s what it’s all about!
Also note that the DevOps industry as a whole pays well as a career choice, and almost every company has a DevOps position, or claims to have one.
No matter where the company is, DevOps jobs are plentiful and will provide interesting and meaningful work for years to come.
Note: Be wary of companies that employ “DevOps teams” or “DevOps departments.” Strictly speaking, this is not going to happen, because DevOps is ultimately about culture and software delivery, not about putting in new teams or departments.
To give up
Now, let’s put aside the cup of Kool-Aid and consider the following:
Have you ever heard the old saying, “There are no junior DevOps engineers?”
If not, be aware that it’s a popular metaphor on Reddit and StackOverflow. But what does it mean?
In short, this means that it takes years of experience, combined with a solid understanding of the tools, to become a truly advanced DevOps practitioner. Unfortunately, there is no shortcut to experience.
So don’t try to cheat in this industry, I don’t think you can pretend to be a senior DevOps engineer with a few months of experience. Fast iterative tools and methods can take years to develop a deep understanding, and there are no shortcuts.
However, most companies generally use some mainstream (up-to-date, if you will) tools and concepts, and that’s the whole topic of this article!
Also, because tools and skills are different, make sure you don’t neglect your skills (interviewing, networking, written communication, troubleshooting, etc.) when learning the tools
Most importantly, don’t forget what we’re after — building a fully automated digital pipeline to turn ideas into revenue-generating code.
That’s the only thing that matters in the whole article!
Enough said, how do we get started?
Here’s your road map.
With these tips, you can safely call yourself a DevOps engineer! Or cloud engineers — if you hate the term “DevOps.”
The chart below represents what I (and probably most people working in this field) think a DevOps engineer should know. That said, it’s just a suggestion, there will be different voices, there’s nothing wrong with that, we’re not trying to be perfect, we’re trying to build a solid foundation.
Note: You should use a breadth-first approach and start with the basics (and stick to them!). . First learn the blue marker technology (Linux | | Python AWS), then if time permits or employment market demand, and continue to learn the purple marker technology (Golang | Google Cloud).
Translator’s note: AWS and Google Cloud skills can be understood as China’s Tencent Cloud, Ali Cloud.
DevOps basics
Also, if time permits, after you have mastered the first level of basics, move on to the next level to increase the depth of your expertise.
Once you understand the basics, you can move on to solving real problems:
Real world skills
Note: Testing is missing from the skill pipeline above – writing test cases is intentional – it’s not easy to write integration and acceptance test cases, which are usually the work of developers. The “testing” phase is intentionally omitted because the goal of the learning roadmap is to quickly acquire new skills and tools. I think a lack of testing expertise is a minor hurdle to becoming DevOps.
And remember, we’re not here to learn a bunch of irrelevant technical banter. We need to have a deep understanding of the complete tool chain and how it all fits together to tell a coherent story.
The story is end-to-end process automation — a digital pipeline that can be altered like an assembly line.
Also, you don’t want to learn a bunch of tools and stop there, tools come and go quickly, concepts don’t. Therefore, what you should do is to use tools as proxies to learn higher-level concepts, rather than tool use.
Ok, let’s dig a little deeper!
Basic knowledge of
Under the baseline labeled “basics,” you’ll see the skills that every DevOps engineer must master.
Here, you’ll see the three pillars that dominate the industry: operating systems, programming languages, and the public cloud. These are not things you can learn quickly, check out the list and move on. In order to stay familiar and up-to-date with your skills, you must continue to learn and be sharp about them.
Let’s look at them one by one.
Linux: A system that runs everything. Can you be a good DevOps practitioner today, fully within the Microsoft ecosystem? Of course you can! There is no requirement that Linux include all ecologies.
However! Note that while all devOPs-Y things can indeed be done with Windows, the process is more painful and there are far fewer jobs. Now, you can safely assume that you can’t become a true DevOps professional without knowing Linux. So Linux is something you have to learn and keep learning.
Admittedly, the best approach is to install Linux (Fedora or Ubuntu) on your home computer and use it as often as possible. You’ll solve some problems, or you’ll get bogged down, and then you’ll have to solve everything, and in the process, you’ll learn Linux!
For reference, in North America, Red Hat variants are more common, so it makes sense to start with Fedora or CentOS. If you are hesitant to use a KDE or Gnome desktop environment, use KDE. Linux Torvalds is in use. 🙂
Python: The most mainstream backend language today. Easy to use, widely used. Bonus: Python is widely used in AI/ machine learning, so if you want to move on to another hot field, the road is already paved.
Amazon Web Services: Again, it’s impossible to be a seasoned DevOps professional without fully understanding how the public cloud works. If you want to learn about the cloud, Amazon Web Services is the dominant player in this space and offers the richest toolset.
Can WE start with Google Cloud or Azure? Of course you can! But we’re looking for profit maximization, so AWS has the best chance of success, at least in 2018.
Signing up for an AWS account will get you some free package deals, so this is a good place to start.
Now, when you log into the AWS console, you’ll see a straightforward menu of options.
“Discover another AWS feature I never knew existed” by Tom Pumford at Unsplash.
That was a sarcastic remark. The good news is, you don’t need to know every amazon technology.
Start with VPC, EC2, IAM, S3, CloudWatch, ELB (under the umbrella of EC2) and security groups. These things can help you get started, and every modern, cloud-enabled enterprise uses these tools extensively.
AWS ‘own training site is a good place to start.
I recommend you spend 20-30 minutes a day practicing Python, Liunx, and AWS.
Note: This will be a must-learn addition. All in all, I estimate that spending an hour a day, five times a week, is enough to get you fully informed about the DevOps industry in six months or less.
This is the base layer!
In subsequent articles, we’ll discuss the next level of sophistication: how to configure, manage versions, manage packages, deploy, run, and monitor software in a completely automated manner!
If you find any mistakes in your translation or other areas that need to be improved, you are welcome to the Nuggets Translation Program to revise and PR your translation, and you can also get the corresponding reward points. The permanent link to this article at the beginning of this article is the MarkDown link to this article on GitHub.
The Nuggets Translation Project is a community that translates quality Internet technical articles from English sharing articles on nuggets. The content covers Android, iOS, front-end, back-end, blockchain, products, design, artificial intelligence and other fields. If you want to see more high-quality translation, please continue to pay attention to the Translation plan of Digging Gold, the official Weibo, Zhihu column.