Introduction to DevOps
- Garant předmětu:
- Tomáš Vondra
- Jiří Mlejnek, Tomáš Vondra
- Martin Beránek, Martin Hlavatý, Martin Chvíla, Jiří Mlejnek, Zdeněk Rybola, Valerii Ulitin, Michal Valenta, Tomáš Vondra
- Department of Software Engineering
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.
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
- Syllabus of lectures:
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.
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.
- Syllabus of tutorials:
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.
- Study Objective:
- Study materials:
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. : Eective DevOps: Building a Culture of Collaboration, Anity, and Tooling at Scale. O'Reilly Media, 2016. ISBN 978-1491926307.
4. Hochstein L., Moser R. : Ansible: Up and Running: Automating Confguration Management and Deploy-ment the Easy Way (2nd Edition). O'Reilly Media, 2017. ISBN B0743VR1MC.
- Further information:
- Time-table for winter semester 2023/2024:
- Time-table is not available yet
- Time-table for summer semester 2023/2024:
- Time-table is not available yet
- The course is a part of the following study plans:
- Bachelor specialization Information Security, in Czech, 2021 (elective course)
- Bachelor specialization Management Informatics, in Czech, 2021 (elective course)
- Bachelor specialization Computer Graphics, in Czech, 2021 (elective course)
- Bachelor specialization Computer Engineering, in Czech, 2021 (elective course)
- Bachelor program, unspecified specialization, in Czech, 2021 (VO)
- Bachelor specialization Web Engineering, in Czech, 2021 (PS)
- Bachelor specialization Artificial Intelligence, in Czech, 2021 (elective course)
- Bachelor specialization Computer Science, in Czech, 2021 (elective course)
- Bachelor specialization Software Engineering, in Czech, 2021 (PS)
- Bachelor specialization Computer Systems and Virtualization, in Czech, 2021 (PS)
- Bachelor specialization Computer Networks and Internet, in Czech, 2021 (elective course)