Module Learning Outcomes
1. DEMONSTRATE A CRITICAL UNDERSTANDING OF WRITING CODE FOR USE WITHIN CLOUD COMPUTING WITHIN COMMERCIAL CONTEXTS.
Knowledge and Understanding, Analysis
2. CRITICALLY DISCUSS AND DEMONSTRATE KNOWLEDGE OF THE COMPONENTS OF A CLOUD INFRASTRUCTURE IN RELATION TO FAULT TOLERANCE AND SECURITY.
Analysis, Communication
3. DESIGN AND IMPLEMENT CODE FOR A DEFINED PROBLEM OPTIMISED FOR A COMMERCIAL CLOUD INFRASTRUCTURE.
Problem Solving, Application
4. REFLECT UPON THE PROCESS FOR SOFTWARE DEVELOPMENT WHICH IS OPTIMISED FOR USE IN THE CLOUD.
Reflection, Communication
Module Addditional Assessment Details
Assessment 1 (Learning Outcome 1 and 2)
This will be an individual assessment where the student will discuss via a presentation the consideration of developing in a cloud environment and contrast this with a more traditional method of development.
Assessment 2 (Learning Outcome 3 and 4)
This assessment will look at writing a piece of code which is intended to solve a particular problem for a commercial environment. As a part of this the student will also be looking at discussing in the written report components which are used and the benefit and consideration of using these.
Module Indicative Content
¿ This module will examine the following topics:
o Understanding of cloud based software development
o Microservice development as opposed to monolithic development
o Design techniques which can be used in the cloud
o Evaluating services which are provided and how this link into applications
o Consideration of hybrid applications and writing code
o Understanding portable code which can move between cloud providers
o Understanding container based programming
o Developing applications considering a fault tolerant infrastructure
o Understanding the consideration of moving software between cloud providers
o Understanding security considerations for commercial applications running in the cloud
o Understanding the RESTful API and protection for a public API in a public infrastructure
o Understanding Infrastructure as Code (IAC) and automation techniques within code
o Cloud monitoring techniques for running applications
o Serverless programming
Module Learning Strategies
52 hours of lab-based sessions, which will comprise delivery of theoretical material, tutor-led practical walkthroughs and self-directed exercises. You will also be encouraged to develop your intellectual, communicative and problem-solving skills throughout the module.
Module Texts
Aroraa, (2017), Building Microservices with .NET Core 2.0: Transitioning monolithic architectures using microservices with .NET Core 2.0 using C# 7.0, 2nd Edition, Packt Publishing, ISBN 1788393333
Rahea, (2018), Effective DevOps with AWS: Implement continuous delivery and integration in the AWS environment, 2nd edition, Packt Publishing, ISBN 1789539978
Gilbert (2018), Cloud Native Development Patterns and Best Practices: Practical architectural patterns for building modern, distributed cloud-native systems, Packt Publishing, ISBN 1788473922
Mueller, (2017), AWS for Developers For Dummies, John Wiley & Sons, ISBN 1119371848
Module Resources
Access to a suitable development environment on a PC
Access to Blackboard
Access to a virtual development environment
Web Descriptor
This module will examine cloud based software development, exploring design techniques, evaluating services, and understanding portable code which can move between cloud providers.