CloudComputing - Practical File

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 18

Page|1

HIMACHAL INSTITUTE OF ENGINEERING


& TECHNOLOGY, SHAHPUR

PRACTICAL FILE

CLOUD COMPUTING
LAB
(CS-711)

SUBMITTED TO: Miss Neha (LECTURER HIET CSE)

SUBMITTED BY: Simran

ROLL NO: 20011203022

COURSE AND SEM.: B.TECH(CSE 7TH)

CLOUD COMPUTING LAB Simran[20011203022]


INDEX Page|2

Practical Content Page no. Date Teacher’s


no. sign.

1 Introduction to cloud computing


3
Creating a warehouse application in
2 sales Force.com 4-5

Creating an application in
3 salesforce.com using Apex 6-7
programming language.
Implementation of SOAP web
4 services in C#/JAVA Application. 8-11

Implementation of Para- Virtualization


5 using VM Ware’s 12-13
workstation/oracle’s virtual box and
Guest O.S.
Installation and configuration of
6 Hadoop 14-15

Creating an application (Ex: word


7 count) using Hadoop Map/Reduce. 16

Case study: PAAS (Facebook,


8 Google App Engine) 17

Case study: Amazon web service


9 18

CLOUD COMPUTING LAB Simran[20011203022]


Page|3

PRACTICAL: 1

AIM: Introduction to cloud computing.

Cloud computing is a general term for the delivery of hosted services over the internet.Cloud
computing enables companies to consume a compute resource, such as a virtual machine (VM),
storage or an application, as a utility -- just like electricity -- rather than having to build and
maintain computing infrastructures in house.
Cloud computing characteristics and benefits
Cloud computing boasts several attractive benefits for businesses and end users. Four of the main
benefits of cloud computing are:
Self-service provisioning: End users can spin up compute resources for almost any
type of workload on demand. This eliminates the traditional need for IT administrators to
provision and manage compute resources.
Elasticity: Companies can scale up as computing needs increase and scale down again
as demands decrease. This eliminates the need for massive investments in local
infrastructure, which may or may not remain active.
Pay per user: Compute resources are measured at a granular level, enabling users to
pay only for the resources and workloads they use.
Migration flexibility: Organizations can move certain workloads to or from the
cloud -- or to different cloud platforms -- as desired or automatically for better cost
savings or to use new services as they emerge.
Cloud computing deployment models:(Public, Private or Hybrid)
Public Cloud: Public cloud computing relies on shared resources and services provided by a
third-party cloud service provider, accessible over the internet by multiple organizations.
Private Cloud: Private cloud computing involves dedicated resources and services provisioned
within a single organization's infrastructure for its exclusive use, ensuring greater control and
security.
Hybrid Cloud: Hybrid cloud computing combines public and private cloud deployments,
allowing data and applications to be shared between them while maintaining flexibility and
scalability.
Types of cloud computing services
 It has been divided into three broad service categories: infrastructure as a service
(IaaS), platform as a service (PaaS) and software as a service (SaaS).

CLOUD COMPUTING LAB Simran[20011203022]


Page|4

PRACTICAL: 2

AIM: Creating a Warehouse Application in Sales Force.com

Step 1: Register for a Developer Edition "Org"


If you haven't already done so, start by registering for a free Force.com Developer Edition
instance of Salesforce ("DE org" for short). Use an email address that you can access
immediately, submit the form, and wait for an activation email. Once you receive the activation
email, open it, click the login link, and set your password.
Now you’re in the Force.com's browser-based application development environment and
ready to begin building an app.

Step 2: Create an App


 Creating the foundation of a basic cloud app with Force.com requires just a few mouse
clicks. In this tutorial, you use the App Quick Start wizard to create an app that can help
you manage merchandise records in a warehouse.
 From the Force.com Home page, click the big Add App button in the Getting
Started section. (If you're starting from somewhere else, click <your_name> |
Setup to return to the Force.com Home page).
 Next, fill in the form , then click Create
 Once the wizard finishes, click Go To My App, Start Tour, and follow along for a
quick overview of your app's user interface.

Step 3: Try Out the App


 To try out your new app, just click New to create a new record of Merchandise.
 Then add a new merchandise record for "Laptop" computers.

