<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bibin Wilson</title>
    <description>The latest articles on DEV Community by Bibin Wilson (@bibinwilson).</description>
    <link>https://dev.to/bibinwilson</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F249672%2Fb7de7869-b234-461c-8bcf-08e958d5b958.jpg</url>
      <title>DEV Community: Bibin Wilson</title>
      <link>https://dev.to/bibinwilson</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bibinwilson"/>
    <language>en</language>
    <item>
      <title>How to Setup a AWS EKS Anywhere Cluster</title>
      <dc:creator>Bibin Wilson</dc:creator>
      <pubDate>Thu, 07 Jul 2022 05:58:48 +0000</pubDate>
      <link>https://dev.to/aws-builders/how-to-setup-a-aws-eks-anywhere-cluster-2ed4</link>
      <guid>https://dev.to/aws-builders/how-to-setup-a-aws-eks-anywhere-cluster-2ed4</guid>
      <description>&lt;p&gt;In this blog, you will learn what EKS anywhere is and how to set up an EKS Anywhere development cluster and register it to the AWS EKS console using the EKS connector.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is EKS Anywhere?
&lt;/h2&gt;

&lt;p&gt;EKS Anywhere is an AWS feature to run and manage EKS clusters in on-premises environments. It simplifies the on-premise Kubernetes management and enables a consistent Kubernetes experience in a multi-cloud Kubernetes deployment. Also, you will have full control over the control plane and the worker nodes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdkzgn4f1idb2zdax2yz8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdkzgn4f1idb2zdax2yz8.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;EKS anywhere uses Amazon EKS Distro (EKS-D), a Kubernetes distribution customized and open-sourced by AWS. It is the same distro that powers the AWS-managed EKS. This means that when you install EKS anywhere, it comes with parameters and configurations optimized for AWS.&lt;/p&gt;

&lt;p&gt;Also, you can register the EKS anywhere clusters to the AWS EKS console using the EKS connector.Once the cluster is registered, you can visualize all the anywhere cluster components in the AWS EKS console.&lt;/p&gt;

&lt;p&gt;EKS connector is a Statefulset that runs the AWS System Manager Agent in your cluster. It is responsible for maintaining the connection between EKS anywhere cluster and AWS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuew3uf3vlqrdawrm79s5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuew3uf3vlqrdawrm79s5.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Following the key use cases of EKS anywhere:&lt;/p&gt;

&lt;p&gt;Hybrid cloud consistency: EKS anywhere enables operational consistency across your on-premise and cloud Kubernetes clusters.&lt;br&gt;
Disconnected environment: You can run EKS anywhere cluster without internet connection. At the same time, your disconnected clusters will have the same features as the cloud EKS with EKS-D distro.&lt;br&gt;
Application modernization: With EKS-D, the administrative overhead of patching and version upgrades are reduced. So you can focus more on the applications.&lt;/p&gt;



&lt;h2&gt;EKS Anywhere Development Cluster Setup&lt;/h2&gt;





&lt;p&gt;You can setup EKS anywhere development clusters using Docker on a MAC or Ubuntu systems. &lt;/p&gt;





&lt;p&gt;Follow the steps given below to setup EKS anywhere development cluster.&lt;/p&gt;





&lt;h3&gt;Step 1: Install Docker Desktop  &lt;/h3&gt;





&lt;p&gt;Go to &lt;a href="https://docs.docker.com/desktop/mac/install/" rel="noreferrer noopener"&gt;Docker downloads&lt;/a&gt; and install the Docker desktop on MAC. For Ubuntu use &lt;a href="https://docs.docker.com/desktop/linux/install/" rel="noreferrer noopener"&gt;this link to download the deb package&lt;/a&gt;&lt;/p&gt;





&lt;p&gt;Mac users, open the following file and change &lt;code&gt;deprecatedCgroupv1&lt;/code&gt; to true. And then restart Docker desktop to apply the changes.&lt;/p&gt;





&lt;pre&gt;&lt;code&gt;vi ~/Library/Group\ Containers/group.com.docker/settings.json&lt;/code&gt;&lt;/pre&gt;





&lt;p&gt;Or else you will get the following error.&lt;/p&gt;





&lt;pre&gt;&lt;code&gt;Error: failed to validate docker desktop: EKS Anywhere requires Docker desktop to be configured to use CGroups v1. Please  set `deprecatedCgroupv1:true` in your `~/Library/Group\ Containers/group.com.docker/settings.json` file&lt;/code&gt;&lt;/pre&gt;





&lt;h3&gt;Step 2: Install eksctl-anywhere&lt;/h3&gt;





&lt;pre&gt;&lt;code&gt;brew install eks-anywhere&lt;/code&gt;&lt;/pre&gt;





&lt;h3&gt;Step 3: Generate the cluster configuration&lt;/h3&gt;





&lt;p&gt;Generete the EKS anywhere cluster configuration using the following command.&lt;/p&gt;





&lt;pre&gt;&lt;code&gt;CLUSTER_NAME=dev-eks-cluster
eksctl anywhere generate clusterconfig $CLUSTER_NAME \
   --provider docker &amp;gt; $CLUSTER_NAME.yaml&lt;/code&gt;&lt;/pre&gt;





&lt;p&gt;You cluster configuration would look like the following.&lt;/p&gt;





