Creating Your Cloud Infrastructure like Google cloud and Digital Ocean from Scratch: Part -1
Tags: linux, php, devops, tutorial
Published: 2019-10-18 14:34:19

***Interesting Topic !!! Yeah ...*** 

So if you haven't read my previous topics do read [here](https://dev.to/manishfoodtechs) on my profile so that we remain on same page.


![img] (https://chiefexecutive.net/wp-content/uploads/2019/07/cloudbusiness-696x464.jpeg) 

I will try to tell you things in a very simplest way. Assuming you are a high-school student and doesn't know  anything about the subject. Hehe... Don't worry, I am also in your class ;)

Do not skip my posts in this series else you will think at end: ***what we are talking about?***

***So lets start,***

**Your First Question :** *What all the fuss is about? Why we need clouds when we have good lands to walk?*

Understand like this. Suppose,  Your father gifted you a computer with Windows OS (16 GB Ram and 4TB HDD) on your 14 th Birthday.  Two of your best buddies from neighborhood comes to you and request you to share some resources from your robust computer. You agree for 10 bucks for fixed resources like 2 GB RAM and 200 HDD sharing with each of your friends by a thin-client/LAN wire and they also started running Windows OS.

Then, one day three more friends come and ask you to share your CPU resources with them but they don't want windows , they want Linux. 

How to do this? Then your big brother comes as savior, telling, he has two pieces of software  - called *Hyper-Visor-1*  and *Hyper-Visor-2.* 

Hypervisor -1 you have to install in main PC otherwise, if you are not ready , your friends can install hyper-visor 2 in their PCs and able to use whatever the OS they want. 

You as a lazy but clever chap, chosen *hypervisor-2* option , that is , software get installed by your friends as you don't need to make changes in your main CPU. from time to time.

You and brother started earning by renting more and more resources to friends and asking them to use *hypervisors-2* .Now you have got another 20 friends sharing your Ram and HDD. Day by Day your friends are converting as customers... good days... ;)

Everything, was going good till One day they all started complaining about slow computers. Further, adding to this situation, your big brother wanted to add more 15 friends in your thin client CPU. *Ya, I know your big brother has habit of poking nose in severe situations...* 

Now, this is the first time you are under real pressure from customers and eagerly searching for a solution.Since, every one is behind you including your brother; you decided to leave your home and go to house of your aunt for few days - searching peace. Going by road (on land) is difficult and time taking so you decided to take airplane (in clouds).

On Airport, you noticed that same air-strip is being used for landing by different airplanes. 
***You got an Idea,***:  **The Idea of Resource Pooling.**

You called this Idea as ***Cloud.*** Instead of running from the situation, you come back to your house and tell every friends that you are going to guarantee 2 GB RAM and 200 GB of HDD as earlier but this time you are not going for fixing  it strictly as you were doing earlier in your CPU but You will pool resources now. You also tells them, with this new pooling framework, now friends will be benefited as they will pay what they use and can demand more resources when they need.

Now , you have to search where is your big brother!!! why?Dont forget he has another piece of software Hypervisor-1. Because, he will install in your CPU and will give more flexibility to you in business....  


This is how 'cloud' come into this world. Thanks to you.

One day your brother said... Hey !!! you little master, Airplanes gave you Super Idea of Clouds... do Father Car driven by me, Mother usage of Uber Taxis and your   School Bus doesn't worthy of any idea? The story continues in your mind Hehe.... :)

Okay here is something More...

**1. Most Costly Solution:** ***Dedicated Servers***
I believe you know, what is bare metal server is? In simplest form, you can assume it as CPU of your desktop computer. They have RAM, cores, processors and Hard Drives. They are connect to world by Internet. A **Dedicated Server** provider sells you his servers within his premises and control. He can come to you with different options: He can lend you his servers or may ask you to purchase server on your behalf and setup in his premises & degree of control( called Co-location servers).

**2. Some What Costly Solution:** ***Virtual Private Servers- VPS***
Dedicated Servers comes in various composition. The company having large composition Dedicated Server, will ask you to give you a part of it. You will be benefited by enjoying the service of VPS as Dedicated Servers.


Everything was going good when two decades earlier [**hypervisors**](http://en.wikipedia.org/wiki/Hypervisor#targetText=Mainframe%20origins,IBM's%20CP%2FCMS%20operating%20system) made entry to the party. They started allowing different OS -( Linux, Ubuntu, windows, debian etc) on same machine at the same time. By 2005, CPU manufactures also accepted virtualization. And almost all CPU today can virtualize the different OS. To see whether your desktop CPU virtualization is enabled --> goto Bios (when pc booting up)--> Advance--> Advance--> CPU Settings---> Virtualization.  An Example of hypervisor is VirtualBOX by Oracle.

**Different types of Hypervisors:**

![ Hypervisors](https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Hyperviseur.png/400px-Hyperviseur.png)

An Example of Type 2 Hypervisor is well known VirtualBOX. Because we install it on windows operating system (OS) and ask it to virtualize to Linux OS .
Type 1 hypervisors examples are Hyper-V, ESX/ESXi, Xen, XenServer, KVM and OpenVZ.

**3. A cheaper Solution than VPS:** ***Cloud Servers / Computing***
Most people tend to use cloud hosting and VPS hosting interchangeably. But in reality, they are quite different from each other. 
Virtual Private Server, or commonly known as VPS, is a hosting solution allowing multiple servers to work as one server.
 On the other hand, cloud hosting provides the same functionality like VPS but with on demand resources. 

cloud offers similar functionality but the services are billed on usage. Cloud VPS hosting will instantly scale on the resources you use. These are monitored by CPU usage, bandwidth, and memory utilization. But a strong asset of clouding VPS hosting is that the resources are always available as they are distributed to many machines. This makes expansion quite flexible and easy. However, the user will have less control on achieving and maintaining expansion, as your data can be spread across many cloud machines.

**Different types of Clouds:**

**SAAS:** SOFTWARE AS A SERVICE
**PAAS:** PLATFORM AS A SERVICE
**IAAS:** INFRASTRUCTURE AS A SERVICE

**Common Examples of SaaS, PaaS, & IaaS:**
	
**SaaS**:*Google Apps, Dropbox, Salesforce, Cisco WebEx, Concur, GoToMeeting*
**PaaS**:*AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos, OpenShift*
**IaaS**:*DigitalOcean, Linode, Rackspace, Amazon Web Services (AWS), Cisco Metapod, Microsoft Azure, Google Compute Engine (GCE)*


Your Answer to your brother about cars:

![Differnt types of Clouds](https://rubygarage.s3.amazonaws.com/uploads/article_image/file/783/cloud-services-compared-to-transportation.jpg)

In this Series we will build together Iaas: Services like DigitalOcean, Linnode, google cloud etc.

**DON'T FORGET TO LIKE, TAG & FOLLOW ME.**

***To be continued***