Virtualization makes it doable to run a number of digital machines (VMs) on a single piece of bodily {hardware}. These VMs behave like impartial computer systems, however share the identical bodily computing energy. A pc inside a pc, so to talk.
Many cloud companies depend on virtualization. However different applied sciences, similar to containerization and serverless computing, have turn into more and more necessary.
With out virtualization, lots of the digital companies we use on daily basis wouldn’t be doable. After all, it is a simplification, as some cloud companies additionally use bare-metal infrastructures.
On this article, you’ll learn to arrange your personal digital machine in your laptop computer in just some minutes — even in case you have by no means heard of Cloud Computing or containers earlier than.
Desk of Contents
1 — The Origins of Cloud Computing: From Mainframes to Serverless Architecture
2 — Understanding Virtualization: Why it’s the Basis of Cloud Computing
3 — Create a Virtual Machine with VirtualBox
Final Thoughts
Where can you continue learning?
1 — The Origins of Cloud Computing: From Mainframes to Serverless Structure
Cloud computing has basically modified the IT panorama — however its roots return a lot additional than many individuals suppose. The truth is, the historical past of the cloud started again within the Nineteen Fifties with big mainframes and so-called dumb terminals.
- The period of mainframes within the Nineteen Fifties: Corporations used mainframes in order that a number of customers may entry them concurrently through dumb terminals. The central mainframes have been designed for high-volume, business-critical knowledge processing. Large companies nonetheless use them right now, even when cloud companies have diminished their relevance.
- Time-sharing and virtualization: Within the subsequent decade (Sixties), time-sharing made it doable for a number of customers to entry the identical computing energy concurrently — an early mannequin of right now’s cloud. Across the identical time, IBM pioneered virtualization, permitting a number of digital machines to run on a single piece of {hardware}.
- The start of the web and web-based functions within the Nineties: Six years earlier than I used to be born, Tim Berners-Lee developed the World Wide Web, which revolutionized on-line communication and our complete working and dwelling atmosphere. Are you able to think about our lives right now with out web? On the identical time, PCs have been changing into more and more standard. In 1999, Salesforce revolutionized the software program business with Software program as a Service (SaaS), permitting companies to make use of CRM options over the web with out native installations.
- The large breakthrough of cloud computing within the 2010s:
The fashionable cloud period started in 2006 with Amazon Web Services (AWS): Corporations have been capable of flexibly hire infrastructure with S3 (storage) and EC2 (digital servers) as a substitute of shopping for their very own servers. Microsoft Azure and Google Cloud adopted with PaaS and IaaS companies. - The fashionable cloud-native period: This was adopted by the subsequent innovation with containerization. Docker made Containers standard in 2013, adopted by Kubernetes in 2014 to simplify the orchestration of containers. Subsequent got here serverless computing with AWS Lambda and Google Cloud Capabilities, which enabled builders to put in writing code that robotically responds to occasions. The infrastructure is totally managed by the cloud supplier.
Cloud computing is extra the results of a long time of innovation than a single new know-how. From time-sharing to virtualization to serverless architectures, the IT panorama has repeatedly advanced. Right this moment, cloud computing is the muse for streaming companies like Netflix, AI functions like ChatGPT and international platforms like Salesforce.
2 — Understanding Virtualization: Why Virtualization is the Foundation of Cloud Computing
Virtualization means abstracting bodily {hardware}, similar to servers, storage or networks, into a number of digital situations.
A number of impartial methods might be operated on the identical bodily infrastructure. As a substitute of dedicating a complete server to a single software, virtualization permits a number of workloads to share assets effectively. For instance, Home windows, Linux or one other atmosphere might be run concurrently on a single laptop computer — every in an remoted digital machine.
This protects prices and assets.
Much more necessary, nonetheless, is the scalability: Infrastructure might be flexibly tailored to altering necessities.
Earlier than cloud computing grew to become extensively obtainable, firms usually needed to preserve devoted servers for various functions, resulting in excessive infrastructure prices and restricted scalability. If extra efficiency was abruptly required, for instance as a result of webshop site visitors elevated, new {hardware} was wanted. The corporate had so as to add extra servers (horizontal scaling) or improve current ones (vertical scaling).
That is totally different with virtualization: For instance, I can merely improve my digital Linux machine from 8 GB to 16 GB RAM or assign 4 cores as a substitute of two. After all, provided that the underlying infrastructure helps this. Extra on this later.
And that is precisely what cloud computing makes doable: The cloud consists of big knowledge facilities that use virtualization to supply versatile computing energy — precisely when it’s wanted. So, virtualization is a elementary know-how behind cloud computing.
How does serverless computing work?
What when you didn’t even must handle virtual machines anymore?
Serverless computing goes one step additional than Virtualization and containerization. The cloud supplier handles most infrastructure duties — together with scaling, upkeep and useful resource allocation. Builders ought to deal with writing and deploying code.
However does serverless actually imply that there aren’t any extra servers?
After all not. The servers are there, however they’re invisible for the consumer. Builders now not have to fret about them. As a substitute of manually provisioning a digital machine or container, you merely deploy your code, and the cloud robotically executes it in a managed atmosphere. Sources are solely offered when the code is working. For instance, you should use AWS Lambda, Google Cloud Capabilities or Azure Capabilities.
What are the benefits of serverless?
As a developer, you don’t have to fret about scaling or upkeep. Which means that if there’s much more site visitors at a specific occasion, the assets are robotically adjusted. Serverless computing might be cost-efficient, particularly in Perform-as-a-Service (FaaS) fashions. If nothing is working, you pay nothing. Nevertheless, some serverless companies have baseline prices (e.g. Firestore).
Are there any disadvantages?
You’ve got a lot much less management over the infrastructure and no direct entry to the servers. There may be additionally a threat of vendor lock-in. The functions are strongly tied to a cloud supplier.
A concrete instance of serverless: API with out your personal server
Think about you’ve got a web site with an API that gives customers with the present climate. Usually, a server runs across the clock — even at occasions when nobody is utilizing the API.
With AWS Lambda, issues work otherwise: A consumer enters ‘Mexico Metropolis’ in your web site and clicks on ‘Get climate’. This request triggers a Lambda perform within the background, which retrieves the climate knowledge and sends it again. The perform is then stopped robotically. This implies you don’t have a completely working server and no pointless prices — you solely pay when the code is executed.
3 — What Information Scientists ought to Learn about Containers and VMs — What’s the Distinction?
You’ve in all probability heard of containers. However what’s the distinction to digital machines — and what’s notably related as a knowledge scientist?
Each containers and digital machines are virtualization applied sciences.
Each make it doable to run functions in isolation.
Each provide benefits relying on the use case: Whereas VMs present sturdy safety, containers excel in velocity and effectivity.
The primary distinction lies within the structure:
- Digital machines virtualize the whole {hardware} — together with the working system. Every VM has its personal operational system (OS). This in flip requires extra reminiscence and assets.
- Containers, then again, share the host working system and solely virtualize the applying layer. This makes them considerably lighter and sooner.
Put merely, digital machines simulate complete computer systems, whereas containers solely encapsulate functions.
Why is that this necessary for knowledge scientists?
Since as a knowledge scientist you’ll come into contact with machine studying, knowledge engineering or knowledge pipelines, additionally it is necessary to know one thing about containers and digital machines. Certain, you don’t have to have in-depth data of it like a DevOps Engineer or a Website Reliability Engineer (SRE).
Digital machines are utilized in knowledge science, for instance, when an entire working system atmosphere is required — similar to a Home windows VM on a Linux host. Information science initiatives usually want particular environments. With a VM, it’s doable to supply precisely the identical atmosphere — no matter which host system is out there.
A VM can also be wanted when coaching deep studying fashions with GPUs within the cloud. With cloud VMs similar to AWS EC2 or Azure Digital Machines, you’ve got the choice of coaching the fashions with GPUs. VMs additionally utterly separate totally different workloads from one another to make sure efficiency and safety.
Containers are utilized in knowledge science for knowledge pipelines, for instance, the place instruments similar to Apache Airflow run particular person processing steps in Docker containers. Which means that every step might be executed in isolation and independently of one another — no matter whether or not it includes loading, remodeling or saving knowledge. Even if you wish to deploy machine studying fashions through Flask / FastAPI, a container ensures that the whole lot your mannequin wants (e.g. Python libraries, framework variations) runs precisely because it ought to. This makes it tremendous simple to deploy the mannequin on a server or within the cloud.
3 — Create a Digital Machine with VirtualBox
Let’s make this a bit of extra concrete and create an Ubuntu VM. 🚀
I exploit the VirtualBox software program with my Home windows Lenovo laptop computer. The digital machine runs in isolation out of your most important working system in order that no adjustments are made to your precise system. You probably have Home windows Professional Version, you may as well allow Hyper-V (pre-installed by default, however disabled). With an Intel Mac, you must also be capable of use VirtualBox. With an Apple Silicon, Parallels Desktop or UTM is seemingly the higher different (not examined myself).
1) Set up Digital Field
Step one is to obtain the set up file for VirtualBox from the official Virtual Box website and set up VirtualBox. VirtualBox is put in together with all vital drivers.
You’ll be able to ignore the be aware about lacking dependencies Python Core / win32api so long as you do not need to automate VirtualBox with Python scripts.
Then we begin the Oracle VirtualBox Supervisor:
2) Obtain the Ubuntu ISO file
Subsequent, we obtain the Ubuntu ISO file from the Ubuntu website. An ISO Ubuntu file is a compressed picture file of the Ubuntu working system. Which means that it accommodates an entire copy of the set up knowledge. I obtain the LTS model as a result of this model receives safety and upkeep updates for five years (Lengthy Time period Help). Word the situation of the .iso file as we’ll use it later in VirtualBox.

