DEV Community

Cover image for DevOps: For Dumb, Dumber & Dumbest : Beginners
manish srivastava
manish srivastava

Posted on

DevOps: For Dumb, Dumber & Dumbest : Beginners

__ INTRODUCTION __

This article is for People who are regarded as "Dumb Dumber & Dumbest" :). Believe me, I am among them.

We as Dumb, Dumber & Dumbest people need answers of our every dumb questions to understand the concept. The acceptable answers should be straight forward and simple to understand. Not like an answer deep-dived by studious students with complex technical terms. We are found as backbenchers.

Meet him :

Einstien was a creative and persistent problem-solver—but he hated the rote, disciplined style of the teachers at his Munich school, and he dropped out when he was 15. Then, when he took the entrance examination for a polytechnic school in Zurich, he flunked. (He passed the math part, but failed the botany, zoology and language sections.) Einstein kept studying and was admitted to the polytechnic institute the following year, but he continued to struggle. His professors thought that he was smart but much too pleased with himself, and some doubted that he would graduate. He did, but not by much—which is how the young physicist found himself working in the Swiss Patent Office instead of at a school or university.source

MISSION STATEMENT: let every dumb, dumber and dumbest to look smart.

---

Few Opening Dumb Questions
(1) What is the Operating System?

Ans: Mac, Windows, Linux, Android all are Operating systems. They are designed to run software programs. However, Linux has many distros ( People change something in the original OS to create another OS).

(2) What is a container( like docker) and why we need them?

A Container is like a Tiny Server within the server. It uses your Operating system resources and 'imitate itself' as a separate operating system. If you have a host machine (a desktop/server: Ubuntu) as Linux you will get only Linux containers as ubuntu, fedora, oracle, RHEL, centos, etc. This is because containers share 'compatible resources' with the host machine.

Why we need Containers?

Try VirtualBox to spin three OS (say Ubuntu, Fedora, Centos)? You will need:1 hour time, 3GB space on the host to store these 3 iso files,6 GB of Ram (2 GB to each OS).

On the other hand, if you spin three containers Ubuntu, Fedora, Centos you will require less than 5-10 minutes, 300 MBs of space and you can Share 2 GB among all these Operating systems.

Containers save time as well as resources.

(3) What is the difference between Apache / nginx Server and other Servers like Ubuntu, Fedora, Linux Server?

Apache server is an HTTP server that can render HTML, CSS, js, PHP, and more files. Apache is downloaded and run on an operating system. For example, xampp / wamp on your Windows desktop. If you remove the GUI from your desktop, you can call it the server.

Another Example. Ubuntu is an OS. You can download the Ubuntu server as well as Ubuntu Desktop.
If we downloaded the Ubuntu server, can we convert it into Ubuntu Desktop? Yes!!! Just do Ubuntu Server + GUI = Ubuntu Desktop.

If you try to run an HTML file without an HTTP server directly on ubuntu... It simply won't work.

(4) What are different types of containers?
To get a container you need two things:

(1) Processor with Virtualisation enabled. Every processor is now supporting virtualization. Just go in your system BIOS and enable it. If you don't know - search it on youtube for your desktop/server.

(2) You don't need Hypervisor. If you are spinning a full virtual machine then you require Hypervisor like KVM etc but we are just spinning containers, so we don't need hypervisors. Without KVM enabled servers can also spin containers.

Containers started there journey almost ten years back when LXC ( Linux containers) launched. These are totally dependent on the Operating System. Look at this timeline chart:

and this one too:

In above note, RunC, daemonless, rootless... We will talk about it later part of this series.

What I have to learn minimum to excel Devops?
While new technologies and tools crop up continuously on the DevOps landscape, it's important for a good DevOps engineer to have a broad understanding of those in the following areas:

-Source Control (like Git, Bitbucket, Svn, VSTS etc)
-Continuous Integration (like Jenkins, Bamboo, VSTS )
-Infrastructure Automation (like Puppet, Chef, Ansible)
-Deployment Automation & Orchestration (like Jenkins, VSTS, Octopus Deploy)
-Container Concepts (LXD, Docker)
-Orchestration (Kubernetes, Mesos, Swarm)
-Cloud (like AWS, Azure, GoogleCloud, Openstack)

Hello, don't feel sad by the above list.
"Learning everything doesn't make you smart." - said by the dumbest living next door.

  • You are not going to deploy the next day an app or site comparable to amazon e-commerce, uber taxi, Gmail which is going to have a million hits and every corner of the world. If not, chill :)

  • If you are going to have more than 'one server' then you need to deep dive into Orchestration (Kubernetes, Mesos, Swarm). Else, a single node you need not worry. Almost 90%+ SME / MSME are using a single server. The figure of 90% + is by a dumbest living next door :).
    In the later part of this series, I will let you know how load balancers, the reverse proxy can help you to set up a good server with containers.

  • You do not need to learn AWS, Azure, GoogleCloud, Openstack, and every Xyz company's control panel and commands to be a good DevOps. You should know them but just don't brand yourself.

There certification course and everything is just a marketing stunt and bringing more people to there fold. Instead, learn core. Learn Command-Line. If you know commands then you know how to get into shell of a server either its on amazon, google, open stack or bla bla. You are your master.

Also, you can spin your own private clouds like google or amazon. It's nothing hard.

What is DevOps?

Intelligent people describe DevOps as under
DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market.source

eeeeee!!!! lets leave intelligent with their definition

Following two videos can help you out in defining DevOps:

  1. Video One

  2. Video two

Coming up for dumb, dumber, dumbest:
-containers, containers networking, load balancing, proxy, and much more...

  • some coding...

You are most welcome to share anything dumb with us in the comment box.

I hope you people like the above article and learned something.

IMP REQUEST:
You are most welcome to join my team

Alt Text

Click here for joining my team .

Also you are most welcome to join OPEN SOURCE INTELLIGENT SYSTEM (OSINT) if you can help in open source project regarding safeguarding humans from various diseases like CORONA outbreak
https://github.com/Manishfoodtechs/OSINTHRH/wiki

Contact email: Manishfoodtechs@gmail.com.

If you have any problem, our team is also engaged in professional consultancy and delivery.

image credit: i.imgur.com,undraw,giphy

Top comments (0)