You are on page 1of 10

Lab 2

Infrastructure as a Service (IaaS)


Introduction:
Infrastructure as a Service (IaaS) is a cloud computing model that provides virtualized
computing resources over the internet. In IaaS, cloud service providers deliver fundamental IT
infrastructure, such as virtual machines, storage, and networking, to users on a pay-as-you-go
basis.
In this model, users have more control over their infrastructure compared to traditional hosting
solutions. They can create, configure, and manage virtual machines and networks without the
need to invest in physical hardware or data centers.

Key features of IaaS include:

 Scalability: Users can scale computing resources up or down based on demand, ensuring
cost-effectiveness and flexibility.
 Cost Savings: Since users only pay for the resources they use, IaaS reduces capital
expenses and operational costs associated with maintaining physical infrastructure.
 Global Accessibility: IaaS platforms typically have data centers distributed worldwide,
allowing users to deploy resources closer to their target audience, reducing latency and
improving performance.
 Security and Compliance: IaaS providers often implement robust security measures,
including encryption, access controls, and compliance certifications, ensuring data
security and regulatory compliance.
 Rapid Provisioning: Virtualized resources can be provisioned and deployed quickly,
allowing users to respond rapidly to changing business needs.
 Flexibility: IaaS supports various operating systems and applications, offering users the
freedom to choose the software stack that best suits their requirements.

IaaS is particularly beneficial for businesses looking to offload infrastructure management,


improve agility, and scale their IT operations efficiently. It provides a solid foundation for
building and running applications, enabling organizations to focus on innovation and
development while leaving the underlying infrastructure to the cloud service provider.
Steps to create a virtual machine with Ubuntu in Azure

1. Sign in to Microsoft Azure with your sign in credentials at portal.azure.com.


2. Click on “Create a resource” and then on “Virtual Machine”.

3. Fill out the required details for the virtual machine, such as Name, Region, Image, Size,
Username, Key source and key pair name.

4. Select "SSH" and “HTTP” as the public inbound port.


5. Fill up all the details for every tab such as disk, networking as per the requirement and
click on review and create. Azure will validate the options and move to review and create
page where azure will provide a cost estimate and some terms and conditions.
6. Click “Review+Create” and then “Create” to create the VM. If you have set the
authentication type to be SSH key then azure will generate a new SSH key pair. Azure
will prompt you to download the private key and create a key resource. Once the key
resource is created you won’t be able to download the private key again. Azure doesn’t
store the private key.
7. Azure will start deploying the virtual machine and also notify when the deployment is
complete.
Steps to access the Virtual Machine

1. Click on the Virtual Machine tab on the homepage and click on the virtual machine you
want to access.
2. You will be provided with an overview of the Virtual Machine that you clicked on. Then
click on the connect tab icon and click on the connect via SSH with client tab.
3. Open CMD on windows.

4. Run the command below to connect to Virtual Machine.

ssh -i <private key path> azureuser@ipaddress

and you will be connected to the Virtual Machine hosted on cloud platform Azure.
5. Install Apache2 using command => apt install apache2

6. Then the virtual machine can be accessed by the public ip address.


Services that can be used in IaaS
 Web Server Software: This service provides the core functionality of hosting
websites and serving web content. Examples of web server software include
Apache HTTP Server, Nginx, Microsoft Internet Information Services (IIS), and
Node.js.
 Virtual Machines (VMs): VMs are the foundational service in IaaS that allows
you to create and manage virtual instances of servers in the cloud. You can install
and configure the web server software of your choice on these VMs.
 Load Balancers: Load balancers distribute incoming network traffic across
multiple VMs or instances to ensure high availability and optimal performance for
web applications. They can help distribute the workload efficiently and handle
traffic spikes.
 Virtual Networks: Virtual networks provide isolated network environments for
your infrastructure. They allow you to define subnets, set up network security
groups, and establish connectivity with on-premises networks or other Azure
services.
 Managed Disks: Managed disks provide persistent storage for VMs in IaaS. You
can attach and manage disks associated with your VMs, ensuring reliable data
storage for your web server content and configurations.
 Azure Blob Storage: Blob Storage is a scalable and secure storage service in
Azure that can be used to store static web content, such as images, videos, and
other media files, to be served by your web server.
 Virtual Machine Scale Sets: Scale sets enable you to automatically create and
manage a group of load-balanced VMs. They help with scaling your web server
infrastructure based on demand, allowing you to handle increased traffic or
workload.
 Azure App Service: While not strictly part of IaaS, Azure App Service is a
platform as a service (PaaS) offering that simplifies web application hosting and
deployment. It provides an easy and managed way to host web applications
without managing the underlying infrastructure.
Differences between VM in local machine and VM in cloud
 Infrastructure Ownership: Local Machine VMs provide full control and
ownership over the physical infrastructure, whereas Cloud VMs outsource
infrastructure management to the cloud service provider.
 Scalability: Local Machine VMs are limited by the resources of the host machine,
whereas Cloud VMs offer on-demand scalability, allowing resources to be easily
adjusted based on demand.
 Maintenance and Management: Local Machine VMs require manual maintenance
and management, including updates and backups, whereas Cloud VMs relieve
users from infrastructure maintenance tasks as the cloud service provider handles
them.
 Global Availability: Local Machine VMs are limited to the physical location
where the machine is located, whereas Cloud VMs can be deployed in multiple
regions worldwide, providing global availability.
 Cost Structure: Local Machine VMs involve upfront costs for purchasing and
maintaining hardware, whereas Cloud VMs follow a pay-as-you-go pricing
model, allowing users to pay for actual resource usage and avoiding upfront
capital expenditures.
 Managed Services: Local Machine VMs require manual configuration and setup
of services, whereas Cloud VMs offer a range of managed services and
automation tools that simplify deployment, monitoring, and management tasks.
 High Availability and Disaster Recovery: Local Machine VMs require manual
implementation of high availability and disaster recovery solutions, whereas
Cloud VMs often provide built-in features for high availability and disaster
recovery, ensuring robust resilience.
 Elasticity: Local Machine VMs have limited elasticity, whereas Cloud VMs can
automatically scale resources up or down based on demand, enabling efficient
resource utilization.
In summary, local machine VMs provide infrastructure ownership but have limitations in
scalability, global availability, and require manual maintenance. Cloud VMs, on the other
hand, offer scalability, global availability, managed services, cost flexibility, and built-in
high availability and disaster recovery features, making them a more versatile and
convenient choice for many organizations.

You might also like