&lt;pre&gt;&lt;code&gt;apiVersion: anywhere.eks.amazonaws.com/v1alpha1
kind: Cluster
metadata:
  name: dev-eks-cluster
spec:
  clusterNetwork:
    cniConfig:
      cilium: {}
    pods:
      cidrBlocks:
      - 192.168.0.0/16
    services:
      cidrBlocks:
      - 10.96.0.0/12
  controlPlaneConfiguration:
    count: 1
  datacenterRef:
    kind: DockerDatacenterConfig
    name: dev-eks-cluster
  externalEtcdConfiguration:
    count: 1
  kubernetesVersion: "1.22"
  managementCluster:
    name: dev-eks-cluster
  workerNodeGroupConfigurations:
  - count: 1
    name: md-0

---
apiVersion: anywhere.eks.amazonaws.com/v1alpha1
kind: DockerDatacenterConfig
metadata:
  name: dev-eks-cluster
spec: {}

---&lt;/code&gt;&lt;/pre&gt;





&lt;h3&gt;Step 4: Deploy the cluster&lt;/h3&gt;





&lt;p&gt;Deploy the cluster using &lt;code&gt;eksctl&lt;/code&gt;. It will take a while for the cluster to be provisioned.&lt;/p&gt;





&lt;pre&gt;&lt;code&gt;eksctl anywhere create cluster -f dev-eks-cluster.yaml&lt;/code&gt;&lt;/pre&gt;





&lt;p&gt;You will get the following output after a succesful cluster deployment.&lt;/p&gt;





&lt;a href="https://devopscube.com/wp-content/uploads/2022/07/image-4.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdevopscube.com%2Fwp-content%2Fuploads%2F2022%2F07%2Fimage-4.png" alt="EKS anywhere cluster deployment."&gt;&lt;/a&gt;





&lt;h3&gt;Step 5: Validate the cluster&lt;/h3&gt;





&lt;p&gt;Once the cluster is created you can see a folder named &lt;code&gt;dev-eks-cluster&lt;/code&gt; with the kubeconfig file. Lets export the kubeconfig file.&lt;/p&gt;





&lt;p&gt;Replace &lt;code&gt;/path/to&lt;/code&gt; with the abosolute path of the &lt;code&gt;dev-eks-cluster&lt;/code&gt; folder location. Or checkout the&lt;a href="https://devopscube.com/kubernetes-kubeconfig-file/" rel="noopener noreferrer"&gt; Kubeconfig file guide&lt;/a&gt; to know more about kubeconfig file practical usage.&lt;/p&gt;





&lt;pre&gt;&lt;code&gt;KUBECONFIG=/path/to/dev-eks-cluster/dev-eks-cluster-eks-a-cluster.kubeconfig&lt;/code&gt;&lt;/pre&gt;





&lt;p&gt;Now, lets list the pods in the &lt;code&gt;kube-system&lt;/code&gt; namespace to validate the cluster. You should see all the pods in running state as shown below.&lt;/p&gt;





&lt;a href="https://devopscube.com/wp-content/uploads/2022/07/image-5.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdevopscube.com%2Fwp-content%2Fuploads%2F2022%2F07%2Fimage-5.png" alt="EKS anywhere cluster validation"&gt;&lt;/a&gt;





&lt;h3&gt;Step 6: Generate &amp;amp; Deploy EKS Connector Configs&lt;/h3&gt;





&lt;p&gt;Now that we have a running EKS anywhere development clusters, we will go ahead and register the cluster using EKS connector.&lt;/p&gt;





&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Before you register the cluster, ensure you have a valid AWS cli configuration with admin privileges in your system. Refer the &lt;a href="https://scriptcrunch.com/install-aws-cli-guide/" rel="noreferrer noopener"&gt;AWS CLI configuration guide&lt;/a&gt; for more details.&lt;/p&gt;&lt;/blockquote&gt;





&lt;p&gt;Here is the command to generate EKS connector config YAMLs. Replace region value if you are using a different region.&lt;/p&gt;





&lt;pre&gt;&lt;code&gt;eksctl register cluster --name dev-eks-cluster --provider EKS_ANYWHERE --region us-west-2 &lt;/code&gt;&lt;/pre&gt;





&lt;p&gt;The above command creates the following three YAML files. Where &lt;code&gt;eks-connector.yaml&lt;/code&gt; is the EKS connector agent statefulset YAML. &lt;/p&gt;





&lt;ol&gt;
&lt;li&gt;eks-connector-clusterrole.yaml&lt;/li&gt;
&lt;li&gt;eks-connector-console-dashboard-full-access-group.yaml&lt;/li&gt;
&lt;li&gt;eks-connector.yaml&lt;/li&gt;
&lt;/ol&gt;





&lt;p&gt;Lets deploy all the three YAMLs.&lt;/p&gt;





&lt;pre&gt;&lt;code&gt;kubectl apply -f eks-connector-clusterrole.yaml
kubectl apply -f eks-connector-console-dashboard-full-access-group.yaml
kubectl apply -f eks-connector.yaml&lt;/code&gt;&lt;/pre&gt;





&lt;h3&gt;Step 7: Validate EKS Anywhere Cluster Registration On EKS console&lt;/h3&gt;





&lt;p&gt;If you head over to the AWS EKS console, you should see the newly registered cluster as shown below.&lt;/p&gt;





