avatarNeil Shah

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

5601

Abstract

</div>
      </a>
    </div><h2 id="25c9">4. ELK (Elastic Search, Logstash &amp; Kibana)</h2><p id="7fc9">This is one of the most advanced and widely used tools for logging and monitoring.</p><p id="8cce">Many tech companies use ELK to monitor their applications and much more. As ELK provide wide-variety of support in which you can log nginx logs, docker logs, system logs, CPU performance, node-API logs, etc</p><p id="a59b">You can also set alerts and watches and can also create your own dashboards easily.</p><p id="db98">Here is the article if you want to set up your own ELK easily:</p><div id="2d19" class="link-block">
      <a href="https://faun.pub/how-to-install-and-setup-elk-on-ubuntu-20-with-login-page-b9877a7ca9f6">
        <div>
          <div>
            <h2>How to Install and Setup ELK on Ubuntu 20 with Login Page.</h2>
            <div><h3>A Step-by-Step Guide that you won’t be able to find anywhere</h3></div>
            <div><p>faun.pub</p></div>
          </div>
          <div>
            <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/1*w-wCyvKp4APNJtaSLuqVvw.png)"></div>
          </div>
        </div>
      </a>
    </div><h2 id="9a09">5. Gitlab CI/CD</h2><p id="ddc6">As Jenkins uses a groovy script to build pipelines, GitLab ci/cd uses the YAML structure to build pipelines.</p><p id="e31c">GitLab CI/CD is a tool built into GitLab for software development through the continuous methodologies:</p><ul><li>Continuous Integration (CI)</li><li>Continuous Delivery (CD)</li><li>Continuous Deployment (CD)</li></ul><p id="af2a">With YAML structure GitLab also has three types of runners which you should know before building any kind of pipeline.</p><p id="f84f">Gitlab also provides many features like Container and Package Registries, Global and Project Specific Environment Variables, and much more.</p><p id="d748">Here is my article about Gitlab Runners more in detail:</p><div id="6a25" class="link-block">
      <a href="https://faun.pub/how-to-use-specific-runners-in-gitlab-ci-cd-pipeline-f876201aadfc">
        <div>
          <div>
            <h2>How To Use Specific Runners in Gitlab CI/CD Pipeline</h2>
            <div><h3>A Simplified Guide</h3></div>
            <div><p>faun.pub</p></div>
          </div>
          <div>
            <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/1*eAujgqR-ts4hJyIdnxpcCg.png)"></div>
          </div>
        </div>
      </a>
    </div><h2 id="135d">6. Scripting</h2><p id="cbf9">Yes, I know scripting is not a tool but a skill. And yes it is very much needed if you are or want to become a DevOps Engineer.</p><p id="8e04">Many Organizations demand automation of small tasks on a regular basis which can easily be achieved with the help of scripting.</p><p id="6132">Now scripting can be done in many coding languages whether it is a bash or a python. It usually depends on the use case.</p><p id="1f5c">Here are some scripts which I have created, please refer it might be helpful to you also:</p><div id="38f8" class="link-block">
      <a href="https://faun.pub/how-to-create-a-script-that-install-all-ubuntu-packages-5990572a7a17">
        <div>
          <div>
            <h2>How To Create a Script that Install All Ubuntu Packages</h2>
            <div><h3>Enter “bash install.sh” &amp; all the necessary packages will be installed.</h3></div>
            <div><p>faun.pub</p></div>
          </div>
          <div>
            <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*l7R9oASzYgl2oFND)"></div>
          </div>
        </div>
      </a>
    </div><div id="c822" class="link-block">
      <a href="https://faun.pub/how-to-copy-local-drive-folder-to-google-drive-automatically-d02d75339bb8">
        <div>
          <div>
            <h2>How to Copy Local Drive Folder to Google Drive Automatically</h2>
            <div><h3>A small script for automation</h3></div>
            <div><p>faun.pub</p></div>
          </div>
          <div>
            <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/1*Ej8WJLvjwuFntD9Kkc14jg.jpeg)"></div>
          </div>
        </div>
      </a>
    </div><div id="aaaf" class="link-block">
      <a href="https://faun.pub/how-to-create-a-user-input-sub-domain-in-aws-route-53-56a5d03dea7b">
        <div>
          <div>
            <h2>How To Create a User Input Sub-Domain in AWS Route 53</h2>
            <div><h3>Automation at its best!</h3></div>
            <div><p>faun.pub</p></div>
          </div>
          <div>
            <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/1*oeKM1ZAN80HIvKXfQkK3ug.png)"></div>
          </div>
        </div>
      </a>
    </div><h2 id="b723">7. Cloud Platforms</h2><p id="7227">Being a DevOps Engineer, you have to know every inch of the cloud platforms because you can only create a great infrastructure if you know the cloud thoroughly.</p><p id="0cd6">These are the three major cloud platforms that most companies use:</p><ul><li>AWS (Amazon Web Services)</li><li>GCP (Google Cloud Platform)</li><li>Microsoft Azure</li></ul><p id="1db4">You can learn these platforms by doing hands-on labs available with many online courses or else you can just sign-up and they will give you

