You are on page 1of 7

ASSIGNMENT 1

Register number 20CS116

Name VANISHREE B

Subject code 17CSC14

Subject Cloud Computing


1.Write a note on cloud computing platforms
and Technologies

Cloud computing platforms and technologies have


revolutionized the way businesses and individuals manage and
utilize computing resources. With the advancement of
technology, cloud computing has become an integral part of
modern infrastructure, offering scalability, flexibility, and cost-
effectiveness. In this note, I will provide an overview of cloud
computing platforms and technologies.

1. Infrastructure as a Service (IaaS): IaaS is a cloud computing


model that provides virtualized computing resources over the
internet. It offers infrastructure components such as virtual
machines, storage, and networking. Popular IaaS platforms
include Amazon Web Services (AWS), Microsoft Azure, and
Google Cloud Platform (GCP).

2. Platform as a Service (PaaS): PaaS is a cloud computing


model that provides a platform for developing, testing, and
deploying applications. It offers a complete development
environment, including operating systems, programming
languages, databases, and web servers. PaaS platforms abstract
away the underlying infrastructure, allowing developers to focus
on application development. Examples of PaaS platforms
include Heroku, Google App Engine, and Microsoft Azure App
Service.

3. Software as a Service (SaaS): SaaS is a cloud computing


model where software applications are provided over the
internet on a subscription basis. Users can access these
applications through web browsers without the need for
installation or maintenance. Popular examples of SaaS include
Salesforce, Microsoft Office 365, and Dropbox.

4. Serverless Computing: Serverless computing is a cloud


computing model that abstracts away the server infrastructure,
allowing developers to focus solely on writing and deploying
code. With serverless computing, developers don't have to
manage or provision servers; instead, they can execute their
functions or code snippets in response to specific events. AWS
Lambda, Azure Functions, and Google Cloud Functions are
popular serverless computing platforms.

5. Containerization: Containerization is a technology that allows


applications to run in isolated environments called containers.
Containers package the application and its dependencies into a
single unit, making it easy to deploy and run across different
computing environments. Docker is a popular containerization
platform that enables developers to create and manage
containers efficiently.

6. Hybrid Cloud: Hybrid cloud refers to a combination of public


and private cloud environments. It allows organizations to
leverage the benefits of both cloud models while maintaining
control over sensitive data or applications. Hybrid cloud
architectures provide flexibility, scalability, and data privacy.
Popular hybrid cloud platforms include AWS Outposts, Azure
Stack, and Google Anthos.

7. Multi-Cloud: Multi-cloud refers to the use of multiple cloud


computing platforms from different vendors. Organizations
adopt a multi-cloud strategy to avoid vendor lock-in, increase
redundancy, and optimize performance and cost. Managing
multiple cloud platforms requires effective orchestration and
management tools.

In conclusion, cloud computing platforms and technologies have


transformed the IT landscape, offering a range of services from
infrastructure provisioning to software applications. The choice
of platform depends on the specific requirements of an
organization or individual. Whether it is IaaS, PaaS, SaaS,
serverless computing, containerization, or hybrid/multi-cloud,
these technologies enable efficient resource allocation,
scalability, and agility in the modern digital era.

2.Enumerate the Taxonomy of


virtualization Techniques

Virtualization techniques can be categorized into different types


based on the level at which virtualization is implemented and
the resources that are being virtualized. Here are some common
taxonomy or categories of virtualization techniques:

1. Server Virtualization: Server virtualization is the most widely


adopted form of virtualization. It involves creating multiple
virtual machines (VMs) on a single physical server, allowing for
better utilization of hardware resources. Each VM runs its own
operating system and applications, isolated from other VMs on
the same server. Popular server virtualization platforms include
VMware ESXi, Microsoft Hyper-V, and KVM (Kernel-based
Virtual Machine).

2. Desktop Virtualization: Desktop virtualization involves


running multiple virtual desktop instances on a centralized
server or in the cloud. This allows users to access their desktop
environment and applications from any device, improving
flexibility and mobility. There are different approaches to
desktop virtualization, such as Virtual Desktop Infrastructure
(VDI), which provides dedicated virtual desktops for individual
users, and Remote Desktop Services (RDS), which allows
multiple users to share a single server OS instance.

3. Network Virtualization: Network virtualization decouples