&lt;a href="https://devopscube.com/wp-content/uploads/2022/07/image-6.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdevopscube.com%2Fwp-content%2Fuploads%2F2022%2F07%2Fimage-6.png" alt="EKS anywhere cluster console"&gt;&lt;/a&gt;





&lt;p&gt;If you click the cluster name, you can view all the information and objects of the EKS anywhere cluster running in you local workstation.&lt;/p&gt;





&lt;a href="https://devopscube.com/wp-content/uploads/2022/07/image-7.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdevopscube.com%2Fwp-content%2Fuploads%2F2022%2F07%2Fimage-7-593x1024.png" alt="Listing EKS anywhere cluster resources on EKS console."&gt;&lt;/a&gt;



&lt;p&gt;Here is the EKS connector demo I have added in Youtube&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/T_H65f4wDG8"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;In this guide we looked at EKS anywhere Kubernetes development cluster setup. It is pretty easy to get started. Do give it a try.&lt;/p&gt;

&lt;p&gt;Also if you are looking for light weight Kubernetes development clusters, checkout my &lt;a href="https://devopscube.com/kubernetes-minikube-tutorial/" rel="noopener noreferrer"&gt;minikube tutorial&lt;/a&gt;.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;If you are learning Kubernetes, checkout 30+ &lt;a href="https://devopscube.com/kubernetes-tutorials-beginners/" rel="noreferrer noopener"&gt;Kubernetes beginners tutorials.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>devops</category>
      <category>kubernetes</category>
    </item>
    <item>
      <title>3 Ways to Automate AWS EBS Snapshot Lifecycle Management</title>
      <dc:creator>Bibin Wilson</dc:creator>
      <pubDate>Mon, 06 Jul 2020 06:11:12 +0000</pubDate>
      <link>https://dev.to/bibinwilson/3-ways-to-automate-aws-ebs-snapshot-lifecycle-management-4a9g</link>
      <guid>https://dev.to/bibinwilson/3-ways-to-automate-aws-ebs-snapshot-lifecycle-management-4a9g</guid>
      <description>&lt;p&gt;In 2013 when I started with AWS, I had to write custom scripts with AWS CLI to manage EBS snapshots. Later in 2015, I switched to Lambda functions. Today there are managed options from AWS to manage the Snapshot lifecycle.&lt;/p&gt;

&lt;p&gt;In this article, I have covered three ways to automate EBS snapshot creation with its key features and some best practices.&lt;/p&gt;

&lt;p&gt;When it comes to AWS, snapshots are essential for backing up root volumes and data volumes.&lt;/p&gt;

&lt;p&gt;Right from dev till production, snapshots lifecycle management should be set up to avoid accidental data loss and data availability.&lt;/p&gt;

&lt;p&gt;It is essential to have well-managed snapshot automation to ensure the data is getting backed up every day.&lt;/p&gt;

&lt;p&gt;Read the full article here &lt;a href="https://devopscube.com/automate-ebs-snapshot-creation-deletion/"&gt;https://devopscube.com/automate-ebs-snapshot-creation-deletion/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>aws</category>
      <category>cloud</category>
      <category>backup</category>
    </item>
    <item>
      <title>How to Become A DevOps Engineer: A Comprehensive Guide</title>
      <dc:creator>Bibin Wilson</dc:creator>
      <pubDate>Mon, 11 May 2020 14:05:34 +0000</pubDate>
      <link>https://dev.to/bibinwilson/how-to-become-a-devops-engineer-a-comprehensive-guide-b59</link>
      <guid>https://dev.to/bibinwilson/how-to-become-a-devops-engineer-a-comprehensive-guide-b59</guid>
      <description>&lt;p&gt;As of the current IT market, the DevOps domain is one of the best options for IT folks in terms of salary and career growth. One common question I get quite often is "How to become a DevOps engineer?"&lt;/p&gt;

&lt;p&gt;In this blog, I will try to answer this with my own experiences in practicing DevOps in different organizations.&lt;/p&gt;

&lt;p&gt;Many people argue (including me) that there is nothing like a "DevOps Engineer" or a "DevOps Team" because it is not a thing. However everyone in the industry now got used to the term "DevOps engineer" and as long as you understand the DevOps philosophy, these titles don't matter much.&lt;/p&gt;

&lt;p&gt;Having said that, there are few misconceptions about what DevOps really means. One such misconception is "Automation is DevOps". Developing skills related to automation is not enough to become a DevOps Engineer.&lt;/p&gt;

&lt;p&gt;Wikipedia says,&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;DevOps (a clipped compound of development and operations) is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;From the above definition, it is clear that DevOps is not about any tools or technologies. It is a philosophy for making different IT teams work together to deliver better and fast results through continuous feedback. &lt;/p&gt;

&lt;p&gt;Read this article to understand DevOps in a better way. &lt;a rel="noreferrer noopener" href="http://devopscube.com/what-is-devops-what-does-it-really-mean/"&gt;What does DevOps really mean?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is an interesting trend graph shoring DevOps popularity in last 5 years.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iI1SWi5y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/devops-trends-min.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iI1SWi5y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/devops-trends-min.png" alt="devops trends for five years" width="880" height="607"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Organizations trying to achieve DevOps requires people with collaborative skills, willing to change and adopt new technologies, a good understanding of systems, automation tools, CI tools, Version control systems, networking, experience in using &lt;a href="https://devopscube.com/project-management-software/" rel="noreferrer noopener"&gt;project management tools&lt;/a&gt;, etc. that are required for getting an app into production without much delay. &lt;/p&gt;

