Course Details
Course Code (English)
*
Semester
*
Title (English)
*
Lecture Hours (Weekly)
ECTS Credits
*
Course Type (English)
Prerequisites (English)
Operating Systems Distributed Systems Computer networks Databases
Course URL (e.g., on e-class)
Learning Outcomes (English)
DevOps is the cornerstone of modern software development teams, but also the modern way of developing software in enterprise environments. It is an innovative process, which combines the skills of software development teams (developers) and operations (IT operations), with the aim of improving collaboration and productivity, through the automation of infrastructures (infrastructure), workflows (workflows) , and the continuous monitoring of the performance of the application under development. Unlike the monolithic and now obsolete software development model followed earlier, with the introduction of DevOps, software is programmed in small parts, which are integrated, tested, monitored and developed in parallel, saving time and money, but also ensuring their interoperability Upon successful completion of the course, the student will be able to manage and automate several software installation/configuration processes as well as the preparation of the infrastructure and services that will support modern information systems.
General Competencies (English)
- Adaptation to new situations, Teamwork, Promotion of free, creative and inductive thinking
Course Content (English)
Topic Unit 1: Refreshing prerequisite knowledge -Remote connection and configuration (ssh) - Basic linux commands and system administration (shell scripts and system administration) - service management -Summary of python programming language Topic Unit 2: Code Repositories Thematic Unit 3: Automation - Introduction to Ansible - environment preparation - inventory -The most common ansible modules - Ansible playbooks -Conditions and error handling -Vault - Vagrant -Ansible galaxy -Example: installing a python web application using ansible Thematic Unit 4: Virtualization and Containers -Introduction to virtualization -Containers and their management -Creation of images -Container filesystems - Networking -Volumes Thematic Module 5: Automating the execution of containers -Docker-compose -Usage example: containerize a python application Thematic Module 6: Continuous Integration -Introduction to CI/CD -Testing -Installing and configuring jenkins -Jenkins association with code repository -Build and test python container image Topic Unit 7: Continuous Delivery -Deploy -notifications/alerting Topic Unit 8: Kubernetes - Containers execution environments -Basic entities in kubernetes - Networking -Deploy -Monitoring Thematic Unit 9: Microservices -Advantages disadvantages - Application gateways -Identity Management Thematic Unit 10: Security -Oauth2 -Keycloak
Use of ICT (English)
asynchronous distance learning (eclass)
Is it elective?
Άγνωστο
Ναι
Όχι
Load within semester (Hours)
Lecture Hours
Lab Hours
Independent Study
*
Project Work
*
Lab Report
*