Software development isn't all about UI/UX & writing a set of instructions(codes) that tell a computer how to perform a task, how to interact with users or how to respond to requests. In SDLC, there are 6 major stages/phases, but most people tend to pay more attention to the building/implementations stage. As much as this biassed favouritism due to asset valuation could be justified, it does not make room for cherry picking.

Before we go further, let's answer a few common questions about DevOps.

  1. What is DevOps?

  2. Should I learn DevOps - Is DevOps worth learning?

  3. What do I need to learn DevOps?

  4. Where do I start from?

 

What is DevOps?

Delivering softwares prior to 2007 when the DevOps movement started has always been difficult. Because IT teams, units & tools that were involved either operated in silos or had little or no collaboration among themselve. Also the feedback system & delivering of solutions & updates was extremely slow. 

Then came DevOps which is a combination of cultural philosophy, practices, tools & IT teams aimed at increasing the speed, efficiency & security of software development & delivery. It's the practice that fosters teamwork between the development & operations teams so that they can collaborate efficiently across the entire SDLC. Also, CI/CD (continuous integration & deployment) are used to speed up & reduce mistakes in the software development process. Simply put, it's a combination of software development (dev) & operations (ops).

There is however a mistaken assumption among most hiring managers & companies about DevOps. They think it's all about setting up & monitoring of servers. From the definitions above, we can see that a DevOps engineer does more than server setups & monitoring. It also involves planning how a software should be built, which tools are best suited for the product, when updates are required, when they’re to be released & how they’re to be released. DevOps engineers oftentimes have a holistic view on the entire technicality of a product.

 

Should I learn DevOps? Is DevOps worth learning?

You should definitely consider learning DevOps practices if you have a keen interest on how fast & reliable softwares are delivered, how they’re monitored & how its resources(servers, tools, etc) are performing. 

There is an 80% chance of failure in delivering a software in this modern age if a development team does not have a DevOps engineer. This has increased the market value of DevOps engineers over the years.

 

What do I need to learn DevOps?

We will be discussing what you will need to learn DevOps at different stages in this DevOps technical guide series. However, the two fundamental things you need to be an expert in DevOps aside from skills are patience & speed. You need the patience to learn, the patience to see what others are not seeing. You also need to be swift in responding to critical situations particularly in the production environment. In addition, if you have a prior background in building of softwares in any backend programming language, it can help you comprehend most of the practices we will be discussing faster.

 

Where do I start from?

Having read through till this point, I would assume that you want to learn it. It's a huge topic. I've threaded these waters for years and now I want to help you succeed in them. Spoiler alert: You will never learn it all. The more you learn, the less you realise you know.

These are the list of the 10 topics we will be dealing with below:

  1. Linux

  2. Networking

  3. Security

  4. Scripting & Programming

  5. CI/CD

  6. Containers(Docker) & Orchestrations(Kubernetes)

  7. Logging & Monitoring

  8. Resource Planning

  9. Infrastructure as Code

  10. Cloud Infrastructures (Linode, Digital Ocean, AWS, Azure & GCP)

 

To be continued on part 1

 

More Articles...