2. Counting Steps...

Vaibhav MagdumVaibhav Magdum
5 min read

Topics:

  • How Physical servers used to work before Virtual Machines

  • what is Virtualization

  • what is a VM

  • working of Virtual Machine

  • Creating a Virtual machine in Cloud(AWS and Azure

  • physical server working

Okayyyy, so before we straight away dive into what virtual machines are, I just want to explain how physical servers used to work in the pre-cloud era or when only physical servers were used in the IT.

In the pre-cloud era, companies relied on on-premise physical servers to host their applications, store data, and handle computing tasks. These servers were housed within the company's facilities (Data Centers), requiring significant investment in hardware, maintenance, and physical space. Managing these servers involved ensuring they were always running efficiently, which included regular updates, backups, and addressing hardware failures. This setup was often costly, inflexible, and required specialized IT staff. The shift to virtualization and cloud computing happened because it offered more scalability, cost-effectiveness, and flexibility, allowing companies to focus more on their core business rather than managing infrastructure.

Cloud servers for companies were introduced in the mid-2000s. Amazon Web Services (AWS) was the first major provider of a cloud platform, launching its first service, Amazon Elastic Compute Cloud (EC2), in 2006. AWS pioneered the concept of on-demand computing resources, allowing companies to rent virtual servers and other IT infrastructure on a pay-as-you-go basis. This marked the beginning of the modern cloud computing era.

This development laid the groundwork for virtualization, which is the technology that underpins cloud computing. Virtualization enables multiple virtual machines (VMs) to run on a single physical server, each operating independently with its own operating system and applications. This increased efficiency, flexibility, and resource utilization, paving the way for the scalable and cost-effective cloud solutions we rely on today.

Companies who provide the cloud services have there data centers i.e., physical serves farm spread across acres. But what is a virtual machine.

Virtual Machines are the outcome of the Virtualizations process, where the physical servers are logically isolated using hypervisors like VMware, Xen etc. to use the servers efficiently.

Lets say example.com creates a software app and puts it on a public server for everyone to access it. Now this server has 100 GB of RAM and 100 cores but the software app only needs 4GB RAM and 4CPU.

This scenario will lead to inefficient use of the server strength. That is where virtual machines, virtualization, hypervisors etc. comes in use.

A virtual machine is nothing but emulation of a computer. Every Cloud platforms be it AWS, GCP or Azure uses the same concept of virtualization.

To give a general idea of this concept, cloud platforms have huge data centers with servers arranged in racks. Each server has to own hypervisor installed in it. Now when a company, say AWS, creates a virtual machine( Instance) using EC2 service of theirs, of 4GB RAM and 4CPU it will create a Virtual Machine in the server located in lets say, Mumbai, and will rent us to use that logically.

We can create our own Virtual machine or Instance in AWS using EC2 service. With a few simple steps even you can create an instance.

You just have to write a script to call the API which automates the process. Automation increases the efficiency of the process.

To create an EC2 instance on AWS, follow these steps:

  1. Sign in to AWS Management Console:

    • Go to the AWS Management Console at aws.amazon.com and sign in with your credentials.
  2. Navigate to EC2 Dashboard:

    • From the AWS Management Console, select "EC2" from the "Services" menu to open the EC2 Dashboard.
  3. Launch Instance:

    • Click on the "Launch Instance" button to start the instance creation process.
  4. Choose an Amazon Machine Image (AMI):

    • Select an AMI from the list, which is a pre-configured template that includes an operating system and optional software.
  5. Choose an Instance Type:

    • Select the instance type based on the required CPU, memory, and storage resources. You can choose from various instance types depending on your needs.
  6. Configure Instance:

    • Configure instance details like the number of instances, network settings, and IAM roles. Adjust these settings based on your requirements.
  7. Add Storage:

    • Add or modify storage volumes for your instance. By default, an EBS volume is attached, but you can add more if needed.
  8. Add Tags:

    • Add tags to your instance to help identify and organize it. Tags are key-value pairs, like "Name: MyInstance."
  9. Configure Security Group:

    • Create a security group or select an existing one. Security groups act as virtual firewalls to control inbound and outbound traffic to your instance.
  10. Review and Launch:

    • Review all settings. Click "Launch" to start the instance.
  11. Select Key Pair:

    • Select an existing key pair or create a new one. This key pair is used to securely connect to your instance via SSH (Linux) or RDP (Windows). Download and save the key pair file, as it's required to access your instance.
  12. Access Your Instance:

    • Once the instance is running, you can connect to it using SSH for Linux instances or RDP for Windows instances. Use the public IP or DNS name provided by AWS to access your instance.

Your EC2 instance is now up and running, ready for you to configure and deploy applications as needed.

0
Subscribe to my newsletter

Read articles from Vaibhav Magdum directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Vaibhav Magdum
Vaibhav Magdum

Mastering Data Science, Securing Networks, and Diving into DevOps I’m all about turning data into actionable insights with machine learning and data visualization, but my tech curiosity doesn't end there. I’m also diving into network security, building digital defenses as solid as Van Dijk’s game on the pitch. Now, I’m adding a new layer to my tech stack with DevOps and AWS! 🌐 From automating workflows to managing cloud infrastructure, I’m eager to streamline and optimize like never before. Collaboration is my thing, and I bring a methodical approach and an eye for detail to everything I tackle. When I’m not decoding algorithms or shoring up cyber defenses, you’ll find me strategizing on the football field (YNWA!), playing chess, or jamming to Patrick Watson. These passions fuel my creativity and critical thinking, crucial for navigating the fast-paced world of technology.