&lt;p&gt;Also, the design or the pipeline designed by the team should be able to deliver small updates or releases without much manual intervention. This could happen only if there is a cultural shift in the way teams work.&lt;/p&gt;

&lt;h2&gt;Skillsets To Become a DevOps Engineer&lt;/h2&gt;

&lt;p&gt;You must understand the fact that DevOps is not specific to developers or system engineers. It's for anyone who is passionate about evolving practices, technologies, and willing to work in a collaborative environment where everything is automated to make everyone's life so easy. &lt;/p&gt;

&lt;p&gt;In this article, I will explain how you should prepare yourself for tools and technologies to adapt and work in DevOps culture.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; In this article, I have covered many verticals. It is not possible for a beginner to be a master of everything. However, having a&lt;strong&gt; &lt;/strong&gt;fair amount of knowledge in these areas will help you if you are pursuing a career in DevOps&lt;/p&gt;&lt;/blockquote&gt;

&lt;h3&gt;Understanding DevOps Culture&lt;/h3&gt;

&lt;p&gt;The first and foremost thing is to understand the &lt;strong&gt;DevOps culture&lt;/strong&gt;. It is all about bringing people together to work towards a common goal in an efficient way. One thing IT managers should do before getting into &lt;a rel="noreferrer noopener" href="https://skillslane.com/ultimate-list-devops-tools/"&gt;DevOps toolsets&lt;/a&gt; is that every member of the team should be mentored on how DevOps work and its cultural aspects. It avoids lots of confusion in the team. &lt;/p&gt;

&lt;p&gt;People will stop pointing fingers for various issues once they understand the fact that when there is delay or issue in project delivery, everyone involved in the project is equally responsible.&lt;/p&gt;

&lt;p&gt;Once you practice DevOps culture, you will &lt;strong&gt;stop saying&lt;/strong&gt; that "&lt;strong&gt;CI/CD and&lt;/strong&gt; &lt;strong&gt;automation is DevOps&lt;/strong&gt;"&lt;/p&gt;

&lt;h4&gt;Resources&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://devopscube.com/recommends/devops-culture/" rel="noreferrer noopener"&gt;DevOps Culture and Mindset&lt;/a&gt; [Coursera]&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://devopscube.com/recommends/the-phoenix-project/" rel="noreferrer noopener"&gt;The Phoenix Project&lt;/a&gt; [Recomended eBook]&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Learn about *nix Systems&lt;/h3&gt;

&lt;p&gt;We are in an era where we cannot live without Linux/Unix systems. You should get a better understanding and working knowledge of various Linux distributions that are highly used by organizations (RHEL, Centos, Ubuntu, CoreOS, etc). &lt;/p&gt;

&lt;p&gt;As per &lt;a rel="noreferrer noopener" href="https://www.linuxfoundation.org/projects/case-studies/"&gt;The Linux foundation case study&lt;/a&gt;, 90% of the public cloud workload runs on Linux&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VU1GO9tS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/linux-usage.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VU1GO9tS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/linux-usage.png" alt="Public cloud linux usage" width="880" height="660"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is another interesting &lt;a rel="noreferrer noopener" href="https://www.redhat.com/en/resources/state-of-linux-in-public-cloud-for-enterprises"&gt;study from Redhat&lt;/a&gt;, which shows the different Linux distros being used in the public cloud. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bRzwjkgo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/linux-vendor-allocation-min.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bRzwjkgo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/linux-vendor-allocation-min.png" alt="Linux distro use in public cloud" width="830" height="542"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you have enough reasons on why you should focus on Linux.&lt;/p&gt;

&lt;p&gt;When it comes to Linux, its all terminal, GUI is less preferred in *nix world. Get your hands dirty with terminals of these systems. &lt;/p&gt;

&lt;p&gt;You can use a &lt;a rel="noreferrer noopener" href="https://www.virtualbox.org/"&gt;Virtual box&lt;/a&gt; or AWS/GCP/Azure to spin up Linux servers.&lt;/p&gt;

&lt;p&gt;You can start with the following.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Understand the Linux booting process&lt;/li&gt;
&lt;li&gt;Install and Configure web servers (Apache, Nginx, Tomcat, etc..)&lt;/li&gt;
&lt;li&gt;Learn how Linux processes work.&lt;/li&gt;
&lt;li&gt;Learn how SSH works.&lt;/li&gt;
&lt;li&gt;Learn about different file systems.&lt;/li&gt;
&lt;li&gt;Learn about system logging, monitoring, and troubleshooting.&lt;/li&gt;
&lt;li&gt;Learn about important protocols (SSL, TLS, TCP, UDP, FTP, SFTP, SCP, SSH)&lt;/li&gt;
&lt;li&gt;Learn to manage services and try to create a service on your own (Initd, Systemd)&lt;/li&gt;
&lt;li&gt;Host static/Dynamic websites on web servers.&lt;/li&gt;
&lt;li&gt;Setup Load balancers &amp;amp; Reverse Proxys (Nginx, HA proxy, etc)&lt;/li&gt;
&lt;li&gt;Break something and learn to troubleshoot.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;Resources&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://devopscube.com/recommends/linux-introdcution/" rel="noreferrer noopener"&gt;Introduction to Linux&lt;/a&gt; [edX]&lt;/li&gt;
&lt;li&gt;
&lt;a rel="noreferrer noopener" href="https://devopscube.com/recommends/linux-course/"&gt;Learn Linux in 5 days&lt;/a&gt; [Udemy]&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Understand How Infrastructure Components Work&lt;/h3&gt;