Tell Me More
The app you just created is very simple -- or is it? Look closely around the screen to see all of the
functionality available by default to your Warehouse app.
Every object in Force.com automatically has an attached "feed," called Chatter, that lets
authorized app users socialize about and collaborate on the object.
Using Chatter, users can post updates in an object's feed, comment on posts, and follow
(subscribe to) the feed to get pushed updates when they happen. For example, on a
Merchandise record, one user might post a question about the record, to which followers
and other users can comment in reply.
Every DE org has a secure Chat window that lets users interact with one another. You can
also manage activities related to a record from the Open Activities and Activity History
related lists..

Every app has full-text search functionality for all text fields of an object and
Chatter feeds.

CLOUD COMPUTING LAB Simran[20011203022]


Page|5

Every DE org has a recycle bin that you can use to view and restore deleted records.
Every record in Force.com has an "owner," which serves as the basis for a powerful
security system that supports ownership-based record sharing scenarios.
trigger blockDuplicates_tgr on Lead bulk(before insert, before update) {
/*
* begin by building a map which stores the (unique) list of leads
* being inserted/updated, using email address as the key.
*/
Map<String, Lead> leadMap = new Map<String, Lead>(); for
(Lead lead : System.Trigger.new) {
if (lead.Email != null) { // skip null emails
/* for inserts OR
* updates where the email address is changing
* check to see if the email is a duplicate of another in
* this batch, if unique, add this lead to the leadMap
*/
if ( System.Trigger.isInsert ||
(System.Trigger.isUpdate &&
lead.Email != System.Trigger.oldMap.get(lead.Id).Email))
{

if (leadMap.containsKey(lead.Email)) {
lead.Email.addError('Another new lead has the same email address.');
} else {
leadMap.put(lead.Email, lead);
}
}
}
}

/* Using the lead map, make a single database query,


* find all the leads in the database that have the same email address as
* any of the leads being inserted/updated.
*/
for (Lead lead : [select Email from Lead where Email IN :leadMap.KeySet()]) { Lead
newLead = leadMap.get(lead.Email);
newLead.Email.addError('A lead with this email address already exists.');
}
}

CLOUD COMPUTING LAB Simran[20011203022]


Page|6

PRACTICAL: 3

AIM: Creating an Application in SalesForce.com using Apex


programming Language.

Apex Code is designed explicitly for expressing business logic and manipulating data, rather than
generically supporting other programming tasks such as user interfaces and interaction. Apex
Code is therefore conceptually closer to the stored procedure languages common in traditional
database environments, such as PL/SQL and Transact- SQL.Control structures are also Java-like,
with for/while loops and iterators borrowing that syntax directly.