network services from the underlying physical infrastructure,
allowing the creation of virtual networks that are isolated,
programmable, and scalable. It enables the provisioning of
virtual networks, switches, routers, and firewalls, providing
flexibility and agility in network management. Technologies
like VMware NSX, Cisco ACI, and OpenStack Neutron are
commonly used for network virtualization.

4. Storage Virtualization: Storage virtualization abstracts


physical storage resources, such as disks and arrays, and
presents them as logical storage units. It enables the pooling of
storage resources and the provision of virtualized storage
volumes to applications and users. Storage virtualization
provides features like data replication, snapshotting, and thin
provisioning. Examples of storage virtualization technologies
include VMware vSAN, EMC VMAX, and IBM SVC (SAN
Volume Controller).

5. Application Virtualization: Application virtualization allows


applications to run in isolated environments, separate from the
underlying operating system. It encapsulates the application and
its dependencies into a package that can be run on different
operating systems and platforms without installation or conflicts.
Popular application virtualization solutions include VMware
ThinApp, Microsoft App-V, and Docker containers.

6. Hardware Virtualization: Hardware virtualization refers to the


virtualization of physical hardware components, such as
processors and memory. It allows multiple virtual machines or
operating systems to run concurrently on the same physical
hardware. This is typically achieved through hypervisor or
virtual machine monitor (VMM) software, which manages the
allocation and sharing of hardware resources. Hardware
virtualization enables the consolidation of multiple physical
servers into a single physical machine.

These are some of the main categories of virtualization


techniques. Each type of virtualization provides distinct benefits
and use cases, allowing organizations to optimize resource
utilization, improve flexibility, and reduce costs in their IT
infrastructure.
3.How to install and configure Hadoop
cluster setup?

Installing and configuring a Hadoop cluster setup involves


several steps. Here's a high-level overview of the process:
1. Prepare the Environment:
- Set up a network with multiple machines that will form the
cluster.
- Ensure that each machine has a compatible operating system
(e.g., Linux) and meets the hardware requirements for running
Hadoop.
2. Install Java:
- Hadoop requires Java to run. Install a compatible version of
Java on each machine in the cluster.

3. Set Up SSH:
- Configure SSH (Secure Shell) to enable passwordless
communication between nodes in the cluster. Generate SSH
keys and distribute them to all machines to allow seamless
communication.

4. Download and Extract Hadoop:


- Download the desired version of Hadoop from the Apache
Hadoop website.
- Extract the downloaded archive to a directory on each
machine in the cluster.

5. Configure Hadoop:
- Modify the Hadoop configuration files to suit your cluster
setup.
- The key configuration files are core-site.xml, hdfs-site.xml,
and mapred-site.xml. These files specify parameters such as
cluster node addresses, replication factor, and other settings.
- Update these configuration files on all machines consistently.

6. Set Up Hadoop Environment Variables:


- Configure the Hadoop environment variables on each
machine to specify the Java installation path and Hadoop home
directory.
- Add these variables to the respective user profiles or set them
in the hadoop-env.sh file.

7. Set Up Hadoop Distributed File System (HDFS):


- Format the HDFS by running the "hdfs namenode -format"
command on the designated NameNode machine. This
initializes the HDFS metadata.

8. Start Hadoop Services:


- Start the Hadoop daemons by executing the relevant scripts
on the appropriate machines.
- Use the "start-dfs.sh" script to start the HDFS daemons
(NameNode and DataNodes).
- Use the "start-yarn.sh" script to start the YARN daemons
(ResourceManager and NodeManagers).

9. Verify the Cluster Setup:


- Check the Hadoop daemons' status using the "jps" command
on each machine.
- Access the Hadoop web user interfaces to ensure they are
running correctly. The NameNode web UI is typically available
at http://<NameNode-Host>:50070.

10. Run a Sample Hadoop Job:


- Execute a sample Hadoop job, such as running a word count
program, to test the cluster setup.
- Upload input data to the HDFS, submit the job, and verify
the output.
It's worth noting that the above steps provide a basic outline of
installing and configuring a Hadoop cluster setup. Depending on
your specific requirements and cluster size, additional steps or
customizations may be necessary. It's recommended to refer to
the official Hadoop documentation for detailed instructions and
troubleshooting guidelines.

You might also like