&lt;p&gt;The basic building block of any organization is its Infrastructure. It could be on the cloud or on-premise Data Center. An overall understanding of Infrastructure components is a must for a person who wants to practice or work in a DevOps environment. You should mainly have a basic understanding of the following.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Networking&lt;/strong&gt;&lt;/p&gt;




&lt;ol&gt;
&lt;li&gt;Subnets&lt;/li&gt;
&lt;li&gt;Public network&lt;/li&gt;
&lt;li&gt;Private network&lt;/li&gt;
&lt;li&gt;CIDR Notations&lt;/li&gt;
&lt;li&gt;Static/Dynamic IP's&lt;/li&gt;
&lt;li&gt;Firewall&lt;/li&gt;
&lt;li&gt;Proxy&lt;/li&gt;
&lt;li&gt;NAT&lt;/li&gt;
&lt;li&gt;Public &amp;amp; Private DNS&lt;/li&gt;
&lt;li&gt;Troubleshooting&lt;/li&gt;
&lt;li&gt;VPN&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;High Availability&lt;/strong&gt;&lt;/p&gt;




&lt;ol&gt;
&lt;li&gt;Clusters&lt;/li&gt;
&lt;li&gt;Fail Over Mechanisms&lt;/li&gt;
&lt;li&gt;Disaster Recovery&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;Security&lt;/strong&gt;&lt;/p&gt;




&lt;ol&gt;
&lt;li&gt;PKI Infrastructure&lt;/li&gt;
&lt;li&gt;SSL certificates&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Storage&lt;/strong&gt;&lt;/p&gt;




&lt;ol&gt;
&lt;li&gt;SAN&lt;/li&gt;
&lt;li&gt;Backups&lt;/li&gt;
&lt;li&gt;NFS&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;Single Sign On&lt;/strong&gt;&lt;/p&gt;




&lt;ol&gt;&lt;li&gt;Active Directory/LDAP&lt;/li&gt;&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;Load Balancers&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;L5 Load Balancers&lt;/li&gt;
&lt;li&gt;L7 Load Balancers&lt;/li&gt;
&lt;li&gt;Load balancing algorithms&lt;/li&gt;
&lt;li&gt;Reverse Proxy&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;VPN&lt;/strong&gt;&lt;/p&gt;




&lt;ol&gt;
&lt;li&gt;Site to Site VPN&lt;/li&gt;
&lt;li&gt;Client to site VPN&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There could be more things but I have highlighted the key components in an IT Infrastructure.&lt;/p&gt;

&lt;h3&gt;Get Certified On Cloud&lt;/h3&gt;

&lt;p&gt;When I say "Get Certified", &lt;strong&gt;please do not use the exam dumps&lt;/strong&gt; just to pass the certification. It adds very less value to you. May be its good for the organization to show the clients that they have certified cloud engineers.&lt;/p&gt;

&lt;p&gt;Most of the public cloud market share is currently owned by AWS. Here is the &lt;a href="https://www.businesswire.com/news/home/20171214006289/en/Cloud-Competition-Intensifies---Rapid-Growth-Microsoft" rel="noreferrer noopener"&gt;report from&lt;/a&gt; Businesswire.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xocc5Amx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/cloud-market-share-min-1024x576.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xocc5Amx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/cloud-market-share-min-1024x576.jpg" alt="public cloud market share" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pick any one public cloud, preferably AWS, and learn about all its core infrastructure services. Do hands-on on all the core services and understand how it works.&lt;/p&gt;

&lt;p&gt;Watch &lt;a href="https://www.youtube.com/results?search_query=AWS+reinvent" rel="noreferrer noopener"&gt;AWS re-invent videos&lt;/a&gt; and understand how other organizations are using AWS services for hosting their applications. Trust me, you will learn a lot from these videos and no online training will provide that much information on how to run production workloads on AWS.&lt;/p&gt;

&lt;p&gt;If you are planning to get certified GCP, watch their &lt;a href="https://www.youtube.com/results?search_query=google+next" rel="noreferrer noopener"&gt;Google Next&lt;/a&gt; videos.&lt;/p&gt;

&lt;p&gt;Use the certification to gauge yourself on the respective platform.&lt;/p&gt;

&lt;h4&gt;Resources:&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://devopscube.com/recommends/ryans-courses/" rel="noreferrer noopener"&gt;Ryans AWS Certification Courses&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devopscube.com/recommends/google-cloud-certification/" rel="noreferrer noopener"&gt;Google Certified Associate Cloud Engineer Certification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devopscube.com/recommends/azure-certification-course/" rel="noreferrer noopener"&gt;Microsoft Azure - Beginner's Guide + AZ-900 preparation&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Learn to Automate&lt;/h3&gt;

&lt;p&gt;Automation has become an important aspect of every organization. We no more create servers manually we just automate it. &lt;/p&gt;

