#REQUEST.pageInfo.pagedescription#

Site Navigation

COMP9053 - Scripting for Sys Automation

banner1
Title:Scripting for Sys Automation
Long Title:Scripting for Sys Automation
Module Code:COMP9053
 
Credits: 5
NFQ Level:Expert
Field of Study: Computer Science
Valid From: Semester 1 - 2017/18 ( September 2017 )
Module Delivered in 4 programme(s)
Module Coordinator: TIM HORGAN
Module Author: Donna OShea
Module Description: The continued push towards automating not just the software development process but also infrastructure management has greatly increased the efficiency of modern software organizations. It has also led to some of the responsibility for such automation shifting from system administrators to developers, empowered by many new 'DevOps' tools. This module will address the scripting skills that system administrators, developers and testers need to automate tasks in development, operations and infrastructure management.
Learning Outcomes
On successful completion of this module the learner will be able to:
LO1 Critically assess the purpose, benefits and approaches of automation as part of an overall infrastructure management solution.
LO2 Automate repetitive system administration tasks using an appropriate scripting language.
LO3 Design and develop complex scripts to automate the development and operations for an organisation.
LO4 Automate the provisioning and management of virtual machines in a cloud infrastructure.
LO5 Apply threading to achieve scripting tasks utilising a muti-core or multi-process system.
Pre-requisite learning
Module Recommendations
This is prior learning (or a practical skill) that is strongly recommended before enrolment in this module. You may enrol in this module if you have not acquired the recommended learning but you will have considerable difficulty in passing (i.e. achieving the learning outcomes of) the module. While the prior learning is expressed as named CIT module(s) it also allows for learning (in another module or modules) which is equivalent to the learning specified in the named module(s).
No recommendations listed
Incompatible Modules
These are modules which have learning outcomes that are too similar to the learning outcomes of this module. You may not earn additional credit for the same learning and therefore you may not enrol in this module if you have successfully completed any modules in the incompatible list.
No incompatible modules listed
Co-requisite Modules
No Co-requisite modules listed
Requirements
This is prior learning (or a practical skill) that is mandatory before enrolment in this module is allowed. You may not enrol on this module if you have not acquired the learning specified in this section.
No requirements listed
Co-requisites
No Co Requisites listed
 

Module Content & Assessment

Indicative Content
Introduction to Automation
Automation – purpose and benefits. Cloud Automation. Cloud orchestration. Configuration management and tools. Tool selection and considerations. Deployment automation using code repositories. Cloud providers and different orchestration solutions. Automating post deployment operations. DevOps versus NoOps. DevOps – automation, release management, continuous integration.
Python Scripting
Data structures, looping and conditionals, formatted printing, regular expressions, environment variables, functions, modules, command line arguments, file I/O, error handling, reading config files, logging, parsing and formatting dates and times.
Automating System Administration
Automating repetitive tasks e.g. monitoring system state such as CPU load and the file system, log collection and processing, maintenance tasks such as backups, deploying and configuring third-party software. Integrating with existing programs. Developing and deploying distributed tools.
Infrastructure automation
Automated configuration and management of infrastructure (including virtual machines and containers). Viewing and manipulating Infrastructure as Code (IaC) using tools such as ssh, fabric, salt, chef, puppet, ansible, vagrant and docker. Version control - backup and reconfiguration. Deployment to environment.
Threading
Multithreading and forking. Parallel processing. Using threads to achieve high speed solutions where multiprocessing is available.
Assessment Breakdown%
Course Work100.00%
Course Work
Assessment Type Assessment Description Outcome addressed % of total Assessment Date
Project Students will develop and submit assigned scripts which will demonstrate their command of the language and its libraries. 2 40.0 Week 4
Practical/Skills Evaluation Students will design and develop scripts and associated configuration files which will automate the provisioning and management of virtual infrastructure. 1,4 30.0 Sem End
Project The student for example, will design and develop scripts that will automate tasks such as the deployment and management of containers e.g. Docker and associated microservices deployed in a Cloud environment, or the parsing of a large PCAP or log files looking for security related events. Where applicable, the student will use threading to achieve efficiency. 1,3,4,5 30.0 Sem End
No End of Module Formal Examination
Reassessment Requirement
Coursework Only
This module is reassessed solely on the basis of re-submitted coursework. There is no repeat written examination.

The institute reserves the right to alter the nature and timings of assessment

 

Module Workload

Workload: Full Time
Workload Type Workload Description Hours Frequency Average Weekly Learner Workload
Lecture Lecture delivering theory underpinning learning outcomes. 2.0 Every Week 2.00
Lab Lab to support learning outcomes. 2.0 Every Week 2.00
Independent Learning Independent learning. 3.0 Every Week 3.00
Total Hours 7.00
Total Weekly Learner Workload 7.00
Total Weekly Contact Hours 4.00
Workload: Part Time
Workload Type Workload Description Hours Frequency Average Weekly Learner Workload
Lecture Lecture delivering theory underpinning learning outcomes. 2.0 Every Week 2.00
Lecture Lab to support learning outcomes. 2.0 Every Week 2.00
Directed Learning Independent Study. 3.0 Every Week 3.00
Total Hours 7.00
Total Weekly Learner Workload 7.00
Total Weekly Contact Hours 4.00
 

Module Resources

Recommended Book Resources
  • Mark Lutz 2013, Learning Python, O'Reilly Media [ISBN: 9781449355739]
  • Rytis Sileika 2014, Pro Python System Administration, Apress [ISBN: 9781484202180]
  • Michael Duffy 2015, DevOps Automation Cookbook, Packt Publishing [ISBN: 9781784392826]
Supplementary Book Resources
  • Al Sweigart 2015, Automate the Boring Stuff with Python, No Starch Press [ISBN: 9781593275990]
  • Mark Lutz 2014, Python Pocket Reference: Python In Your Pocket, O'Reilly Media [ISBN: 9781449357016]
  • Noah Gift and Jeremy Jones 2008, Python for Unix and Linux system administration, O'Reilly Media [ISBN: 9780596515829]
  • David Beazley and Brian K. Jones 2013, Python Cookbook, O'Reilly Media [ISBN: 9781449340377]
This module does not have any article/paper resources
Other Resources
 

Module Delivered in

Programme Code Programme Semester Delivery
CR_KCLDC_9 Master of Science in Cloud Computing 1 Elective
CR_KCLDC_9 Master of Science in Cloud Computing 2 Elective
CR_KINSE_9 Master of Science in Information Security 1 Mandatory
CR_KINSY_9 Postgraduate Diploma in Science in Information Security 1 Mandatory

Cork Institute of Technology
Rossa Avenue, Bishopstown, Cork

Tel: 021-4326100     Fax: 021-4545343
Email: help@cit.edu.ie