DEVOPS

SHE Level 3
SCQF Credit Points 20.00
ECTS Credit Points 10.00
Module Code M3I325687
Module Leader Mark Jenkins
School School of Computing, Engineering and Built Environment
Subject Computing
Trimesters
  • A (September start)
  • B (January start)

Pre-Requisite Knowledge

Web Application Development 1, Programming 2 or equivalent

Summary of Content

This module is concerned with the software engineering Development and Operations (DevOps) approach used in the creation of software systems. The module covers the rationale for DevOps and the key concepts of Development, Configuration Management, Continuous Integration/Delivery (CI/CD) and Operations. In addition, the configuration and use of a DevOps CD pipeline is covered.

Syllabus

Development and Operations (DevOps) Overview History of DevOps: Lifecycle Approaches, DevOps Origins in Agile, Benefits DevOps Principles: Full Lifecycle Involvement, Systems Thinking, Definition of Done, Risk Reduction, Frequent Small Releases, Kaizen Cultural Challenges: Dev and Ops Conflict, Team Composition and Distribution, Organisational Structure, Automation Confidence Configuration Management Version Control: Principles, Software Tools, Commit Everything, Mainline Work Managing Configurations: App Configuration, Feature Toggles, Third Party Components Continuous Integration Principles and Practices: Overview, Frequent Commits, Automated Testing, Prioritising Broken Build Fixing, Continuous Feedback Quality Assurance: Development Standards, Static Analysis, Test Automation, Types of Tests, Managing Defects Continuous Delivery Principles and Practices: Overview, Repeatable Software Releasing, Automation, Use of Version Control, Pain Points, All Responsible for Release, Continuous Improvement, Building Binaries, Identical Deployment Everywhere, Smoke Tests. Deployment Pipelines: Commit and Automated Acceptance Stages, Manual and Non-functional Testing, Release Rollback, Pushing to Production, Orchestration Operations Infrastructure Management: Cloud, Virtualisation, Containers, Infrastructure as Code, Scaling, Monitoring, Continuity Planning Database Management: Test Data, Managing Change, Reverting Data Changes DevOps CD Pipeline Implementation: Planning, Building, Monitoring, Maintenance

Learning Outcomes

On successful completion of this module, the student should be able to:1 - Explain the rationale for Development and Operations (DevOps) and its underlying principles and challenges2 - Demonstrate a detailed understanding of Development, Configuration Management, Continuous Integration/Delivery (CI/CD) and Operations including currently used supporting software tools3 - Develop and configure a DevOps CD pipeline and demonstrate its use in the release of a software component.

Teaching / Learning Strategy

The course material is introduced through lectures which may take the form of online presentations or traditional face-to-face classes These will cover the principles of a range of programming paradigms and will illustrate the relevance of the programming and interaction techniques presented to real-world applications while introducing a range of professional software development processes and practices. Students will engage with practical programming assignments and online tutorial material which may include instructor and peer-created content, and there will be seminars which will allow students to discuss key concepts and issues with peers and with instructors. Students will be expected to undertake a significant level of independent study, including practical activities, and links will be provided to appropriate external material such as podcasts, MOOCs, videos and literature to supplement the module content. Students will receive feedback on their performance throughout the module through undertaking the practical assignments and tutorial exercises and participating in the seminars.

Indicative Reading

-567 Books and articles: Davis, J., Daniels, K (2016) Effective DevOps, O'Reilly, ISBN: 1491926309 Humble, J., Farley D (2011) Continuous Delivery, Addison-Wesley, ISBN: 0321601912 -567 Kim, G., Behr, K (2018) The Phoenix Project, 3 rd Edition, Trade Select, ISBN: 1942788290 Kim, G., Debois, P (2016) The DevOps Handbook, Trade Select, ISBN: 1942788002 Nygard, M (2018) Release It!, 2 nd Edition, The Pragmatic Programmers, ISBN: 1680502395 Allspaw, J., Robbins, J (2010) Web Operations, O'Reilly ISBN: 1449377440 Poppendieck, M., Poppendieck, T (2003) Lean Software Development: An Agile Toolkit, Addison-Wesley, ISBN: 0321150783 Gruver, G., Mouser, T (2015) Leading the Transformation: Applying Agile and DevOps Principles at Scale, Clearway Phase 0, ISBN: 1942788010 Behr, K., Kim, G., Spafford, G (2005) The Visible Ops Handbook, Information Technology Process Institute, ISBN: 0975568612

Transferrable Skills

By the end of this module students will have gained competence in the following key areas: Specialist knowledge and application Critical thinking and problem solving Critical analysis Communication skills, written, oral and listening Numeracy Computer literacy Self confidence, self discipline & self reliance (independent working) Awareness of strengths and weaknesses Creativity, innovation & independent thinking Ability to prioritise tasks and time management Interpersonal skills, team working and leadership

Module Structure

Activity Total Hours
Assessment (FT) 20.00
Tutorials (FT) 12.00
Practicals (FT) 24.00
Lectures (FT) 24.00
Independent Learning (FT) 120.00

Assessment Methods

Component Duration Weighting Threshold Description
Course Work 01 n/a 50.00 35% Practically based DevOps assignment
Course Work 02 n/a 50.00 35% Practically based DevOps assignment