&lt;p&gt;As per a &lt;a rel="noreferrer noopener" href="https://www.redhat.com/en/blog/red-hat-global-customer-tech-outlook-2019-automation-cloud-security-lead-funding-priorities"&gt;report from Redhat&lt;/a&gt;, many organizations are investing in their automation initiatives. Check out this data.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BWpWWmAZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/automation-statistics-min-1024x782.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BWpWWmAZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/automation-statistics-min-1024x782.png" alt="Organization Devops Automation Budget" width="880" height="672"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From provisioning servers, application configuration, deployment, everything should be automated. You can learn any of the following &lt;a rel="noopener noreferrer" href="https://devopscube.com/devops-tools-for-infrastructure-automation/"&gt;devops toolsets that fit your needs&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For Dev Environment&lt;/strong&gt;&lt;/p&gt;




&lt;ol&gt;
&lt;li&gt;Vagrant&lt;/li&gt;
&lt;li&gt;Docker Desktop&lt;/li&gt;
&lt;li&gt;Minikube&lt;/li&gt;
&lt;li&gt;Minishift&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;For infrastructure provisioning&lt;/strong&gt;&lt;/p&gt;




&lt;ol&gt;
&lt;li&gt;Terraform&lt;/li&gt;
&lt;li&gt;CLIs (of respective cloud provider)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;For Configuration Management&lt;/strong&gt;&lt;/p&gt;




&lt;ol&gt;
&lt;li&gt;Ansible&lt;/li&gt;
&lt;li&gt;Chef&lt;/li&gt;
&lt;li&gt;Puppet&lt;/li&gt;
&lt;li&gt;Saltstack&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;VM image management&lt;/strong&gt;&lt;/p&gt;




&lt;ol&gt;&lt;li&gt;Packer&lt;/li&gt;&lt;/ol&gt;



&lt;h4&gt;Resources:&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a rel="noreferrer noopener" href="https://devopscube.com/recommends/terraform-course/"&gt;Learn DevOps: Infrastructure Automation With Terraform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel="noreferrer noopener" href="https://devopscube.com/recommends/ansible-course/"&gt;Ansible for the Absolute Beginner - Hands-On - DevOps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel="noreferrer noopener" href="https://devopscube.com/recommends/docker-course-2/"&gt;Docker for the Absolute Beginner&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Containers, Distributed Systems &amp;amp; Service Mesh&lt;/h3&gt;

&lt;p&gt;Container adoption is increasing day by day.  The organization you work for might not be using containers now, however, it is best to have a hands-on knowledge working with container technology like Docker. It will gain you some competitive edge among your peers.&lt;/p&gt;

&lt;p&gt;Once you understand docker, you can try out its clustering and orchestration tools like Kubernetes, Docker Swarm, etc. &lt;/p&gt;

&lt;p&gt;These platforms are best suited for microservices-based architecture.&lt;/p&gt;

&lt;p&gt;Here is an interesting Kubernetes usage trend by &lt;a href="https://www.datadoghq.com/container-report/" rel="noreferrer noopener"&gt;Datadog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vTdUqT8n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/container-report-min-1024x608.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vTdUqT8n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/container-report-min-1024x608.png" alt="kubernetes usage trends" width="880" height="523"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is the five year increasing search trends for Kubernetes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--f_9Uc0C1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/kubernetes-search-trends-min.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--f_9Uc0C1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/kubernetes-search-trends-min.png" alt="kubernetes user trends" width="880" height="587"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A &lt;a href="https://devopscube.com/istio-opensource-platform-microservices-management/" rel="noreferrer noopener"&gt;service mesh&lt;/a&gt; is an advanced topic when it comes to distributed systems. If you are a beginner to container toolsets, you can learn this after gaining a good knowledge of microservices-based architecture.&lt;/p&gt;

&lt;h4&gt;Resources&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a rel="noreferrer noopener" href="https://devopscube.com/kubernetes-tutorials-beginners/"&gt;Kubernetes Tutorials For Beginners: Getting Started Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel="noreferrer noopener" href="https://skillslane.com/learn-kubernetes-from-these-best-online-courses/"&gt;Best kubernetes courses&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kelseyhightower/kubernetes-the-hard-way"&gt;https://github.com/kelseyhightower/kubernetes-the-hard-way&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Logging &amp;amp;  Monitoring&lt;/h3&gt;

&lt;p&gt;Logging and monitoring are very important aspects of an infrastructure. &lt;/p&gt;

&lt;p&gt;Most of the apps deployed in the infrastructure will produce logs. Based on architecture and design, logs will be pushed and stored in a logging infrastructure.&lt;/p&gt;

&lt;p&gt;Every company will have a logging infrastructure. Commonly used stacks are Splunk and ELK. Also, there are few SaaS companies like Loggly which provides logging infrastructure.&lt;/p&gt;

&lt;p&gt;Logging systems will be used by developers, operations team and security teams to monitor, troubleshoot, and audit applications and infrastructure.&lt;/p&gt;

&lt;p&gt;In every organization, mission-critical applications will be monitored 24/7. There will be monitoring dashboards. Generally, dashboards are created from logging sources, or metrics generated by the application.&lt;/p&gt;

&lt;p&gt;Also, there will be alerting systems. Based on the rules configured in the monitoring systems, alerts will be triggered. &lt;/p&gt;

