My First Month Learning DevOps | AWS | Docker Basics | Linux Basics | CN

ยท

5 min read

What I learnt this month ๐Ÿค”

So I started learning Devops this month and I have learned many new things while I was focusing on pursuing the AWS Cloud Practioner Foundational Certificate. But before starting with AWS Cloud Practitioner Course, I started with the basics of Linux and the Basics of Computer Networks.

Computer Networks

Let's start with what I learned in Computer Networks ๐Ÿค”? FYI I learnt Computer Networks in my Sophmore Year so basically, I was revising all the basic concepts that I knew before. So it's not like I am learning again, I was just revising as computer network is a vast topic so I was not confident in many topics. So here's the list of the topics I learnt

  • IP Addresses
    • Classes in IP
  • Casting
    • Multicasting
    • Unicasting
    • Broadcasting
      • Directed Broadcast
      • Limited Broadcast
  • Subnets
  • Subnet Masks
    • Variable Length Subnet Masks
    • Fixed Length Subnet Masks

Linux

After getting a little hang of Computer Networks I started learning the basics of Linux, especially the Linux Commands, as I have ubuntu installed so I was familiar with the basic commands. So I learned more in-depth like Linux Package Manager, Linux Services Configuration, Vi editor, and More commands like systemctl, ssh, curl, wget, etc. Then tried some hands-on from KodeKloud KodeCloud Labs. I would highly recommend the newbies to practice all the free labs provided by KodeKloud. It gave me hands-on experience and I got confident in using Linux Commands.

Virtual Box

Now I learned about VirtualBox and its usage. I installed the Oracle VirtualBox and followed the instructions here. Then I learnt about connecting a VirtualBox with the local machine and creating a virtual machine and configuring it based on the requirements. I learnt how to SSH into a virtual machine hosted in a VirtualBox, in my case it was Oracle VirtualBox. I tried to host a static website in VirtualBox to test my understanding. Then comes one of the most important parts of understanding Virtual Machine, i.e, Networking in VirtualBox. It comes with:

  • Networking in VirtualBox.
  • Networking in Adapters
  • Bridge Networking
  • Host-Only Networks
  • Internet Connectivity in a VirtualBox.

The concepts in VirtualBox are really interesting. It was the combination of Computer Networks and proper usage of Linux Commands. Then I learned about Networking in Multiple VMs and how to connect one with the internet and adding firewall rules such that the VMs aren't accessible outside the VirtualBox.

Vagrant

After learning about VMs, I ended up learning about a tool Vagrant. I learned about managing multiple VMs in a single workflow using Vagrant. Here's what I learned about Vagrant:

  • Real World applications of Vagrant (Compatibility)
  • Vagrant's Workflow
  • Installing Vagrant
  • Basic CLI Commands like:
    • vagrant up
    • vagrant cloud auth
    • vagrant ssh
    • vagrant share
    • vagrant validate
    • vagrant init
    • vagrant reload
    • vagrant suspend
    • vagrant upload
    • vagrant port etc.
  • VagrantFile -> Configuring the VMs in the VagrantFile
  • Usage in Docker
  • Usage in different CSP
  • Configuration of Vagrant Triggers

I didn't go too deep as I wanted to learn more about CSPs (especially AWS). After doing a few experiments using Vagrant I started learning for my AWS Certified Cloud Practitioner.

AWS Practitioner Course

After getting familiar with all the basic prerequisites for DevOps I started learning for my AWS Certified Cloud Practitioner Exam. At first, I went to their website and checked the rules and topics required to learn. Then I did some research on the Internet and I found a cool video by Andrew Brown in FreeCodeCamp for this exam. For the exam I covered the following topics:

  • Cloud Concepts
  • Getting Started
  • Digital Transformation
  • The Benefits of the Cloud
  • Global Infrastructure
  • Cloud Architecture
  • Management and Developers Tools
  • Shared Responsibility Model
  • Compute
  • Storage
  • Databases
  • Networking
  • EC2
  • EC2 Pricing Models
  • Identity
  • Application Integration
  • Containers
  • Governance
  • Provisioning
  • Serverless
  • Windows on AWS
  • Logging
  • ML AI BigData (SageMaker)
  • AWS Well-Architected Framework
  • TCO and Migration
  • Billing and Pricing
  • Security
  • Variation Study

Finally, after covering all the topics, I passed the exam successfully. It made me feel so happy because it was the first step in my DevOps journey, which is great. You can check my verified certificate here.

Docker | Getting Started

After spending a good time learning the basics of DevOps(Linux, VMs, AWS), I started learning about Docker. While going through the AWS video I found a topic about the evolution of Cloud Computing, which was intriguing. I got to know about migration from Virtual Machines to Containers. I learnt about how containers use fewer resources than Virtual Machines, as VMs are hardware Virtualization but Containers are OS Virtualization.
The Topics I covered in Docker:

  • Docker and its Application
  • namespaces and groups in Linux
  • Configuring Docker in the local system
  • Docker Images (DockerHub)
  • Docker Containers
  • Docker CLI
  • Docker Port Mapping of Containers
  • Installing Docker in EC2
  • Docker Volumes
    • Named Volumes
    • Sharing Volumes
    • Binding Volumes
  • Container running in a detached mode using -d flag
  • Getting inside a Container through CLI using interactive mode (-it flag)
  • Executing Commands inside a container using Docker CLI
  • Setting up Private Docker Registry in AWS ECR (Both Manual and CLI).
  • Docker Environments.

Terraform(Learning)

After successfully passing the AWS Certified Cloud Practitioner Exam and getting familiar with basic concepts of DevOps, I am focusing on my next Certification Exam that's the HashiCorp Certified: Terraform Associate (002) by Hashicorp. I have covered quite all the topics required for this exam now I am just revising and will give the exam within a few days. Topics Covered till now:

  • IaaC Concepts
  • HashiCorp
  • Terraform Basics
  • Terraform Provisioners
  • Terraform Providers
  • Terraform Language
  • Variables and Data
  • Resource Meta Arguments
  • Terraform Expressions
  • Terraform State
  • Init and Get
  • Fmt, Validate, Console
  • Plan and Apply

    What's Next ๐Ÿค”

    I have lots of plans ahead in the upcoming month. Feel free to suggest to me what should I learn for the next month down below the comment section.
ย