WM9B6-15 Cloud Native Computing
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.
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 (8%) |
Seminars | 10 sessions of 1 hour (7%) |
Supervised practical classes | 8 sessions of 1 hour (5%) |
Online learning (independent) | 15 sessions of 1 hour (10%) |
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 A1
Weighting | Study time | Eligible for self-certification | |
---|---|---|---|
Cloud native architecture development | 20% | 15 hours | No |
A presentation of a proposed architecture for an example client. This includes both conceptual work and practical |
|||
Post Module Assessment | 80% | 90 hours | Yes (extension) |
An essay on a topic related to cloud native computing |
Assessment group R1
Weighting | Study time | Eligible for self-certification | |
---|---|---|---|
Post Module Assessment | 100% | Yes (extension) | |
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-H1SH Postgraduate Taught Cyber Security Management (Full-time)
- Year 1 of TWMS-H1S4 Postgraduate Taught e-Business Management (Full-time)