Question 1
a) A start-up company, which has developed an interactive
Electric Vehicle (EV) Charging station search mobile application,
wants you to provide advice on a suitable cloud deployment
model. The company anticipates that its users will be distributed
across the City of Newcastle upon Tyne. The company currently
owns no existing hardware infrastructure. The company needs
answers to the following questions:
i) The run-time performance (e.g., application response time,
hosting cost) trade-off based on the type of cloud deployment
model the company opts for from the following available options:
private, public and hybrid. [10 Marks]
ii) Once a particular type of cloud deployment model is selected,
the company needs to decide a type of virtualisation technology
which can be used to host the backend (server-side) of the
mobile application. Out of the hypervisor-based and containerbased virtualisation technologies, which will be the most suitable
in terms of ease of application orchestration life cycle
management and why. [10 Marks]
b) An application has an average load of 20 servers, Peak load
is 30, lowest load is 10, public cloud cost is £0.05 per hour per
server, and private datacentre cost is £0.04 per hour per server.
Using the above information, calculate the cost per hour of:
i) Running the application in a public cloud and private
datacentre. [8 Marks]
ii) Cloudbursting: running the lowest load in a private datacentre
and the rest in a public cloud [4 Marks]
Comment on the result of cloudbursting to show whether it is
suitable for the given application or not. (Use percentage
increment or decrement to analyse the result.) [8 marks]
[CSC8110]
Question 2
a) Explain why performance monitoring in a hybrid cloud
deployment is more challenging than the public cloud
deployment model. [6 marks]
b) Explain how cloud network virtualisation paradigm (e.g.,
software-defined networking) differs from cloud server
virtualisation paradigm (e.g., hypervisors, containers). [4 marks]
c) You are given a task of building a web application cluster
based on the virtual machine-based cloud datacentre
architecture. The web application cluster includes three main
software components (see Figure 1): “Web server”, “App server”
and “Database server” as shown in Figure 1. Given this context,
please answer the following questions related to the selection
and deployment of the web application cluster.
Figure 1: A web application cluster hosted on virtualmachine based cloud datacentre
i) A types of image alternative are available for “Web server”, B
types of image alternative are available for “App server”, and C
types of image alternative are available for “Database server”.
Given the above context, discuss and analyse the complexity
“M” WEB SERVER IMAGE TYPES
“P” APP SERVER IMAGE TYPES
“L” DATABASE SERVER IMAGE TYPES
T3.MEDIUM T3.LARGE M5.LARGE M5.XLARGE C5.LARGE
“N” Virtual Machine (VM) Instance Types
Web Server
Throughput – 300 Requests/Sec
App Server
Throughput – 800 Requests/Sec
Database Server
Throughput – 1000 Requests/Sec
Virtual Machine Image Repository
[CSC8110]
of a Brute Force (fully exhaustive) image selection algorithm
(Step 1, Step 2, and Step 3 in Figure 1), which evaluates every
image alternative available for a software component (i.e. Web
server, App server, and Database server) to arrive at a solution
that is globally optimal while meeting the numerical (e.g.,
licencing price) and non-numerical (e.g., virtualisation format,
operating system version, software feature) selection
constraints. [4 marks]
ii) Explain how the MapReduce programming paradigm can be
applied to speed up the Brute Force image selection algorithm.
[6 marks]
Question 3
Figure 2 shows a container-based (Docker) web application
cluster. In this cluster, there is a need to route traffic to multiple
microservices or load-balance across multiple ports on the same
physical host. Based on the above context, answer the following
questions:
Figure 2: Docker-based web application cluster
i) Which type of load-balancer would you deploy and why?
[4 marks]
[CSC8110]
Page 5 of 6
ii) What approaches you may employ to pinpoint the root
causes for slow application response time and/or
application throughput? [4 marks]
iii) Before deploying the microservices, you need to
understand and analyse their run-time performance.
Describe a methodology that could be applied to do so.
[6 marks]
iv) Given that microservices need to communicate with
other remote microservices hosted in a remote cloud
datacentre, please discuss the approach that could be
used to create a wide-area networking of distributed
microservices. The approach should be supported by the
Docker containerisation technology. [6 marks]
Question 4
A supermarket (e.g. PC World) logs each purchase made by
customers who are using their website. Each entry is a tuple
consisting of the customer’s unique identifier, their Post Code,
and the product they have purchased. The company wishes to
use Apache Hadoop (MapReduce programming model). Given
this context answer the following questions:
a) Sketch the pseudo code for answering the following analytical
queries:
i) How many times has each product been purchased?
[6 Marks]
ii) How many customers are there from a given post-code?
[6 Marks]
b) Explain the workflow of analytical query execution using a
sequence diagram. [8 Marks]
END