Options

an x amount of credits to use.</p><h2 id="9315">8. Terraform and Ansible</h2><p id="574f">Ansible and Terraform are two applications that are quite similar yet have some important distinctions. One of the most significant distinctions between two widely used DevOps concepts:</p><ul><li>Configuration Management</li><li>Orchestration</li></ul><p id="73c4">Terraform delivers Infrastructure as Code quickly, allowing for faster environment installation and development.</p><p id="1073">Here is the Jenkins Pipelines which I made to create SQS on AWS using Terraform</p><div id="95bf" class="link-block"> <a href="https://faun.pub/how-to-make-a-jenkins-pipeline-for-aws-sqs-b98c35785ecc"> <div> <div> <h2>How To Make A Jenkins Pipeline For AWS SQS</h2> <div><h3>Jenkins+AWS+Terraform+Curiosity = Automation</h3></div> <div><p>faun.pub</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/1*Wkx86psi79FjAVHP-zgjOg.png)"></div> </div> </div> </a> </div><p id="031c">Ansible is majorly used to perform these two tasks: writing instructions on the way to install applications and designing the templates of configuration files.</p><p id="51a1">Meanwhile, It also acts as a single tool for all DevOps tasks as it defines the infrastructure in the Ansible playbook and commits to source control.</p><h2 id="491d">9. Kubernetes</h2><p id="6ef8">Kubernetes is an open-source framework for managing containerized workloads and services that allows declarative configuration as well as automation.</p><p id="be49">In Kubernetes, Containers are a good way to bundle and run your applications. In a production environment, you need to manage the containers that run the applications and ensure that there is no downtime</p><p id="b30a">It has a huge and fast-expanding ecosystem. Services, support, and tools for Kubernetes are widely available.</p><p id="486e">Many cloud providers also provide Kubernetes services like GCP servers Kubernetes as GKE, AWS provides EKS and Azure has AKS.</p><p id="631c">Talking about myself, I have worked extensively on GKE and some on EKS which I have not yet explored Azure Kubernetes Service.</p><p id="063a">Here are some articles which I have written related to GKE and EKS:</p><div id="2a92" class="link-block"> <a href="https://readmedium.com/how-to-use-google-kubernetes-api-efficiently-8f94465b1b4a"> <div> <div> <h2>How to Use Google Kubernetes API Efficiently</h2> <div><h3>The exact way to make things simpler</h3></div> <div><p>medium.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*JB2gI0xz2rPsJa5n)"></div> </div> </div> </a> </div><div id="16c3" class="link-block"> <a href="https://faun.pub/how-to-create-resources-remotely-on-minikube-3c1bc0b14bbb"> <div> <div> <h2>How to Create Resources Remotely on Minikube</h2> <div><h3>Kubernetes config file and API plays a major role</h3></div> <div><p>faun.pub</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*AsBMXO14-O8bvAKA)"></div> </div> </div> </a> </div><div id="79b8" class="link-block"> <a href="https://faun.pub/how-to-attach-elastic-ip-to-an-eks-node-in-aws-e3bfe60b3c38"> <div> <div> <h2>How To Attach Elastic IP to an EKS Node in AWS</h2> <div><h3>Using DB with Restricted IPs</h3></div> <div><p>faun.pub</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/1*CdET4UQScKqxlqyEuKjAmw.png)"></div> </div> </div> </a> </div><h2 id="967f">Summary</h2><p id="7094">If you are able to grasp any of the 5 things perfectly you can easily clear any kind of DevOps interview easily and can land a job.</p><p id="a2d2">Apart from all these, please correct me if I miss something in this article. I am open to all suggestions and queries.</p><p id="aef4">Thanks.</p><figure id="af48"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*t_MOgMTr_f1N4qHN_R7KVA.png"><figcaption></figcaption></figure><p id="3652">Join FAUN: <a href="https://faun.to/i9Pt9"><b>Website</b></a><b> </b>💻<b>|<a href="https://faun.dev/podcast">Podcast</a> </b>🎙️<b>|<a href="https://twitter.com/joinfaun">Twitter</a> </b>🐦<b>|<a href="https://www.facebook.com/faun.dev/">Facebook</a> </b>👥<b>|<a href="https://instagram.com/fauncommunity/">Instagram</a> </b>📷|<a href="https://www.facebook.com/groups/364904580892967/"><b>Facebook Group</b></a><b> </b>🗣️<b>|<a href="https://www.linkedin.com/company/faundev">Linkedin Group</a> </b>💬<b>|</b> <a href="https://faun.dev/chat"><b>Slack</b></a> 📱<b>|<a href="https://thechief.io">Cloud Native</a></b><a href="https://thechief.io"> <b>News</b></a><b> </b>📰<b>|<a href="https://linktr.ee/faun.dev/">More</a>.</b></p><p id="3062"><b>If this post was helpful, please click the clap 👏 button below a few times to show your support for the author 👇</b></p></article></body>

