Creating Your Cloud Infrastructure like Google cloud and Digital Ocean from Scratch: Part -2
Tags: javascript, linux, php, devops
Published: 2019-10-20 13:04:49

***Interesting Topic !!! Yeah … Its Part 2 :)***

So if you haven’t read my previous post read Part 1 [here](https://dev.to/manishfoodtechs/creating-your-cloud-infrastructure-like-google-cloud-and-digital-ocean-from-scratch-part-1-3gnm). Do not skip my posts in this series else you will think at end: ***what we are talking about?***

In this part we will find ***why Amazon Cloud People are clever then other vendors of cloud computing***. We will use their cleverness to build our cloud server. I will tell how to **build it from scratch ( with coding ) and use it in your Production environment.**

Remember , the ***‘cloud brothers’*** in Part -1. From there story , we understand why we need cloud computing and what are **Hypervisors -1 & 2 and what is IaaS, SaaS and PaaS**.

One day, I visited them. Cloud Brothers got excited and started narrating their story of revenue generation by renting their robust CPU to their friends. I really admired them. Further, they also told me , why **they moved from hypervisor-2 to hypervisor 1** and brought the **concept of resource pooling**. They were so excited to coin word ***“Cloud Computing”***.

I don’t want to disheartened them but I said — ***“This is not Cloud Computing”.*** This is more like ***“Advance Virtualization.”***

I was expecting from them — ***“Why?”*** and they did.

***Answer:*** Over Past 15 Years, The technology of Virtualization with pieces of other softwares has revolved so much that its very difficult to find what cloud computing can do today and advance virtualization can’t!!! ***You name it*** . Resource Pooling to managing different data centers…IPs allocation … anything.
Then what is the difference? 
***Redhat Inc defines few key difference as:***
![Redhat Difference of Cloud and Virtualisation](https://miro.medium.com/max/584/1*ENXtoI4IPzv41pz8qJxajA.png)

***Pheewwwwww…… over the head…*** *Don’t worry, I am here…* I have found that even googling so much you won’t be able to differentiate them clearly. At the end, You find all are differentiating cloud and advance virtualization only based on their advantages and disadvantages. ***But our question is what is exact difference?????***
**The exact difference is you… haha..** I mean the **Manual Intervention.** For an example, In Virtualization if you need Ubuntu OS over Windows OS, you have to download an Ubuntu server .iso file then unpack it as a OS of your choice ( as you do in Virtualbox) . But If you , Make this process to **automate by API … This becomes cloud computing**. Anyone who has used any cloud computing platform like digital ocean, they know how its easy in a click to can create a server of your choice.
So I advised Cloud Brothers they can only call their system as a cloud, only if ,they need not to manage the tasks in their CPU for their friends. Instead, a piece of software should be added to automate whole process.

***Finally, we locked the difference as under:***

(Hypervisors + Resource Pooling+ Data Management** + ***bla bla…***)+ **MANUAL INTERVENTIONS = VIRTUALIZATION** .
(Hypervisors + Resource Pooling+ Data Management + ***bla bla…***)+ **NO MANUAL INTERVENTIONS = CLOUD COMPUTING.**
**or**
ALL **VIRTUALIZATION** TECHNIQUES (***plus***) ASSISTING SOFT WARES (***minus***)MANUAL INTERVENTION = **CLOUD COMPUTING**.

Now, I asked the big brother what type of Hypervisor you are using. He told me , Type-1 because I am a service provider and they are best suited for any service providers. Agreed.then , I asked how you selected it? **He has no answer…**
***Okay here is more gyan (knowledge) to them from me on Hypersvisors Type-1 Selection in layman language*** :

Some are **Hardware Visualizers**: like KVM, XEN or VMware.

Some are **Operating System Virtualizers**: They enables one to create multiple virtual Linux servers which are isolated from the host and from each other, based on a technique called Operating System Virtualization. Similar techniques are used in Solaris Zones, Linux-VServer and FreeBSD jails. They consume less resources than their hardware virtualized counterparts, but must use the same kernel as the host. Therefor you can only have Linux VPSs on a Linux host.

***From above two points learn two things:***
**(a)** ***Operating System Virtualisers*** are having advantages over Hardware Virtualisers over consumption of less resources. The Most precious things are in pooling environment is RAM , cores and Processing memory.
**(b)** Because of this hypervisor selection some cloud providers only limited to Linux VPS. A Great example is Digital Ocean.

Okay now we are bit clear, ***which hypervisor we have to choose.*** I will go with the Operating System Virtualizers like Amazon Cloud People and you?

Another question, what Server OS we need to mount hypervisor? I prefer Ubuntu. You can choose yours. But My First Suggestion is Ubuntu and OpenVZ as hypervisor. But OpenVZ has now limited support on new versions of Ubuntu. Nevermind, lets find some other options.

***LXC and Xen are alternatives to OpenVZ***. The Xen Project hypervisor is powering the largest clouds in production today. We will go with Xen as amazon did.
The Xen Project hypervisor is an open-source type-1 or baremetal hypervisor, which makes it possible to run many instances of an operating system or indeed different operating systems in parallel on a single machine (or host). The Xen Project hypervisor is the only type-1 hypervisor that is available as open source. It is used as the basis for a number of different commercial and open source applications, such as: server virtualization, Infrastructure as a Service (IaaS), desktop virtualization, security applications, embedded and hardware appliances.

**Before we go for coding stuff, I know :** ***I have readers and followers from all sects including large organisations to students who want to learn. You may have a spare bare metal server but others not. You have Desktop in Home but some of readers can access in college or in school only. This means I have to find the way that everyone can enjoy this tutorial and set up a lab for him / her and create a production ready cloud for his school, college, organisation or customer.***

**Those with Baremetal Servers:** Install Ubuntu Server 18.04 LTS or any.

**Those with Desktop :** I will request not to do nested virtualization by virtualbox then Xenserver then coding stuff with a desktop OS by enabling CPU Virtualization. Instead, I will recommend to spend 5 USD by buying the lowest server from here :A Server :Ubuntu 18 Ubuntu 18.04.3 (LTS) x64 ( $5 USD ). Don’t worry, Its a cloud server. At the end you will be charged less than 2-3 USD.

**Those accessing computers in School and Colleges only: buy any low end cloud account .At the end you will be charged less than 2–3 USD.

***Those who have online VPS / Dedicated Servers are welcomed.***

***So I think no one left now. Everyone is in… so lets go…***

**Nested Virtualization :** when you mount one hypervisor over other Hypervisor and start doing nesting. This helps when you want features of Operating System Virtualizers and Hardware Visualizers one over other and vice versa etc…


***Your Virtual Private Server or Cloud Server both are cut out from a Dedicated Server by means of a Hypervisor. When you in this tutorial go for installing another hypervisor , it becomes nested hypervisor.***

**YOU MAY NEED TODO GOOFING OF SERVERS:**
***Now why this?*** You may or You may not need this Since few VPS / cloud providers may not allow you to mount another Hpervisor-1 over their system.

***How to goof the whole process:***
Ubuntu Server --> Install Kubuntu OS on Server-->VNC and VNC Viewer and start this tutorial.

[To carry out goofing process follow the steps from my earlier post.](https://dev.to/manishfoodtechs/your-complete-online-desktop-hosted-on-server-in-just-5-00-4la5) ***Its 5 Minutes work.***

***In the Next Part, we will be installing all required Pieces of Software. And Finalize the process of building the Cloud IaaS from Scratch.***

**Hope you liked Part -2.Please like ,follow ,and tag me . You can reach me for any questions on my personal email id: Manishfoodtechs@gmail.com**

Part-3 will be in released in hours from Part-2. Meanwhile setup your environment.