Main page | Study Branches/Specializations | Groups of Courses | All Courses | Roles                Instructions

A course is the basic teaching unit, it's design as a medium for a student to acquire comprehensive knowledge and skills indispensable in the given field. A course guarantor is responsible for the factual content of the course.
For each course, there is a department responsible for the course organisation. A person responsible for timetabling for a given department sets a time schedule of teaching and for each class, s/he assigns an instructor and/or an examiner.
Expected time consumption of the course is expressed by a course attribute extent of teaching. For example, extent = 2 +2 indicates two teaching hours of lectures and two teaching hours of seminar (lab) per week.
At the end of each semester, the course instructor has to evaluate the extent to which a student has acquired the expected knowledge and skills. The type of this evaluation is indicated by the attribute completion. So, a course can be completed by just an assessment ('pouze zápočet'), by a graded assessment ('klasifikovaný zápočet'), or by just an examination ('pouze zkouška') or by an assessment and examination ('zápočet a zkouška') .
The difficulty of a given course is evaluated by the amount of ECTS credits.
The course is in session (cf. teaching is going on) during a semester. Each course is offered either in the winter ('zimní') or summer ('letní') semester of an academic year. Exceptionally, a course might be offered in both semesters.
The subject matter of a course is described in various texts.

BIE-IDO.21 Introduction to DevOps Extent of teaching: 2P+2C
Instructor: Rybola Z., Vondra T. Completion: Z,ZK
Department: 18102 Credits: 5 Semester: Z

Annotation:
The course deals with the topic of DevOps and prepares future developers and administrators for a modern culture of development and operation of systems and services. The course covers the tools to support software development, testing and compilation. It also focuses on tools for automating infrastructure management and building and deploying software to the Cloud. It is an introduction to technologies that will then be discussed in more detail in related follow-up courses. The student will also get acquainted with modern technologies used in practice.

Lecture syllabus:
1. Introduction to the subject, team development and tools for its support.
2. Manual use of the Cloud, use of cloud services - PaaS.
3. Automation of server administration.
4. Continuous Integration, Pipelines.
5. Containerization.
6. Building of container images.
7. Software testing - unit tests, tests with user interaction simulation.
8. Code quality testing in CI, DevSecOps.
9. Compilation and publication of SW in pipelines, Continuous Delivery.
10. Application architectures for cloud scaling. Infrastructure as Code - IaC.
11. Monitoring of errors, metrics, and logs.
12. Techniques of scaling infrastructure in the cloud.

Seminar syllabus:
1. Access to faculty infrastructure.
2. Using clouds in the command line.
3. Automation of server management using configuration management.
4. Creating an assembly and test pipeline in CI.
5. Deploy the application using configuration management.
6. Working with Docker and assembling the container.
7. Testing in CI.
8. Static code analysis.
9. Assembly of the container in the CI.
10. Deployment of the container on PaaS.
11. Monitoring in PaaS.
12. Stress tests and automatic scaling.

Literature:
1. Kim G., Debois P., Willis J., Humble J. : The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations. IT Revolution Press, 2016. ISBN 978-1942788003.
2. Forsgren N., Humble J., Kim G. : Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations. IT Revolution Press, 2018. ISBN 978-1942788331.
3. Davis J. : Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale. O'Reilly Media, 2016. ISBN 978-1491926307.
4. Hochstein L., Moser R. : Ansible: Up and Running: Automating Configuration Management and Deploy-ment the Easy Way (2nd Edition). O'Reilly Media, 2017. ISBN B0743VR1MC.

Requirements:
Java/PHP (BI-TJV/BI-PHP), algoritmization, databases, basics of computer hardware from BI-SAP, Unix from BI-UOS, Linuxu command line from BI-PS1, working with files, remote login, user rights, root mode, BASH scripts

Information about the course and courseware are available at https://courses.fit.cvut.cz/BIE-IDO/index.html

The course is also part of the following Study plans:
Study Plan Study Branch/Specialization Role Recommended semester
BIE-TI.21 Computer Science 2021 V 3
BIE-PS.21 Computer Networks and Internet 2021 VO 3
BIE-SI.21 Software Engineering 2021 PS 3
BIE-PV.21 Computer Systems and Virtualization 2021 PS 3
BIE-IB.21 Information Security 2021 (Bachelor in English) V 3
BIE-PI.21 Computer Engineering 2021 V 3


Page updated 29. 3. 2024, semester: L/2021-2, Z,L/2023-4, Z/2021-2, Z/2020-1, Z/2019-20, L/2020-1, Z,L/2022-3, L/2019-20, Send comments to the content presented here to Administrator of study plans Design and implementation: J. Novák, I. Halaška