云计算代写|COMP5850M Coursework 2

这是一个英国的云计算无服务器架构研究代写,需要生成报告

This exercise aims to give you some practical experience of using serverless architectures. It will also give you the
opportunity to research on the cloud computing domain of Function as a Service (FaaS), technologies and performance.

Serverless computing is revolutionising cloud application development as it offers the ability to create modular, highly
scalable, fault-tolerant applications, with minimal operational management. In order to contribute to its widespread
adoption of serverless platforms, the design and performance of language runtimes that are available in FaaS serverless
platforms is key. This coursework aims to investigate the performance impact of such language runtimes.

The following deliverables are expected:

(a) a research report on the domain of investigation.

(b) material developed as part of the experiment design (code, scripts).

You should review the lecture notes on this topic carefully before you start work.

Useful resources are available on COMP5850M module area on Minerva: https://minerva.leeds.ac.uk

(a) Research into the performance of serverless architectures (commercial) in order to provide insight into their
capabilities and increase awareness of their potential. The coursework specifically considers Microsoft Azure
Function App and focuses on language runtimes available on Azure;

(b) Design a set of experiments to assess the capabilities and performance of the serverless architecture. Investigate
the performance impact of two language runtimes of your choice. You can choose among Python, Java, Node.js
and .NET. Propose a cloud-based technical solution for benchmarking and analysis of the serverless architecture
using a set of test functions and demonstrate its performance in terms of effectiveness and efficiency.

(a) Report on Azure serverless architecture;

(b) Consider two functions of your choice, e.g. sum of an array of numbers, matrix multiplication, file read
operation, file write operation, HTTP request …

(c) Consider two programming languages for implementation of your function;

(d) Evaluate the performance of the language runtimes in terms of scalability, e.g. by increasing the number of
function invocations;

(e) Consider a benchmark for performance comparison, e.g. local execution of your function on bare metal.