DEVOPS

SHE Level 3
SCQF Credit Points 20.00
ECTS Credit Points 10.00
Module Code M3I325896
Module Leader Mark Jenkins
School School of Computing, Engineering and Built Environment
Subject Computing
Trimester
  • A (September 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. The percentage of Work Based Learning for this module, as represented by the proportion of the Activity Types which take place off campus, is 79%. The percentage of Work Based Assessment for this module is 10%.

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

Work based Education aims to maximise the direct and digitally mediated contact time with students by practicing teaching and learning strategies that use authentic work based scenarios and encourage action learning, enquiry based learning, problem based learning and peer learning. All these approaches aim to directly involve the students in the process of learning and to encourage sharing of learning between students. The module team will determine the level and accuracy of knowledge acquisition at key points in the delivery, inputting when necessary either directly or with the support of external experts who will add to the authenticity, the credibility and application of the education and learning in the workplace. The course material is introduced through lectures in the form of online presentations. These will cover the principles of DevOps and will illustrate the relevance of DevOps to real-world application development. Students will engage with practical assignments and online tutorial material which may include instructor and peer-created content, and there will be seminars on campus 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 be encouraged to reflect on the theoretical learning within the work place and the application of the newly learned concepts to the work environment and this will form part of the module assessment. 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 Develop an understanding of the practical considerations that constrain the application of theory in the workplace. Numeracy

Module Structure

Activity Total Hours
Tutorials (FT) 24.00
Independent Learning (FT) 110.00
Practicals (FT) 24.00
Lectures (FT) 24.00
Assessment (FT) 18.00

Assessment Methods

Component Duration Weighting Threshold Description
Coursework 1 n/a 50.00 35% Practically based DevOps assignment
Coursework 2 n/a 50.00 35% Practically based DevOps assignment