“How do I learn DevOps at home?” This is a very common question asked by aspiring DevOps Engineers who are currently in a different line of work and want to switch to DevOps or just beginning their career. They are mostly looking for DevOps training that they can take on the side while continuing with their day job or pursuing their education.
A very common problem for people involved in IT and development is that they are too busy in their current work to have the time to learn something new. For those who might consider themselves in a pickle when thinking of learning DevOps at home, here are some ways a person can learn DevOps easily without having to compromise on their everyday responsibilities.
5 Tips to Learn DevOps at Home
1. Time Management
Everyone likes to talk about it but very few people actually act on it successfully. Why is that? Well, the first thing is that nobody likes change. For instance, when you come back home from work, you probably want to wash up, have a nice meal and Netflix.
When you start your DevOps training online, you have to give up on some of the simpler pleasures of life. This absolutely doesn’t mean a person has to change everything about their evening routine, they just have to fit in an hour or two of reading up and practicing different functionalities.
2. Understanding the Stakes
One thing that a DevOps engineer must understand is that they are also a Systems engineer version 2.0. The updated version, which means there is no shortcut to this. A good DevOps engineer must understand the ever-evolving tools of development, testing, and deployment while also learning how to communicate and manage a project on their own.
You cannot be a DevOps engineer with just a few months of experience. It takes years to master the different aspects and have a great understanding of them that allows you to complete tasks and find solutions faster than a regular developer.
But all this talk of experience and years should not scare you, because these days, there are loads of tools that can help ease the process and cut down the learning time. However, do not make the mistake of confusing tools with skills. Tools assist, skills build. Work on your networking, written communication, and troubleshooting skills while learning the ropes.
3. The Basics
If you have never worked in any sector of the IT industry, you cannot think of becoming a DevOps engineer without some serious work. When undergoing DevOps training, the engineer needs to be well versed in all the basics that go into developing software and managing it well. This means you need good knowledge of programming languages and experience with Linux.
Some may argue that there is no need for Linux as you can do your DevOps training while staying in the Microsoft Domain. Very true, but it is also true that if you don’t have a good knowledge of Linux, there are fewer job opportunities because most people prefer working with Linux. Starting with Windows and gradually working towards Linux can also be done, but why take the long route?
As you may know, another name for a DevOps engineer is also a Cloud engineer, so you have to know how deployment and management is done on different clouds services like AWS and Azure.
If an engineer already has a good grip on all of these domains, they are ready to learn about DevOps, if not, let’s get to work.
4. Learn about Terraform
So what most people think about doing is setting up a home lab to learn DevOps. Setting up a home lab doesn’t necessarily have to be in a specific way, it should just suit your needs and have the goal completed.
Terraform can be a DevOps engineer’s best friend. First released in 2014 by HashiCorp, Terraform is an infrastructure-as-code that allows users to define the data center infrastructure for their project using high-level configuration language (HCL). This allows a DevOps engineer to create detailed execution plans for the building of infrastructure through a specific service provider.
Terraform also helps to create, change and update infrastructure while allowing to commit files to a git repository for versioning.
Another major function of Terraform is allowing users to use servers successfully without having them set up in the home lab. Terraform can help a user to spin servers in Digital Ocean and configure them using Ansible for testing of different purposes. This can be done for an hour or two and then the server can be shut down. This allows new users to save up a lot of money when receiving their DevOps training.
5. A Successful Test-Bed
By definition, DevOps is a fusion of what developers do with what people who operate them have to do, which means that you do not only have to test the software that you will deploy, but have to study each functionality of it and work through to create a smooth environment in which they would be running.
For this, you will need to create a test-bed at home. Here is an example of what you might need to set up the most basic test-bed:
- Web Server: IIS/Apache
- Database: Ms SQL
- OS: Windows/Linux
- Web Browsers (any would do)
- Java Version 6
To create an efficient and relatively a lot cheaper testbed at home, going with GitLab would be a better option for a beginner. GitLab has a very easy user interface and provides all of the things someone would need to get started on their project and its testing.
The omnibus package in GitLab is a good way to start as it provides tools for integration, environment generation and updates, CI/CD, internal dock registry, version control, and a whole lot more. A 2 core virtual server with 8GB memory is good enough for running it which is a huge reduction in cost.
There are other options that you may explore for your own test-bed, and it’s always better to test out different software and hardware to see what suits one better.
DevOps is a great field to work in, but a beginner must understand the work and skill that is required for a successful DevOps Engineer to create a fully automated pipeline that can turn ideas into successful revenue-generating processes.
Learn DevOps at home today by acquiring the right certifications and training online. Start small if you need to learn a language, do that, and learn about networking. You can do this all from home, all you need is consistency and a commitment to lifelong learning.