9 Tools to Learn if You Want to Be DevOps Engineer

Open-Source is future

Edited FromCanva Pro

Development + Operations = DevOps. If you are familiar with this term and reading this article then I can assume you are or a wannabe DevOps Engineer.

These tools are the industry standards and are the foundations that will make your things more fast, agile, and automated.

Note: This Article was by mistake deleted and I had to republish it. Sorry

How To Become A DevOps Engineer

DevOps is a very nuanced term and it has a very large meaning apart from the basic definition you learn in schools and online.

DevOps is a methodology in which operations and development engineers collaborate during the service lifecycle, from design to development to production support.

These are the tools you’d use to put these principles into action. There has been an explosion of tools in the DevOps environment, including release management, configuration management, orchestration, monitoring, virtualization among containerization, and many others.

1. Gitlab/Github/Bitbucket

These are the source code management repositories where you can store your code, do version control, and overall management of it. Every programmer knows these tools but most of them are still not familiar with basic commands that come in handy to make things simpler which pushing your code.

All these platforms have almost the same sort of command and recently they have also introduced the DevOps pipelines. We will discuss that in the particular section of this article down below.

Some important commands to remember:

git clone <url>
git add .
git commit -M "Message"
git push
git pull 
git reset --hard
git branch
git checkout < branch name>

2. Jenkins + Jenkins Plugins

For CI/CD, Jenkins might be the most commonly used by many tech companies.

The advantage of using Jenkins over other pipeline tools is that it is first of all open-source and it has a lot of plugins that will make your things so easy to implement.

Jenkins literally has a wide variety of plugins from Kubernetes to AWS to SonarQube and many more which can be used according to your use case.

Here are some great plugins which I’ll recommend you to have a look at. Top Jenkins Plugins You Can’t Miss in 2018

Also, here is my article where I implemented a pipeline on Jenkins:

3. Docker

Docker is a tool that allows developers to create a lightweight and portable software containers that make application development, testing, and deployment easier.