public class testBlockDuplicatesLeadTrigger {

static testMethod void testDuplicateTrigger(){

Lead[] l1 =new Lead[]{


new Lead( Email='[email protected]', LastName='Simpson', Company='fox'
)
};
insert l1; // add a known lead

Lead[] l2 =new Lead[]{


new Lead( Email='[email protected]', LastName='Simpson', Company='fox'
)
};
// try to add a matching lead
try { insert l2; } catch ( System.DmlException e) {
system.assert(e.getMessage().contains('first error:
FIELD_CUSTOM_VALIDATION_EXCEPTION, A lead with this email address
already exists'),
e.getMessage());
}

// test duplicates in the same batch


Lead[] l3 =new Lead[]{
new Lead( Email='[email protected]', LastName='Simpson', Company='fox'
),
new Lead( Email='[email protected]', LastName='Simpson', Company='fox'
)
};
try { insert l3; } catch ( System.DmlException e) {
system.assert(e.getMessage().contains('first error:
FIELD_CUSTOM_VALIDATION_EXCEPTION, Another new lead has the same
email'),
e.getMessage());

CLOUD COMPUTING LAB ANMOL RANA[20011203008]


Page|7

// test update also


Lead[] lup = new Lead[]{
new Lead( Email='[email protected]', LastName='Simpson', Company='fox'
)
};
insert lup;
Lead marge = [ select id,Email from lead where Email = '[email protected]' limit
1];
system.assert(marge!=null);
marge.Email = '[email protected]';

try { update marge; } catch ( System.DmlException e) {


system.assert(e.getMessage().contains('irst error:
FIELD_CUSTOM_VALIDATION_EXCEPTION, A lead with this email address
already exists'),
e.getMessage());
}
}
}

CLOUD COMPUTING LAB ANMOL RANA[20011203008]


Page|8

PRACTICAL: 4

AIM: Implementation of SOAP Web services in C#/JAVA Applications.


 Creating the ASP.NET Web Service
 Launch Visual Studio, and then go to File / New / Web Site...
 Choose ASP.NET Web Service as the template and name your project: Server.
 Throughout this project, I’ll use C:\Project7 as my default folder.
Go to the Service.cs file and create the four needed methods by replacing: [WebMethod]
public string HelloWorld() {
return "Hello World";
with:
[[WebMethod]
public int Add(int x, int y)
{
return x + y;
}
[WebMethod]
public int Subtract(int x, int y)
{
return x - y;
}
[WebMethod]
public int Multiply(int x, int y)
{
return x * y;
}
[WebMethod]
public int Division(int x, int y)
{
return x / y;
}
Note that [WebMethod] tag allows the methods to be accessible to external clients. Now replace the
code:
[WebService(Namespace = "http://tempuri.org/")]
with:

CLOUD COMPUTING LAB ANMOL RANA[20011203008]


Page|9

[WebService(Namespace="http://tempuri.org/",
Description="A Simple Web Calculator Service",
Name="CalculatorWebService")]
The Description attribute gives external clients a brief description of the service; the Name
attribute lets external clients refer to the service as CalculatorWebService rather than Service.
Installing the Web Service in IIS
This project uses IIS Server 7.0 running on a Windows 7 PC.
Activate IIS server by:
Start Menu / typing IIS in the search bar / Internet Information Services (IIS) Manager
or by: Control Panel / Administrative Tools / Internet Information Services (IIS) Manager
If you couldn’t find IIS, then probably it’s not installed, so consult Appendix A to know how
you can activate this program under Windows 7.
 Expand the tree Sites, then right click on Default Web Site, and choose Add
Virtual Directory.
 Enter WebService in the Alias field, and C:\Project7\Server in the Physical path
field.
 Click on the WebService folder and then switch IIS to Content View in order to see
the Service.asmx and the web.config files.
Since we’ve manually created the Virtual Directory WebService without the help of Visual
Studio testing mode, you should right click the WebService folder and choose Convert to
Application followed by clicking OK.
Now open your browser and goto http://localhost/WebService/Service.asmx.
Creating the ASP.NET Web Client
 Launch Visual Studio, and then go to File / New / Web Site...
 Choose ASP.NET Web Site as the template and name your project Client.

 Create an interface of your ASP.NET.


 Now let’s add our web service as a service reference to our project as follows: Right
Click the Project in the solution explorer/choose Add Service Reference/ enter
http://localhost/WebService/Service.asmx in the address field/click Go to
view the imported functions/choose ServiceReference as your namespace /click OK

CLOUD COMPUTING LAB ANMOL RANA[20011203008]


P a g e | 10

Edit your Default.aspx.cs source to add the method GetResult that takes as an input two
number strings and an integer function which corresponds to the four basic calculator
operations we need.
private string GetResult(string firstNumber, string secondNumber, int function)
{
ServiceReference.CalculatorWebServiceSoapClient client = new
ServiceReference.CalculatorWebServiceSoapClient();
int a, b;
string result = null;
erra.Text = "";
errb.Text = "";
if (!int.TryParse(firstNumber, out a))
{
erra.Text = "Must be a valid 32-bit integer!";
return "";
}
if (!int.TryParse(secondNumber, out b))
{
errb.Text = "Must be a valid 32-bit integer!";
return "";
}
try
{
switch (function)
{
case 0:
result = firstNumber + " + " + secondNumber + " = " + client.Add(a, b);
break;
case 1:
result = firstNumber + " - " + secondNumber + " = "+ client.Subtract(a, b);
break;
case 2:
result = firstNumber + " * " + secondNumber + " = " + client.Multiply(a, b);
break;
case 3:
result = firstNumber + " / " +secondNumber + " = " + client.Division(a, b);

CLOUD COMPUTING LAB ANMOL RANA[20011203008]


P a g e | 11

break;
}
}
catch (Exception e)
{
LabelResult.ForeColor = System.Drawing.Color.Red;
result = "Cannot Divide by Zero!";
}
return result;
}
ServiceReference.CalculatorWebServiceSoapClient client =
new ServiceReference.CalculatorWebServiceSoapClient();
which allows the client object to access the web service methods. ServiceReference is the
namespace of the web service you chose earlier. CalculatorWebServiceSoapClient establishes the
SOAP connection with client (i.e. sends requests and receives responses in the form of SOAP
XML messages between the proxy server and the proxy client).
Finally, add the Submit Button event handler with the following code to access the GetResult
method you created earlier.
protected void btnSubmit_Click(object sender, EventArgs e)
{
LabelResult.ForeColor = System.Drawing.Color.Black;
LabelResult.Text = GetResult(TextBoxFirstNumber.Text,
TextBoxSecondNumber.Text, DropDownList.SelectedIndex);
}

CLOUD COMPUTING LAB ANMOL RANA[20011203008]


P a g e | 12

PRACTICAL: 5
AIM: Implementation of Para-Virtualization using VM Ware’s workstation/oracle’s
virtual box and Guest O.S.

Steps to install and configure VMWare:


#1) Download VMWare workstation trial version setup file from here. Set up is around 307
MB. Currently, version 12 is available. Please note we have set up screens on version 11.
#2) Install VMWare on your machine. Setup is simple and requires to click Next button couple
of times.
#3) After installation open VMWare workstation by using either start menu or shortcut created
on the desktop.
#4) Click on “Create a New Virtual Machine”.
#5) With default “Typical” selected click on Next button.
#6) Specify the path of the operating system set up file.
#7) In the Next step you need to specify a Key or a serial number of operating system. If you are
using trial version then that part can be skipped.
#8) Enter the name for the virtual machine and specify a path to the directory where you want to
create your virtual machine. It is recommended that the drive you’re selecting to install virtual
machine should have sufficient space.
#9) Specify an amount of disk space you want to allocate for a virtual machine. Allocate disk
space according to the size of software you are going to install on the virtual machine.
#10) On the next screen it will show configuration you selected for a virtual machine.
#11) It will allocate Hardware according to the default settings but you can change it by using
Customize Hardware button in the above screen.
You can specify what amount of RAM, a processor has to be allocated for a virtual machine. Do
not allocate complete RAM or complete Processor for a virtual machine. Also, do not allocate
very less RAM or processor. Leave default settings or allocate in such way that your application
should be able to run on the virtual machine. Else it will result in a slow virtual machine.
#12) Click on the Finish button to create the virtual machine at the specified location and with
specified resources.
If you have specified a valid file (.iso, .rar., .nrg) for the operating system it will take standard
time to complete operating system set up on the virtual machine and then it will be ready to use
your regular OS.
Passing data between host and VM:
Generally, VM is having its own drive and it is not showing drives from host OS in the VM

CLOUD COMPUTING LAB ANMOL RANA[20011203008]


P a g e | 13

environment. Also, VM drive cannot be used from host OS.


There are few options using which you can use data from Host OS in VM.
Option #1. Using shared directories: Go to VM -> Settings -> Options -> Shared
Folders: add the path of the required directories which you want to view in the VM.
Option #2. Using USB devices: When USB devices are plugged in those are default
available for host operating system and won’t show in the VM. To make them available in VM
do:
VM -> Removable devices -> mouse hover USB device and click Connect (Disconnect from
the host). Now USB device will be available in the Guest OS (VM) but won’t be available in the
host machine. Do reverse action to make it available in the host machine.

CLOUD COMPUTING LAB ANMOL RANA[20011203008]


P a g e | 14

PRACTICAL:
6

AIM: Installation and Configuration of Hadoop.


1. Download Hadoop:
 Go to the Apache Hadoop website and download the desired distribution of
Hadoop (e.g., Hadoop 3.x).
2. Install Java:
 If you haven't already, install Java on your system. You can use OpenJDK or
Oracle JDK.
3. Setup SSH:
 Make sure you have SSH set up and configured on your system. You should be
able to SSH into your machine without entering a password.
4. Extract Hadoop:
 Unzip the downloaded Hadoop distribution to your preferred directory. For
example:
` tar -xzf hadoop-x.y.z.tar.gz -C /opt/ `
5. Hadoop Configuration:
 Navigate to the etc/hadoop/ directory in your Hadoop installation directory.
You'll find several configuration files there. The main ones to configure are:
 core-site.xml: Configure the Hadoop core settings, including the
Hadoop distributed file system (HDFS) and default file system URI.
 hdfs-site.xml: Configure the HDFS settings, like data node and name
node configurations.
 mapred-site.xml: Configure MapReduce settings.
 yarn-site.xml: Configure YARN settings.
6. Environment Variables:
 Add the Hadoop bin directory to your system's PATH variable by editing your
shell profile file (e.g., `.bashrc` or `.zshrc`):
 ` export HADOOP_HOME=/opt/hadoop-x.y.z export
PATH=$HADOOP_HOME/bin:$PATH `

7. HDFS Setup:
 Format the HDFS filesystem for the first time by running:
 ` hdfs namenode -format `
8. Start Hadoop Services:
 Start the Hadoop services using the following commands:
 ` start-dfs.sh # Start HDFS
start-yarn.sh # Start YARN (MapReduce) `
9. Access Hadoop Web Interfaces:
 You can access the Hadoop web interfaces by opening a web browser and
navigating to `http://localhost:9870` for the HDFS NameNode and
`http://localhost:8088` for the YARN ResourceManager.
10. Verify Installation:
 You can run some sample Hadoop jobs or use Hadoop command-line tools to
ensure your installation is working correctly.

CLOUD COMPUTING LAB ANMOL RANA[20011203008]


P a g e | 15

PRACTICAL:7

AIM: Create an application (Ex: Word Count) using Hadoop Map/Reduce.

Workflow of MapReduce consists of 5 steps


1. Splitting – The splitting parameter can be anything, e.g. splitting by space, comma,
semicolon, or even by a new line (‘\n’).
2. Mapping – as explained above
3. Intermediate splitting – the entire process in parallel on different clusters. In order to
group them in “Reduce Phase” the similar KEY data should be on same cluster.
4. Reduce – it is nothing but mostly group by phase
5. Combining – The last phase where all the data (individual result set from each
cluster) is combine together to form a Result
Prerequisites:
 Hadoop installed and configured on your system.
 A text file to analyze (e.g., `input.txt`).
Code:
1. Write the Mapper code (WordCountMapper.java):
import java.io.IOException;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

public class WordCountMapper extends Mapper<LongWritable, Text, Text,


LongWritable> {
private final static LongWritable one = new LongWritable(1); private
Text word = new Text();

public void map(LongWritable key, Text value, Context context) throws


IOException, InterruptedException {
String line = value.toString();
String[] words = line.split("\\s+");

for (String w : words) {


word.set(w);
context.write(word, one);
}
}
}
2. Write the Reducer code (WordCountReducer.java):
import java.io.IOException;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;

public class WordCountReducer extends Reducer<Text, LongWritable, Text,


LongWritable> {
private LongWritable result = new LongWritable();

CLOUD COMPUTING LAB ANMOL RANA[20011203008]


P a g e | 16

public void reduce(Text key, Iterable<LongWritable> values, Context context) throws


IOException, InterruptedException {
long sum = 0;
for (LongWritable val : values) {
sum += val.get();
}
result.set(sum);
context.write(key, result);
}
}
3. Write the main driver class (WordCountDriver.java):
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.io.*;
import org.apache.hadoop.mapreduce.*;

public class WordCountDriver {


public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
Job job = Job.getInstance(conf, "word count");

job.setJarByClass(WordCountDriver.class);
job.setMapperClass(WordCountMapper.class);
job.setCombinerClass(WordCountReducer.class);
job.setReducerClass(WordCountReducer.class);

job.setOutputKeyClass(Text.class); job.setOutputValueClass(LongWritable.class);

FileInputFormat.addInputPath(job, new Path(args[0]));


FileOutputFormat.setOutputPath(job, new Path(args[1]));

System.exit(job.waitForCompletion(true) ? 0 : 1);
}
}
1. Compile the code:
 Compile the Java code and create a JAR file using your Java development
environment or the `javac` command.
2. Run the Word Count application:
 To run the Word Count application, use the following Hadoop command:
`hadoop jar WordCount.jar WordCountDriver input.txt output`

CLOUD COMPUTING LAB ANMOL RANA[20011203008]


P a g e | 17

PRACTICAL: 8

AIM: Case Study: PAAS(Facebook, Google App Engine)


Case Study # 4 – Facebook Ads Success with just $1 per
Day
Similar to the Buffer experiment, this case study by Brian Carter, a prominent Facebook
Marketing and Advertising Expert and Bestselling author of the book “ The Like Economy”
showed that even investing a minimum of $1/day on Facebook Ads can give you a significant
reach.
By consistently investing $1/day for 30 days, he was able to reach 120,000 people or 4000
people every day.
He in an active user of most advertising platforms and this is what he found as the cost to reach
1000 people using popular advertising channels.

Facebook Ads are far cheaper than the legacy advertising solutions (newspaper, tv, etc.), but
also left behind its online competitors (Adwords and LinkedIn).
The objective of this case study or experiment was to show that even if you start with a
minimal budget, Facebook Ads can still prove beneficial.

Most businesses can afford to spend $1/day on Facebook, can’t they?


Lesson Learned # 11 – Budget is or should not be a roadblock for virtually any
business. $1/day or $30/month is not a big deal for most businesses.
Lesson Learned # 12 – Even if you are investing more on other channels for traffic or lead
generation successfully, it doesn’t hurt to spend a small proportion on Facebook Ads. You might
get the same number of traffic, but the overall cost will be much cheaper than all other
alternatives.

CLOUD COMPUTING LAB ANMOL RANA[20011203008]


P a g e | 18

PRACTICAL: 9

AIM: Case Study: Amazon Web Services.

AWS is a cloud computing platform provided by Amazon that offers a wide range of services,
including computing power, storage, databases, machine learning, analytics, and more. AWS has
played a pivotal role in transforming the way businesses operate and has become a key player in
the cloud computing industry.

Case Study: Amazon Web Services (AWS)


Background: Amazon Web Services (AWS) was launched by Amazon in 2006, initially as a
platform to offer computing resources and storage to other companies. Over the years, it has
grown into a comprehensive cloud services platform and has become a dominant player in the
cloud computing market.
Challenges:
1. Scalability: As AWS's customer base grew, the challenge was to provide scalable
infrastructure that could handle the demand from startups to large enterprises.
2. Global Expansion: Expanding AWS's global infrastructure to meet the needs of
customers around the world while ensuring low-latency and high availability.
3. Security and Compliance: Addressing concerns related to data security and
compliance standards to gain the trust of highly regulated industries like finance and
healthcare.
Solutions:
1. Elastic Compute Cloud (EC2): AWS introduced EC2, a web service that provides
resizable compute capacity in the cloud. This allowed customers to scale their computing
resources up or down as needed.
2. Global Infrastructure: AWS built a global network of data centers and availability
zones to ensure redundancy and low-latency access to services from anywhere in the
world.
3. Security and Compliance: AWS invested heavily in security features, certifications,
and compliance standards, and developed tools like AWS Identity and Access
Management (IAM) to give customers control over their data and resources.

Results:
1. Market Dominance: AWS has become the dominant player in the cloud computing
market, with a large customer base that includes startups, enterprises, and public sector
organizations.
2. Innovation: AWS has continuously innovated, introducing a wide range of services,
including machine learning, IoT, serverless computing, and more.
3. Cost-Efficiency: AWS's pay-as-you-go pricing model has enabled organizations to
reduce capital expenditures and optimize their IT spending.
4. Economic Growth: AWS has contributed to economic growth by enabling startups to
launch quickly and by providing a scalable, cost-effective platform for businesses of all
sizes.
5. Global Impact: AWS has played a significant role in supporting critical workloads,
such as healthcare research, disaster recovery, and education, especially during the
COVID-19 pandemic.

CLOUD COMPUTING LAB ANMOL RANA[20011203008]

You might also like