&lt;p&gt;For example, an alert could be triggered as a slack notification, Jira ticket, email alert, &lt;a href="https://docs.servicenow.com/bundle/orlando-it-service-management/page/product/incident-management/concept/c_IncidentManagement.html" rel="noreferrer noopener"&gt;ServiceNow incident&lt;/a&gt; ticket, or xMatters phone call. Alerting workflows differ from organization to organization.&lt;/p&gt;

&lt;p&gt;As a DevOps engineer, you should be able to query logs and troubleshoot issues in non-prod and prod environments. Understand regular expressions is very important to query logs in any logging tool.&lt;/p&gt;

&lt;h4&gt;Resources&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://devopscube.com/recommends/elk-stack/" rel="noreferrer noopener"&gt;Elastic Stack - In-Depth &amp;amp; Hands-On&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devopscube.com/recommends/prometheus-grafana/" rel="noreferrer noopener"&gt;Monitoring and Alerting with Prometheus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://devopscube.com/recommends/art-of-monitoring/" rel="noreferrer noopener"&gt;Art of Monitoring&lt;/a&gt; [eBook]&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=sa-TUpSx1JA" rel="noreferrer noopener"&gt;Regular Expressions (Regex) Tutorial &lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Understand Security Best Practices (DevSecOps)&lt;/h3&gt;

&lt;p&gt;DevSecOps is another area dealing with integrating security practices in each stage of devops.&lt;/p&gt;

&lt;p&gt;Wikipedia says,&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;DevSecOps is an augmentation of DevOps to allow for security practices to be integrated into the DevOps approach. The traditional centralised security team model must adopt a federated model allowing each delivery team the ability to factor in the correct security controls into their DevOps practices.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Checkpoints&lt;a href="https://pages.checkpoint.com/cyber-security-report-2020-MOVED.html" rel="noreferrer noopener"&gt; 2020 security survey&lt;/a&gt; shows different cyber attacks by regions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--F6CcXeUP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/cyberattack-regions-min.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F6CcXeUP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/cyberattack-regions-min.png" alt="" width="805" height="948"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In cloud environments, crypto mining is a common attack. This mostly happens when the cloud access secrets are maintained poorly so that hackers get access to it.&lt;/p&gt;

&lt;p&gt;When it comes to DevOps, secret management for applciations and infrastructure componets should follow standard security practices.&lt;/p&gt;

&lt;p&gt;Following image shows the key DevSecOps standard practices &lt;a href="https://www.redhat.com/en/topics/devops/what-is-devsecops" rel="noreferrer noopener"&gt;published by Redhat.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yujTkCPf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/devsecops-standards-min.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yujTkCPf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/devsecops-standards-min.png" alt="" width="775" height="1530"&gt;&lt;/a&gt;Source: Redhat.com&lt;/p&gt;

&lt;p&gt;Hashicorp Vault is a great secret management tool you can look at. There are many workflows available to manage environment secrets.&lt;/p&gt;

&lt;h4&gt;Resources:&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://devopscube.com/recommends/hashicorp-vault/" rel="noreferrer noopener"&gt;HashiCorp Vault: The Advanced Course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.hashicorp.com/vault" rel="noreferrer noopener"&gt;Vault Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.redhat.com/en/topics/security/container-security" rel="noreferrer noopener"&gt;What is container security?&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Learn Coding &amp;amp; Scripting&lt;/h3&gt;

&lt;p&gt;In today's world, we treat everything as code. Even though there are enough tools to automate everything, you might need custom functionality that a tool may not offer. In such cases, coding/scripting comes in handy to achieve those functionalities. &lt;/p&gt;

&lt;p&gt;For example, &lt;a href="https://devopscube.com/jenkins-pipeline-as-code/" rel="noreferrer noopener"&gt;Jenkins pipeline as code&lt;/a&gt; requires an understanding of groovy, Ansible custom module requires understanding on python, Writing Kubernetes operator requires Golang experience. &lt;/p&gt;

&lt;p&gt;You can learn the following commonly used scripting languages.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Bash/Shell&lt;/li&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Golang&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Golang is really getting popular in the DevOps domain. Lots of DevOps tooling are done using Golang nowadays. In fact tools like Kubernetes, terraform are written in go.&lt;/p&gt;

&lt;p&gt;A &lt;a rel="noreferrer noopener" href="https://jfrog.com/blog/golang-survey-results/"&gt;survey was done by JFrog&lt;/a&gt; for Golang adoption during GopherCon and 18% of the respondents said they use Golang for DevOps related work.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--in4kiL0v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/Areas-of-Go-Development-min.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--in4kiL0v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/Areas-of-Go-Development-min.png" alt="Golang devOps adoption survey" width="863" height="576"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;Resources&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a rel="noreferrer noopener" href="https://devopscube.com/recommends/python-bootcamp/"&gt;Complete Python Bootcamp: Go from zero to hero in Python 3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel="noreferrer noopener" href="https://devopscube.com/recommends/golang-course/"&gt;Learn How To Code: Google's Go (golang)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devopscube.com/recommends/shell-scripting-course/" rel="noreferrer noopener"&gt;Linux Shell Scripting: A Project-Based Approach to Learning&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Learn Git, Learn to Document, Learn about GitOps&lt;/h3&gt;