3) Create a digital machine in VirtualBox
Subsequent, we create a brand new digital machine within the VirtualBox Supervisor and provides it the identify Ubuntu VM 2025. Right here we choose Linux as the sort and Ubuntu (64-bit) because the model. We additionally choose the beforehand downloaded ISO file from Ubuntu because the ISO picture. It could even be doable so as to add the ISO file later within the mass storage menu.

Subsequent, we choose a consumer identify vboxuser2025 and a password for entry to the Ubuntu system. The hostname is the identify of the digital machine throughout the community or system. It should not comprise any areas. The area identify is non-compulsory and can be used if the community has a number of units.
We then assign the suitable assets to the digital machine. I select 8 GB (8192 MB) RAM, as my host system has 64 GB RAM. I like to recommend 4GB (4096) at least. I assign 2 processors, as my host system has 8 cores and 16 logical processors. It could even be doable to assign 4 cores, however this fashion I’ve sufficient assets for my host system. You’ll find out what number of cores your host system has by opening the Activity Supervisor in Home windows and looking out on the variety of cores beneath the Efficiency tab beneath CPU.

Subsequent, we click on on ‘Create a digital laborious disk now’ to create a digital laborious disk. A VM requires its personal digital laborious disk to put in the OS (e.g. Ubuntu, Home windows). All packages, information and configurations of the VM are saved on it — identical to on a bodily laborious disk. The default worth is 25 GB. If you wish to use a VM for machine studying or knowledge science, extra cupboard space (e.g. 50–100 GB) can be helpful to have room for giant knowledge units and fashions. I maintain the default setting.
We will then see that the digital machine has been created and can be utilized:

4) Use Ubuntu VM
We will now use the newly created digital machine like a traditional separate working system. The VM is totally remoted from the host system. This implies you’ll be able to experiment in it with out altering or jeopardizing your most important system.
In case you are new to Linux, you’ll be able to check out primary instructions like ls, cd, mkdir or sudo to get to know the terminal. As a knowledge scientist, you’ll be able to arrange your personal growth environments, set up Python with Pandas and Scikit-learn to develop knowledge evaluation and machine studying fashions. Or you’ll be able to set up PostgreSQL and run SQL queries with out having to arrange an area database in your most important system. It’s also possible to use Docker to create containerized functions.
Remaining Ideas
For the reason that VM is remoted, we will set up packages, experiment and even destroy the system with out affecting the host system.
Let’s see if digital machines stay related within the coming years. As firms more and more use microservice architectures (as a substitute of monoliths), containers with Docker and Kubernetes will definitely turn into much more necessary. However understanding how one can arrange a digital machine and what it’s used for is definitely helpful.
I simplify tech for curious minds. Should you take pleasure in my tech insights on Python, knowledge science, knowledge engineering, machine studying and AI, contemplate subscribing to my substack.
The place Can You Proceed Studying?
Source link