Skip to main content Skip to navigation

WM9B6-15 Cloud Native Computing

Department
WMG
Level
Taught Postgraduate Level
Module leader
Mark Bonnett
Credit value
15
Module duration
2 weeks
Assessment
Multiple
Study locations
  • University of Warwick main campus, Coventry Primary
  • Distance or Online Delivery
Introductory description

"The way that software is developed, consumed and maintained has fundamentally changed in recent years. The mass availability of cloud computing has led to a reimagining of the software development lifecycle (SLDC) and inspired new patterns and approaches to managing portfolios of applications.

Spearheaded in organisations such as Google, eBay and Amazon, cloud native principles, particularly containerisation and microservices, are becoming widely used across a whole host of organisations and industries from media (e.g. Netflix ) through to finance (e.g. Goldman Sachs ). As such, the module covers an important need in the overall eBusiness Management curricula for students on a more technical pathway to gain experience in these key new technologies and approaches that are in high demand among employers.

Module aims

This module will explore these changes through a mixture of lectures, seminars, case studies, and, in particular, hands-on lab sessions. The key themes will include:

  • The 12-factor app methodology (and its extensions)
  • The agile methodology, DevOps and DataOps
  • Version control systems (with GitHub)
  • Service orientated architecture and microservices
  • Infrastructure as Code and Configuration Management
  • Containerisation (with Docker)
  • Container Orchestration (with Kubernetes)
  • Continuous Integration / Continuous Deployment (with Jenkins)
  • Testing, blue/green deployment, and canary deployments
  • Platforms-as-a-Service
  • Cloud migration assessment

The module will conclude with a hands-on, capstone project completed in teams. The project brings together all of these technologies to modify an application to meet the principles and standards of cloud-native computing."

Outline syllabus

This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.

"What is Cloud Native Computing? a. Cloud computing b. The 12-factor app c. Service orientated architecture and microservices

Cloud Native Computing in Practice a. The five R’s methodology for cloud migration b. Cloud migration assessment c. Agile, DevOps and DataOps d. Infrastructure as Code and Configuration Management e. Microsoft Azure labs

Containerisation and Container Orchestration a. Virtual machines and containers b. Docker labs c. Container Orchestration d. Kubernetes labs

CI/CD and IT operations a. Continuous Integration / Continuous Deployment b. Jenkins labs c. Platforms-as-a-Service d. Cloud Foundry

Capstone Project a. Application assessment b. Modernisation c. Containerisation d. Building a CI/CD pipeline e. Scaling the application

A more detailed explanation of these topics is below.

An overview of what cloud computing is, and how it presents challenges and opportunities for application development, deployment and maintenance. Understanding the key design principles of the 12-factor app methodology and related concepts (particularly microservices).

Practical experience of application assessment for cloud readiness factors and for migration pathways (the 5 R’s methodology). Examination of the agile methodology and DevOps, and the various opportunities and challenges associated. Introduction to cloud provisioning via Microsoft Azure, and discussion of infrastructure as code and configuration management solutions.

An evaluation of the development from traditional server-based computing, through to virtual machines and then containerisation. Practical workshops using Docker for containerisation of applications. Container orchestration for managing multiple applications and containers at enterprise-scale. Practical workshops using Kubernetes to manage container workflows.

The evolution from application release management, through to continuous integration and continuous deployment. Exploring the importance of testing in this process, and systems of management including green/blue deployments and canary deployments. Practical labs building a Jenkins CI/CD pipeline. An evaluation of platforms-as-a-service and cloud foundry, and exploration of where such systems can be deployed to further automate containers and cloud operations.

A capstone project that will bring these aspects together in a realistic application migration workload. Participants will work in teams to modernise an application and release it to the cloud."

Learning outcomes

By the end of the module, students should be able to:

  • Demonstrate a comprehensive understanding of the key concepts of cloud native computing
  • Critically evaluate complex applications and services in respect to current professional standards
  • Critically evaluate software development lifecycle practices, and design conceptual and practical workflows
  • Demonstrate a sound conceptual understanding of advanced virtualisation techniques (such as containerisation), and an ability to practically implement these architectures
  • Critically evaluate systematic and operational risks associated with cloud native practices, and the use of autonomous systems to mitigate against them.
Indicative reading list

View reading list on Talis Aspire

International

The topic is of high demand internationally

Subject specific skills

Cloud architectures, DevOps, CI/CD, Docker, Kubernetes, Linux, Infrastructure as Code

Transferable skills

Programming, IT operations, agile, collaboration, IT architecture, teamwork

Study time

Type Required
Lectures 12 sessions of 1 hour 30 minutes (12%)
Seminars 10 sessions of 1 hour 30 minutes (10%)
Supervised practical classes 8 sessions of 1 hour 30 minutes (8%)
Assessment 105 hours (70%)
Total 150 hours
Private study description

No private study requirements defined for this module.

Costs

No further costs have been identified for this module.

You do not need to pass all assessment components to pass the module.

Assessment group A
Weighting Study time
Cloud native architecture development 20% 15 hours

A presentation of a proposed architecture for an example client. This includes both conceptual work and practical

Post Module Assessment 80% 90 hours

An essay on a topic related to cloud native computing

Assessment group R
Weighting Study time
Post Module Assessment 100%

An essay on a topic related to cloud native computing

Feedback on assessment

Verbal feedback for in-module element. Written feedback and annotated scripts for post-module element

Courses

This module is Optional for:

  • Year 1 of TWMS-H1S4 Postgraduate Taught e-Business Management (Full-time)