&lt;p&gt;It is very important to version control everything you do (except passwords and secrets :P). Git is the best version control tool. There are plenty of tutorials available on git and it will not take much time to learn important git operations.&lt;/p&gt;

&lt;p&gt;You can start with Github or Bitbucket as your remote code repository.&lt;/p&gt;

&lt;p&gt;Once you understand Git, learn about GitOps. &lt;/p&gt;

&lt;p&gt;So what is this GitOps anyway? here is what &lt;a href="https://www.gitops.tech/" rel="noreferrer noopener"&gt;gitops.tech&lt;/a&gt; explains GitOps&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;GitOps is a way of implementing Continuous Deployment for cloud native applications. It focuses on a developer-centric experience when operating infrastructure, by using tools developers are already familiar with, including Git and Continuous Deployment tools.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Next important thing is to &lt;strong&gt;document every important thing you do&lt;/strong&gt;. Every repository must have a README file which should &lt;strong&gt;explain your code&lt;/strong&gt; in a better way. Good documentation will not only help you but also someone who tries to use your code.&lt;/p&gt;

&lt;h4&gt;Resources:&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://devopscube.com/recommends/git-basics/" rel="noreferrer noopener"&gt;Git Complete: The definitive, step-by-step guide to Git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel="noreferrer noopener" href="https://devopscube.com/git-basics-every-developer-and-administrator-should-know/"&gt;Git Basics Every Developer and Administrator Should Know&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Understand End To End Application Delivery Lifecycle&lt;/h3&gt;

&lt;p&gt;When it comes to application delivery lifecycle, there are three important concepts you need to be aware of.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Continuous Integration&lt;/li&gt;
&lt;li&gt;Continuous Delivery &lt;/li&gt;
&lt;li&gt;Continuous Deployment &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Read this &lt;a rel="noreferrer noopener" href="https://devopscube.com/release-management-explained/"&gt;release process management article&lt;/a&gt; to understand how a typical application development, build, testing, deployment, approval process, and validation work.&lt;/p&gt;

&lt;p&gt;Learn to use CI/CD tools like Jenkins, Travis CI, GoCD, etc&lt;/p&gt;

&lt;p&gt;Here is a good pictorial representation on CI/CD process by bmc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EU_BHGxN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/cicd-process-min-1024x385.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EU_BHGxN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devopscube.com/wp-content/uploads/2020/05/cicd-process-min-1024x385.jpg" alt="CI/CD in devops" width="880" height="331"&gt;&lt;/a&gt;source: &lt;a href="https://www.bmc.com/blogs/continuous-delivery-continuous-deployment-continuous-integration-whats-difference/" rel="noreferrer noopener"&gt;bmc&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;DevOps vs SRE&lt;/h3&gt;

&lt;p&gt;SRE is another evolving topic in DevOps community.&lt;/p&gt;

&lt;p&gt;SRE is set of practices and philosophies emerged from google.&lt;/p&gt;

&lt;p&gt;Here is what google says about DevOps and SRE&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;DevOps and SRE are not two competing methods for software development and operations, but rather close friends designed to break down organizational barriers to deliver better software faster.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I recommend these official documents from Google to understand more about SRE.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://landing.google.com/sre/" rel="noreferrer noopener"&gt;What is SRE?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel="noreferrer noopener" href="https://cloud.google.com/blog/products/gcp/sre-vs-devops-competing-standards-or-close-friends"&gt;SRE vs. DevOps: competing standards or close friends?&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Read Read and Read&lt;/h3&gt;

&lt;p&gt;Nothing will gain knowledge like reading. Read at least one DevOps tech blog related to engineering. Follow all the engineering blogs like Netflix, Twitter, Google, etc. Learn how they are using the right toolsets, their deployment strategies and their latest open source projects.&lt;/p&gt;

&lt;p&gt;Follow like-minded people on LinkedIn, Reddit, Medium, Quora etc.&lt;/p&gt;

&lt;h4&gt;Resources&lt;/h4&gt;

&lt;ol&gt;&lt;li&gt;&lt;a rel="noreferrer noopener" href="https://devopscube.com/list-of-devops-blogs-and-resources/"&gt;List of Best DevOps Blogs &amp;amp; Resources&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Write a Blog&lt;/h3&gt;

&lt;p&gt;It's good to share with others about your experiences and learning. You can publish tutorials, learnings, and your experiences on your personal blog. It will help others and it will create a personal brand for yourself. It takes less than 30 minutes to set up a WordPress blog or a Medium blog. If you want help to start your blog, drop a message to us at &lt;strong&gt;contact@devopscube.com&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Whenever you learn something new, you can write about it. It will be a reference to you as well as others. You can share it on Linked in groups, Dzone, etc..&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;The tools and processes involved in DevOps are not limited to what is mentioned in this article. However, these are commonly used opensource tools and technologies you can start with to become a DevOps engineer.&lt;/p&gt;

&lt;p&gt;Now I’d like to hear your thoughts:&lt;/p&gt;

&lt;p&gt;What’s your key takeaway from this?&lt;/p&gt;

&lt;p&gt;Or maybe you have a question about different verticals explained.&lt;/p&gt;

&lt;p&gt;Either way, leave a comment below right now.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>developer</category>
      <category>sysadmin</category>
      <category>devopsenginner</category>
    </item>
  </channel>
</rss>
