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.
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
- 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.
Upon successful completion participants will 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.
- 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
- Containerisation and Container Orchestration
a. Virtual machines and containers
b. Docker labs
c. Container Orchestration
- CI/CD and IT operations
a. Continuous Integration / Continuous Deployment
b. Jenkins labs
d. Cloud Foundry
- Capstone Project
a. Application assessment
d. Building a CI/CD pipeline
e. Scaling the application
- Cloud native architecture development presentation (30%)
- 4,000 words Post Module Assessment (70%)
2 weeks including 18 hours of lectures, 15 hours of seminars and 12 hours of supervised practical classes
Please note: the details of this module are correct for the current year of study and may be subject to change for future years.