CSVC301: Cloud Based Services
15 credits
This module introduces the cloud model and the types of resources (processing power, databases, general storage and networking) that can be provided by a typical cloud infrastructure. Different levels of cloud model are investigated, such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS), and contrasted with the web services model.
The module briefly reviews consumer cloud offerings, such as Dropbox and Google Drive for storing assets, before moving on to more sophisticated commercial offerings of cloud infrastructure, such as OpenStack and Amazon Web Services (AWS). Virtualisation and the use of hypervisors are outlined with a focus on the common facilities of the dominant mainstream platforms, including monitoring resource usage, load balancing and automatic scaling of resources to meet demand.
As well as technical aspects, the module considers the business case for cloud in different contexts (start-up, corporate, projects, collaborations) and different approaches to distributing cloud infrastructure (private, public and collaborative) as well as considering security and legal implications for each approach.
A range of cloud operations are demonstrated and included in a set of practical activities to provide hands-on experiences. These activities include:
-
using a cloud dashboard to create resource constraint descriptions in which to run virtual machines and other components
-
creating security rules to control access to cloud resources
-
launching, accessing, monitoring and destroying cloud resources
-
scripting and testing an auto-scaling scenario so that an application which comes under a high load is automatically replicated with the load shared between the existing and new resources
-
use of a programmatic REST API to perform cloud operations.