Cloud Computing File - 1800879
Cloud Computing File - 1800879
At
BACHELOR OF TECHNOLOGY
SUBMITTED BY:
SUBMITTED TO:
PROF. GURWINDER SINGH
1
Table of contents
Sr. no. content Page no.
2
PRACTICAL NO. 1
Aim: Install VirtualBox/VMware Workstation on different OS.
Step 1:
Download VirtualBox installer for Windows The installer can be found on its download page
here https://www.virtualbox.org/wiki/Downloads
Step 2:
Open the VirtualBox EXE file. Go to the location to which the EXE file downloaded and
double-click the file. Doing so will open the VirtualBox installation window.
Step 3:
Navigate through the installation prompts. Do the following:
● Click Install
3
● Click Yes when prompted.
Step 4:
Click Finish when prompted. It's in the lower-right side of the window. Doing so will close the
installation window and open VirtualBox. Now that you've installed and opened VirtualBox, you
can create a virtual machine in order to run any operating system on your PC
4
PRACTICAL NO. 2
Aim: Install different operating systems in Virtual Box.
Step 1:
Download Kali Linux ISO Image
On the official Kali Linux website downloads section, you can find Kali Linux .iso images.
These images are uploaded every few months, providing the latest official releases.
Navigate to the Kali Linux Downloads page and find the packages available for download.
Depending on the system you have, download the 64-Bit or 32-Bit version.
Step 2:
Create Kali Linux VirtualBox Container
After downloading the .iso image, create a new virtual machine and import Kali as its OS.
1. Launch VirtualBox Manager and click the New icon.
2. Name and operating system. A pop-up window for creating a new VM appears. Specify
a name and a destination folder. The Type and Version change automatically, based on the
name you provide. Make sure the information matches the package you downloaded and
click Next.
5
3. Memory size. Choose how much memory to allocate to the virtual machine and click Next.
The default setting for Linux is 1024 MB. However, this varies depending on your individual
needs.
4. Hard disk. The default option is to create a virtual hard disk for the new VM.
Click Create to continue. Alternatively, you can use an existing virtual hard disk file or decide
not to add one at all.
5. Hard disk file type. Stick to the default file type for the new virtual hard
disk, VDI (VirtualBox Disk Image). Click Next to continue.
6. Storage on a physical hard disk. Decide between Dynamically allocated and Fixed size.
The first choice allows the new hard disk to grow and fill up space dedicated to it. The second,
fixed size, uses the maximum capacity from the start. Click Next.
6
7. File location and size. Specify the name and where you want to store the virtual hard disk.
Choose the amount of file data the VM is allowed to store on the hard disk. We advise giving it
at least 8 GB. Click Create to finish.
Now you created a new VM. The VM appears on the list in the VirtualBox Manager.
7
PRACTICAL NO. 3
Before you start to setup CloudSim, following resources must be Installed/downloaded on the
local system
Java Development Kit(JDK): As the CloudSim simulation toolkit is a class library written in
the Java programming language, therefore, the latest version of Java(JDK) should be installed on
your machine, which can be downloaded from https://www.oracle.com/java/technologies/javase-
jdk16-downloads.html
Eclipse IDE for Java developers: As per your current installed operating system
(Linux/Windows). Before you download to make sure to check if 32-bit or 64-bit version is
applicable to your Computer machine.
https://www.eclipse.org/downloads/packages/release/kepler/sr1/eclipse-ide-java-developers
Download CloudSim source code: To date, various versions of CloudSim are released the latest
version is 5.0, which is based on a container-based engine. Whereas to keep the setup simple
for beginners we will be setting up the most used version i.e. 3.0.3, which can be directly
downloaded by clicking on link https://github.com/Cloudslab/cloudsim/releases
One external requirement of CloudSim i.e. common jar package of math-related functions is
to be downloaded from the Apache website or you may directly download by clicking here.
Unzip Eclipse, CloudSim and Common Math libraries to some common folder.
Step 1: First of all, navigate to the folder where you have unzipped the eclipse folder and open
Eclipse.exe
Step 2: Now within Eclipse window navigate the menu: File -> New ->Java Project, to open the
new project wizard
8
Step 3: Now a detailed new project window will open, here you will provide the project name
and the path of CloudSim project source code, which will be done as follows:
● Unselect the ‘Use default location’ option and then click on ‘Browse’ to open the path
where you have unzipped the CloudSim project and finally click Next to set project
settings
● Once done finally, click ‘Next’ to go to the next step i.e. setting up of project settings
9
● Now open ‘Libraries’ tab and if you do not find commons-math3-3.x.jar (here ‘x’ means
the minor version release of the library which could be 2 or greater) in the list then
10
simply click on ‘Add External Jar’ (commons-math3-3.x.jar will be included in the
project from this step)
● Once you have clicked on ‘Add External JAR’s‘Open the path where you have unzipped
the commons-math binaries and select ‘Commons-math3-3.x.jar’ and click on open.
11
● Ensure external jar that you opened in the previous step is displayed in the list and then
click on ‘Finish’ (your system may take 2-3 minutes to configure the project)
Step 4: Once the project is configured you can open the Project Explorer and start exploring the
CloudSim project. Also, for the first-time eclipse automatically start building the workspace for
newly configured CloudSim project, which may take some time depending on the configuration
of the computer system.
Following is the final screen which you will see after CloudSim is configured.
CloudSim Components
1. Data Centre: Represents Complete hardware. It has set of hosts (physical machine)
12
2. Datacenter Broker: This class represents a broker acting on behalf of a user. It modifies
two mechanisms: a mechanism for submitting VM provisioning requests to data centers
and another one for submitting tasks to VMs. The CloudSim users have to extend this
class for conducting experiments with their own policies.
4. Virtual Machine (Vm): It models a virtual machine. One host can initiate multiple
virtual machines and allocate cores based on predefined processor sharing policies (Space
Shared, Time Shared).
5. Cloudlets: A cloudlet class is also known as a task. ItModels the Cloud-based application
services which are commonly deployed in the data centers. Every application has a pre
assigned instruction length.
6. Cloudlet Scheduler: Determines how the available CPU resources of virtual machine are
divided among Cloudlets.
Source Code
package org.cloudbus.cloudsim.examples;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.LinkedList;
13
import java.util.List;
import org.cloudbus.cloudsim.Cloudlet;
import org.cloudbus.cloudsim.CloudletSchedulerTimeShared;
import org.cloudbus.cloudsim.Datacenter;
import org.cloudbus.cloudsim.DatacenterBroker;
import org.cloudbus.cloudsim.DatacenterCharacteristics;
import org.cloudbus.cloudsim.Host;
import org.cloudbus.cloudsim.Log;
import org.cloudbus.cloudsim.Pe;
import org.cloudbus.cloudsim.Storage;
import org.cloudbus.cloudsim.UtilizationModel;
import org.cloudbus.cloudsim.UtilizationModelFull;
import org.cloudbus.cloudsim.Vm;
import org.cloudbus.cloudsim.VmAllocationPolicySimple;
import org.cloudbus.cloudsim.VmSchedulerTimeShared;
import org.cloudbus.cloudsim.core.CloudSim;
import org.cloudbus.cloudsim.provisioners.BwProvisionerSimple;
import org.cloudbus.cloudsim.provisioners.PeProvisionerSimple;
import org.cloudbus.cloudsim.provisioners.RamProvisionerSimple;
14
@SuppressWarnings("unused")
Log.printLine("Starting CloudSimExample1...");
try {
int vmid = 0;
long bw = 1000;
vmlist.add(vm);
broker.submitVmList(vmlist);
15
cloudletList = new ArrayList<Cloudlet>();
int id = 0;
cloudlet.setUserId(brokerId);
cloudlet.setVmId(vmid);
cloudletList.add(cloudlet);
broker.submitCloudletList(cloudletList);
CloudSim.startSimulation();
CloudSim.stopSimulation();
printCloudletList(newList);
Log.printLine("CloudSimExample1 finished!");
} catch (Exception e) {
e.printStackTrace();
16
List<Pe> peList = new ArrayList<Pe>();
int hostId = 0;
int bw = 10000;
hostList.add(
new Host(
hostId,
new RamProvisionerSimple(ram),
new BwProvisionerSimple(bw),
storage,
peList,
new VmSchedulerTimeShared(peList)
);
17
double costPerStorage = 0;
costPerStorage, costPerBw);
try {
} catch (Exception e) {
e.printStackTrace();
return datacenter;
try {
} catch (Exception e) {
e.printStackTrace();
return null;
18
return broker;
Cloudlet cloudlet;
Log.printLine();
cloudlet = list.get(i);
if (cloudlet.getCloudletStatus() == Cloudlet.SUCCESS) {
Log.print("SUCCESS");
+ indent + indent
19
+ dft.format(cloudlet.getActualCPUTime()) +
indent
+ indent + dft.format(cloudlet.getExecStartTime())
+ indent + indent
+ dft.format(cloudlet.getFinishTime()));
Output:
20
PRACTICAL NO. 4
org.cloudbus.cloudsim;
java.util.HashMap; import
java.util.LinkedList; import
java.util.List; import
java.util.Map;
org.cloudbus.cloudsim.core.CloudSimTags; import
org.cloudbus.cloudsim.core.SimEntity; import
org.cloudbus.cloudsim.core.SimEvent; import
org.cloudbus.cloudsim.lists.CloudletList; import
org.cloudbus.cloudsim.lists.VmList;
21
protected List<? extends
Cloudlet> cloudletList;
protected Map<Integer,
DatacenterCharacteristics> datacenterCharacteristicsList;
super(name);
setVmList(new ArrayList<Vm>());
22
setVmsCreatedList(new ArrayList<Vm>());
setCloudletList(new ArrayList<Cloudlet>());
setCloudletSubmittedList(new
ArrayList<Cloudlet>());
setCloudletReceivedList(new ArrayList<Cloudlet>());
cloudletsSubmitted = 0; setVmsRequested(0);
setVmsAcks(0); setVmsDestroyed(0);
setDatacenterIdsList(new LinkedList<Integer>());
setDatacenterRequestedIdsList(new ArrayList<Integer>());
setDatacenterCharacteristicsList(new HashMap<Integer,
DatacenterCharacteristics>());
getCloudletList().addAll(list);
CloudletList.getById(getCloudletList(), cloudletId).setVmId(vmId);
23
(ev.getTag()) {
case
CloudSimTags.RESOURCE_CHARACTERISTICS_REQUEST:
processResourceCharacteristicsRequest(ev);
break;
CloudSimTags.RESOURCE_CHARACTERISTICS:
processResourceCharacteristics(ev);
break;
CloudSimTags.VM_CREATE_ACK:
processVmCreate(ev);
break;
CloudSimTags.CLOUDLET_RETURN:
processCloudletReturn(ev);
break;
CloudSimTags.END_OF_SIMULATION:
shutdownEntity();
break;
default: processOtherEvent(ev);
break;
24
DatacenterCharacteristics characteristics = (DatacenterCharacteristics) ev.getData();
getDatacenterCharacteristicsList().put(characteristics.getId(), characteristics);
if (getDatacenterCharacteristicsList().size() ==
getDatacenterIdsList().size()) {
setDatacenterRequestedIdsList(new ArrayList<Integer>());
createVmsInDatacenter(getDatacenterIdsList().get(0));
processResourceCharacteristicsRequest(SimEvent ev) {
setDatacenterIdsList(CloudSim.getCloudResourceList()); setDatacenterCharacteristicsList(new
HashMap<Integer,
DatacenterCharacteristics>());
getDatacenterIdsList()) {
sendNow(datacenterId,
CloudSimTags.RESOURCE_CHARACTERISTICS, getId());
25
int vmId = data[1];
getVmsCreatedList().add(VmList.getById(getVmList(), vmId));
vmId).getHost().getId());
+ VmList.getById(getVmsCreatedList(),
} else {
incrementVmsAcks();
submitCloudlets();
} else {
(getVmsRequested() == getVmsAcks()) {
if
(!getDatacenterRequestedIdsList().contains(nextDatacenterId)) {
createVmsInDatacenter(nextDatacenterId);
26
return;
were created
submitCloudlets();
Log.printLine(CloudSim.clock() + ": " + getName() + ": none of the required VMs could
be created. Aborting");
finishExecution();
getCloudletReceivedList().add(cloudlet);
27
clearDatacenters();
yet if
clearDatacenters();
createVmsInDatacenter(0);
return;
int requestedVms = 0;
if (!getVmsToDatacentersMap().containsKey(vm.getId())) {
28
+ " in " + datacenterName); sendNow(datacenterId,
CloudSimTags.VM_CREATE_ACK, vm);
requestedVms++;
getDatacenterRequestedIdsList().add(datacenterId);
setVmsRequested(requestedVms); setVmsAcks(0);
int vmIndex = 0;
tempList.add(cloudlet);
i=0;i<totalCloudlets;i++)
tempList)
{ if(smallestCloudlet.getCloudletLength()>checkCloudlet.getCloudletLength())
smallestCloudlet= checkCloudlet;
29
}
sortList.add(smallestCloudlet);
tempList.remove(smallestCloudlet);
int count=1;
Log.printLine(count+".Cloudler
Id:"+printCloudlet.getCloudletId()+",Cloudlet
Length:"+printCloudlet.getCloudletLength()); count++;}
Vm vm;
if (cloudlet.getVmId() == -1) {
vm = getVmsCreatedList().get(vmIndex);
vm = VmList.getById(getVmsCreatedList(), cloudlet.getVmId());
VM not available");
continue;
30
}
cloudlet.setVmId(vm.getId());
sendNow(getVmsToDatacentersMap().get(vm.getId()),
CloudSimTags.CLOUDLET_SUBMIT, cloudlet);
cloudletsSubmitted++;
getCloudletSubmittedList().add(cloudlet);
getCloudletSubmittedList()) {
getCloudletList().remove(cloudlet);
(Vm vm : getVmsCreatedList()) {
sendNow(getVmsToDatacentersMap().get(vm.getId()),
CloudSimTags.VM_DESTROY, vm);
31
}
getVmsCreatedList().clear();
CloudSimTags.END_OF_SIMULATION);
shutdownEntity() {
}e cloudsim.core.SimEntity#startEntity()
@Override
schedule(getId(), 0,
CloudSimTags.RESOURCE_CHARACTERISTICS_REQUEST);
List<T> getVmList() {
32
extends Cloudlet> List<T> getCloudletList() {
this.cloudletList = cloudletList; }
(List<T>) cloudletSubmittedList;
void
setCloudletSubmittedList(List<T> cloudletSubmittedList) {
this.cloudletSubmittedList = cloudletSubmittedList;
(List<T>) cloudletReceivedList;
void setCloudletReceivedList(List<T>
cloudletReceivedList) {
this.cloudletReceivedList = cloudletReceivedList;
33
@SuppressWarnings("unchecked") public <T extends Vm> List<T> getVmsCreatedList()
= vmsRequested;
{ vmsAcks++;
34
}
vmsToDatacentersMap) { this.vmsToDatacentersMap =
vmsToDatacentersMap;
getDatacenterCharacteristicsList() {
return datacenterCharacteristicsList;
/**
*/
this.datacenterCharacteristicsList = datacenterCharacteristicsList;
/**
35
* @return the datacenter requested ids list
*/
return datacenterRequestedIdsList;
} /**
*/ protected void
setDatacenterRequestedIdsList(List<Integer> datacenterRequestedIdsList)
{ this.datacenterRequestedIdsList
= datacenterRequestedIdsList;
Simulation.java package
examples.org.cloudbus.cloudsim.examples; import
java.text.DecimalFormat; import
import java.util.Random;
36
org.cloudbus.cloudsim.CloudletSchedulerSpaceShared;
import org.cloudbus.cloudsim.CloudletSchedulerTimeShared;
org.cloudbus.cloudsim.DatacenterBroker; import
org.cloudbus.cloudsim.DatacenterCharacteristics; import
org.cloudbus.cloudsim.Host; import
org.cloudbus.cloudsim.UtilizationModel; import
org.cloudbus.cloudsim.UtilizationModelFull; import
org.cloudbus.cloudsim.Vm;
org.cloudbus.cloudsim.VmSchedulerTimeShared; import
org.cloudbus.cloudsim.core.CloudSim; import
org.cloudbus.cloudsim.provisioners.BwProvisionerSimple; import
org.cloudbus.cloudsim.provisioners.PeProvisionerSimple; import
org.cloudbus.cloudsim.provisioners.RamProvisionerSimple; /**
*/
List<Cloudlet> cloudletList;
37
private static List<Vm> vmlist;
//Creates a container to store VMs. This list is passed to the broker later
//VM Parameters
1000; long bw =
1000;
//create VMs
for(int i=0;i<vms;i++){
vm[i] = new Vm(i, userId, mips, pesNumber, ram, bw, size, vmm, new
CloudletSchedulerSpaceShared());
//vm[i] = Vm(i, userId, mips, pesNumber, ram, bw, size, vmm, new
CloudletSchedulerSpaceShared());
list.add(vm[i]);
return list;
38
cloudlets){
outputSize = 300;
int pesNumber = 1;
for(int i=0;i<cloudlets;i++){
cloudlet[i].setUserId(userId); list.add(cloudlet[i]);
return list;
/**
*/
39
public static void main(String[] args) {
Log.printLine("Starting CloudSimExample6...");
try {
//Datacenters are the resource providers in CloudSim. We need at list one of them to run a
CloudSim simulation
//Fourth step: Create VMs and Cloudlets and send them to broker vmlist =
40
cloudletList = createCloudlet(brokerId,40); // creating 40 cloudlets
broker.submitVmList(vmlist);
broker.submitCloudletList(cloudletList);
CloudSim.startSimulation();
CloudSim.stopSimulation();
printCloudletList(newList);
datacenter1.printDebts();
Log.printLine("CloudSimExample6 finished!");
catch (Exception e)
e.printStackTrace();
41
private static Datacenter createDatacenter(String name){
// Machines
// a Machine.
// 3. Create PEs and add these into the list. //for a quad-core machine, a list of
4 PEs is required:
PeProvisionerSimple(mips)));
PeProvisionerSimple(mips))); peList2.add(new
42
Pe(1, new PeProvisionerSimple(mips)));
//4. Create Hosts with its id and list of PEs and add them to the list of machines
int hostId=0;
bw = 10000;
hostList.add(
new Host(
hostId,
new RamProvisionerSimple(ram),
new BwProvisionerSimple(bw),
storage,
peList1,
new VmSchedulerTimeShared(peList1)
hostId++;
hostList.add(
new Host(
43
hostId,
new
RamProvisionerSimple(ram), new
new VmSchedulerTimeShared(peList2)
); // Second machine
//To create a host with a space-shared allocation policy for PEs to VMs:
//hostList.add(
// new Host(
// hostId,
//
new CpuProvisionerSimple(peList1),
// new RamProvisionerSimple(ram),
// new BwProvisionerSimple(bw),
// storage,
// new VmSchedulerSpaceShared(peList1)
// )
// );
//To create a host with a oportunistic space-shared allocation policy for PEs to VMs:
//hostList.add(
// new Host(
44
// hostId,
// new CpuProvisionerSimple(peList1),
// new RamProvisionerSimple(ram),
// new BwProvisionerSimple(bw),
// storage,
// new
VmSchedulerOportunisticSpaceShared(peList1)
// )
//
);
the
45
resource
devices by now
try {
} catch (Exception e) {
e.printStackTrace();
return datacenter;
//We strongly encourage users to develop their own broker policies, to submit vms and cloudlets
according
46
} catch (Exception e) {
e.printStackTrace();
return null;
return broker;
@SuppressWarnings("deprecation")
list.size();
Cloudlet cloudlet;
Log.printLine();
47
if (cloudlet.getCloudletStatus() == Cloudlet.SUCCESS){
Log.print("SUCCESS");
dft.format(cloudlet.getFinishTime())+indent +cloudlet.getUserId());
}}}}
48
PRACTICAL NO. 5
● To use current techniques, skills, and tools necessary for computing practice.
Theory:
Cloud computing security is the set of control-based technologies and policies designed to
adhere to regulatory compliance rules and protect information, data applications and
infrastructure associated with cloud computing use. Because of the cloud's very nature as a
shared resource, identity management, privacy and access control are of particular concern. With
more organizations using cloud computing and associated cloud providers for data operations,
proper security in these and other potentially vulnerable areas have become a priority for
organizations contracting with a cloud computing provider.
Cloud computing security processes should address the security controls the cloud provider will
incorporate to maintain the customer's data security, privacy and compliance with necessary
49
regulations. The processes will also likely include a business continuity and databackup plan in
the case of a cloud security breach.
Physical security
Cloud service providers physically secure the IT hardware (servers, routers, cables etc.) against
unauthorized access, interference, theft, fires, floods etc. and ensure that essential supplies (such
as electricity) are sufficiently robust to minimize the possibility of disruption. This is normally
achieved by serving cloud applications from 'world-class' (i.e. professionally specified, designed,
constructed, managed, monitored and maintained) data centers.
Personnel security
Various information security concerns relating to the IT and other professionals associated with
cloud services are typically handled through pre-, para- and post-employment activities such as
security screening potential recruits, security awareness and training programs, proactive security
monitoring and supervision, disciplinary procedures and contractual obligations embedded in
employment contracts, service level agreements, codes of conduct, policies etc.
Application security
Cloud providers ensure that applications available as a service via the cloud (SaaS) are secure by
specifying, designing, implementing, testing and maintaining appropriate application security
measures in the production environment. Note that - as with any commercial software - the
controls they implement may not necessarily fully mitigate all the risks they have identified, and
that they may not necessarily have identified all the risks that are of concern to customers.
Consequently, customers may also need to assure themselves that cloud applications are
adequately secured for their specific purposes, including their compliance obligations.
Procedure:
1) goto aws.amazon.com
if you are registering first time then select "I am a new user" radio button
50
6) follow the instruction and complete the formalities
Sign in again by entering the user name and valid password ( check "I am returning user and my
password is" radio button)
All AWS project can be viewed by you, but you cant make any changes in it or you cant create
new thing as you are not paying any charges to amazon (for reason refer step:6)
To create the user in a root user follow the steps mentioned below:
(select "Generate and access key for each user" checkbox, it will create a user with a specific
key)
5) click on "Create Access Key", it will create an access key for user.
6) click on "Manage MFA device" it will give you one QR code displayed on the screen
you need to scan that QR code on your mobile phone using barcode scanner (install it in
mobile phone)you also need to install "Google Authenticator" in your mobile phone to generate
the MFA code
51
7) Google authenticator will keep on generating a new MFA code after every 60 seconds
one can not use your AWS account even if it may have your user name and password, because
MFA code is on your MFA device (mobiel phone in this case) and it is getting changed after
every 60 seconds.
After creating the user by following above mentioned steps; you can give certain permissions to
specific user
4) select the needed policy from given list and click on apply.
Result:
52
Step 2 : Click on "My Account". Select "AWS management console" and click on it. Give Email
id in the required field
53
Step 3: Addition of security features
54
Step 4: Sign in to an AWS account
55
Step 5 : Creation of users
56
Step 7: Creating Access key
57
58
Step 8 : Setting permissions to users
59
60
PRACTICAL NO. 6
Identity management (ID management) is the organizational process for ensuring that individuals
have the appropriate access to technology resources. More specifically, this includes the
identifying, authentication and authorization of a person, or persons, to have access to
applications, systems or networks.
This is done by associating user rights and restrictions with established identities. Managed
identities can also refer to software processes that need access to organizational systems. Identity
management can be considered an essential component for security. Identity management
includes authenticating users and determining whether they're allowed access to particular
systems. ID management works hand-in-hand with identity access manageme systems. Identity
management is focused on authentication, while access management is aimed at authorization.
The main goal of identity management is to ensure that only authenticated users are granted
access to the specific applications, systems or IT environments for which they are authorized.
This includes control over user provisioning and the process of onboarding new users such as
employees, partners, clients and other stakeholders. Identity management also includes control
over the process of authorizing system or network permissions for existing users and the
offboarding of users who are no longer authorized to access organization systems.
OwnCloud is open source file sync and share software for everyone from individuals operating
the free ownCloud Server edition, to large enterprises and service providers operating the
ownCloud Enterprise Subscription. ownCloud provides a safe, secure, and compliant file
synchronization and sharing solution on servers that you control. You can share one or more files
and folders on your computer, and synchronize them with your ownCloud server.
61
Step 2 : By default, the ownCloud Web interface opens to your Files page. You can add, remove,
and share files, and make changes based on the access privileges set by you (if you are
administering the server) or by your server administrator. You can access your ownCloud files
with the ownCloud web interface and create, preview, edit, delete, share, and re-share files. Your
ownCloud administrator has the option to disable these features, so if any of them are missing on
your system ask your server administrator.
62
Step 3: Apps Selection Menu: Located in the upper left corner, click the arrow to open a
dropdown menu to navigate to your various available apps. Apps Information field: Located in
the left sidebar, this provides filters and tasks associated with your selected app. Application
View: The main central field in the ownCloud user interface. This field displays the contents or
user features of your selected app.
63
Step 4: Share the file or folder with a group or other users, and create public shares with
hyperlinks. You can also see who you have shared with already, and revoke shares by clicking
the trash can icon. If username auto-completion is enabled, when you start typing the user or
group name ownCloud will automatically complete it for you. If your administrator has enabled
email notifications, you can send an email notification of the new share from the sharing screen.
64
65
Step 5: Five Share permissions are :
Can share; allows the users you share with to re-share.
Can edit; allows the users you share with to edit your shared files, and to collaborate using the
Documents app.
Create; allows the users you share with to create new files and add them to the share.
Change; allows uploading a new version of a shared file and replacing it.
Delete; allows the users you share with to delete shared files.
66
PRACTICAL NO. 7
Cloud computing is a term referred to storing and accessing data over the internet. It doesn't store
any data on the hard disk of your personal computer. In cloud computing, you can access data
from a remote server.
Amazon web service is a platform that offers flexible, reliable, scalable, easy-to-use and
costeffective cloud computing solutions.
AWS is a comprehensive, easy to use computing platform offered Amazon. The platform is
developed with a combination of infrastructure as a service (IaaS), platform as a service (PaaS)
and packaged software as a service (SaaS) offerings History of AWS
• 2002- AWS services launched
• 2006- Launched its cloud products
• 2012- Holds first customer event
• 2015- Reveals revenues achieved of $4.6 billion
• 2016- Surpassed $10 billon revenue target
• 2016- Release snowball and snowmobile
• 2019- Offers nearly 100 cloud services
Important AWS Services
Amazon Web Services offers a wide range of different business purpose global cloudbased
products. The products include storage, databases, analytics, networking, mobile, development
tools, enterprise applications, with a pay-as-you-go pricing model. Here, are essential AWS
services. AWS Compute Services
Here, are Cloud Compute Services offered by Amazon:
1. EC2(Elastic Compute Cloud) - EC2 is a virtual machine in the cloud on which you have OS
level control. You can run this cloud server whenever you want.
2. LightSail -This cloud computing tool automatically deploys and manages the computer,
storage, and networking capabilities required to run your applications.
3. Elastic Beanstalk — The tool offers automated deployment and provisioning of resources like
a highly scalable production website.
67
4. EKS (Elastic Container Service for Kubernetes) — The tool allows you to Kubernetes on
Amazon cloud environment without installation.
5. AWS Lambda — This AWS service allows you to run functions in the cloud. The tool is a big
cost saver for you as you to pay only when your functions execute.
Storage
1. Amazon Glacier- It is an extremely low-cost storage service. It offers secure and fast storage
for data archiving and backup.
2. Amazon Elastic Block Store (EBS)- It provides block-level storage to use with Amazon EC2
instances. Amazon Elastic Block Store volumes are networkattached and remain independent
from the life of an instance.
3. AWS Storage Gateway- This AWS service is connecting on-premises software applications
with cloud-based storage. It offers secure integration between the company's on-premises and
AWS's storage infrastructure.
Security Services
1. IAM (Identity and Access Management) — IAM is a secure cloud security service which
helps you to manage users, assign policies, form groups to manage multiple users.
2. Inspector — It is an agent that you can install on your virtual machines, which reports any
security vulnerabilities.
3. Certificate Manager — The service offers free SSL certificates for your domains that are
managed by Route53.
4. WAF (Web Application Firewall) — WAF security service offers applicationlevel protection
and allows you to block SQL injection and helps you to block cross-site scripting attacks.
5. Cloud Directory — This service allows you to create flexible, cloud-native directories for
managing hierarchies of data along multiple dimensions.
6. KMS (Key Management Service) — It is a managed service. This security service helps you to
create and control the encryption keys which allows you to encrypt your data.
7. Organizations — You can create groups of AWS accounts using this service to manages
security and automation settings.
8. Shield — Shield is managed DDoS (Distributed Denial of Service protection service). It offers
safeguards against web applications running on AWS.
9. Macie — It offers a data visibility security service which helps classify and protect your
sensitive critical content.
10. GuardDuty —It offers threat detection to protect your AWS accounts and workloads.
68
Database Services
1. Amazon RDS- This Database AWS service is easy to set up, operate, and scale a relational
database in the cloud.
2. Amazon DynamoDB- It is a fast, fully managed NoSQL database service. It is a simple
service which allow cost-effective storage and retrieval of data. It also allows you to serve any
level of request traffic.
3. Amazon ElastiCache- It is a web service which makes it easy to deploy, operate, and scale an
in-memory cache in the cloud.
4. Neptune- It is a fast, reliable and scalable graph database service.
5. Amazon RedShift - It is Amazon's data warehousing solution which you can use to perform
complex OLAP queries.
Developer Tools
1. CodeStar — Codestar is a cloud-based service for creating, managing, and working with
various software development projects on AWS.
2. CodeCommit — It is AWS's version control service which allows you to store your code and
other assets privately in the cloud.
3. CodeBuild — This Amazon developer service help you to automates the process of building
and compiling your code.
4. CodeDeploy — It is a way of deploying your code in EC2 instances automatically.
5. CodePipeline — It helps you create a deployment pipeline like testing, building, testing,
authentication, deployment on development and production environments.
6. Cloud9 —It is an Integrated Development Environment for writing, running, and debugging
code in the cloud.
Mobile Services
69
1. Mobile Hub — Allows you to add, configure and design features for mobile apps.
2. Cognito — Allows users to signup using his or her social identity.
3. Device Farm — Device farm helps you to improve the quality of apps by quickly testing
hundreds of mobile devices.
70