In Docker, you’ll encounter two types of files Dockerfile and docker-compose. These both will help you to create dockerize applications easily.

With the help of docker, you can host Jenkins on it and create the Jenkins worker nodes on the fly.

Learning docker will help you to work more easily on Kubernetes. Kubernetes is more advanced but to learn Kubernetes your docker concepts must be clear.

Here are some of my articles related to docker:

4. ELK (Elastic Search, Logstash & Kibana)

This is one of the most advanced and widely used tools for logging and monitoring.

Many tech companies use ELK to monitor their applications and much more. As ELK provide wide-variety of support in which you can log nginx logs, docker logs, system logs, CPU performance, node-API logs, etc

You can also set alerts and watches and can also create your own dashboards easily.

Here is the article if you want to set up your own ELK easily:

5. Gitlab CI/CD

As Jenkins uses a groovy script to build pipelines, GitLab ci/cd uses the YAML structure to build pipelines.

GitLab CI/CD is a tool built into GitLab for software development through the continuous methodologies:

  • Continuous Integration (CI)
  • Continuous Delivery (CD)
  • Continuous Deployment (CD)

With YAML structure GitLab also has three types of runners which you should know before building any kind of pipeline.

Gitlab also provides many features like Container and Package Registries, Global and Project Specific Environment Variables, and much more.

Here is my article about Gitlab Runners more in detail:

6. Scripting

Yes, I know scripting is not a tool but a skill. And yes it is very much needed if you are or want to become a DevOps Engineer.

Many Organizations demand automation of small tasks on a regular basis which can easily be achieved with the help of scripting.

Now scripting can be done in many coding languages whether it is a bash or a python. It usually depends on the use case.

Here are some scripts which I have created, please refer it might be helpful to you also:

7. Cloud Platforms

Being a DevOps Engineer, you have to know every inch of the cloud platforms because you can only create a great infrastructure if you know the cloud thoroughly.

These are the three major cloud platforms that most companies use:

  • AWS (Amazon Web Services)
  • GCP (Google Cloud Platform)
  • Microsoft Azure

You can learn these platforms by doing hands-on labs available with many online courses or else you can just sign-up and they will give you an x amount of credits to use.

8. Terraform and Ansible

Ansible and Terraform are two applications that are quite similar yet have some important distinctions. One of the most significant distinctions between two widely used DevOps concepts:

  • Configuration Management
  • Orchestration

Terraform delivers Infrastructure as Code quickly, allowing for faster environment installation and development.

Here is the Jenkins Pipelines which I made to create SQS on AWS using Terraform

Ansible is majorly used to perform these two tasks: writing instructions on the way to install applications and designing the templates of configuration files.

Meanwhile, It also acts as a single tool for all DevOps tasks as it defines the infrastructure in the Ansible playbook and commits to source control.

9. Kubernetes

Kubernetes is an open-source framework for managing containerized workloads and services that allows declarative configuration as well as automation.

In Kubernetes, Containers are a good way to bundle and run your applications. In a production environment, you need to manage the containers that run the applications and ensure that there is no downtime

It has a huge and fast-expanding ecosystem. Services, support, and tools for Kubernetes are widely available.

Many cloud providers also provide Kubernetes services like GCP servers Kubernetes as GKE, AWS provides EKS and Azure has AKS.

Talking about myself, I have worked extensively on GKE and some on EKS which I have not yet explored Azure Kubernetes Service.

Here are some articles which I have written related to GKE and EKS:

Summary

If you are able to grasp any of the 5 things perfectly you can easily clear any kind of DevOps interview easily and can land a job.

Apart from all these, please correct me if I miss something in this article. I am open to all suggestions and queries.

Thanks.

Join FAUN: Website 💻|Podcast 🎙️|Twitter 🐦|Facebook 👥|Instagram 📷|Facebook Group 🗣️|Linkedin Group 💬| Slack 📱|Cloud Native News 📰|More.

If this post was helpful, please click the clap 👏 button below a few times to show your support for the author 👇

DevOps
Tools
Open Source
Programming
Monitoring
Recommended from ReadMedium