Introduction to DevOps
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BIE-IDO.21 | Z,ZK | 5 | 2P+2C | English |
- Garant předmětu:
- Zdeněk Rybola, Tomáš Vondra
- Lecturer:
- Zdeněk Rybola, Tomáš Vondra
- Tutor:
- Zdeněk Rybola, Tomáš Vondra
- Supervisor:
- Department of Software Engineering
- Synopsis:
-
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.
- 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
- 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.
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.
- 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. : 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.
- Note:
- Further information:
- https://courses.fit.cvut.cz/BIE-IDO/index.html
- Time-table for winter semester 2024/2025:
- Time-table is not available yet
- Time-table for summer semester 2024/2025:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Bachelor specialization, Computer Engineering, 2021 (elective course)
- Bachelor specialization, Information Security, 2021 (elective course)
- Bachelor specialization, Software Engineering, 2021 (PS)
- Bachelor specialization, Computer Science, 2021 (elective course)
- Bachelor specialization, Computer Networks and Internet, 2021 (VO)
- Bachelor specialization Computer Systems and Virtualization, 2021 (PS)