Test driven architecture
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BI-TDA | KZ | 4 | 2P+1C | Czech |
- Course guarantor:
- Lecturer:
- Tutor:
- Supervisor:
- Department of Software Engineering
- Synopsis:
-
The course is focused on practical examples of how to develop, test, and deploy software with tools like GitLab, Docker, Kubernetes, and more that are well known in the DevOps world. This course has a strong connection on courses like BI(E)-SI1 and BI(E)-SI2. The main goal of this course is to learn by examples that occur in the semester project.
- Requirements:
-
The prerequisite is basic knowledge of information system architecture.
- Syllabus of lectures:
-
1. IT Architecture Overview
2. Paradigms of IT Integration like P2P, SOA, Microservices, and Serverless
3. The familiar paradigms of software testing like TDD, BDD, ATDD, and integration testing
4. Application deployment with Ansible, Puppet, and Chef tools
5. DevOps approach to containers provisioning and orchestration
6. Docker overview with a focus on testing
7. Introduction into orchestration with platforms like Kubernetes and Openshift
8. How to do testing of back-end API applications with Mocha.JS and Chai.JS frameworks?
9. Continuous Integrations and Continuous Delivery systems
10. Overview of platforms for CI and CD: Gitlab CI, Travis CI, Jenkins
11. What are testing pipelines? Project pipeline, CI pipeline, and Deployment pipeline
12. Blue/Green deployment, Canary deployment, and A/B testing with Openshift platform
- Syllabus of tutorials:
-
1.Introduction into the semester project
2.Office hours
3.Office hours
4.First presentation
5.Office hours
6.Final presentation
- Study Objective:
- Study materials:
-
[1] MARTIN FOWLER, 2002, Patterns of Enterprise Application Architecture 1st Edition, 560 pages, Addison-Wesley Professional, ISBN 978-0321127426
[2] MATTHEW FULLER, 2016, AWS Lambda: A Guide to Serverless Microservices, 118 pages
[3] RENE MOSER, LORIN HOCHSTEIN, 2017, Ansible: Up and Running: Automating Configuration Management and Deployment the Easy Way 2nd Edition, 430 pages, O'Reilly Media, ISBN 978-1491979808
[4] GENE KIM, PATRICK DEBOLS, JOHN WILLIS, JEZ HUMBLE, JOHN ALLSPAW, 2016, The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations, 480 pages, IT Revolution Press, ISBN 978-1942788003
[5] JO RHETT, 2016, Learning Puppet 4: A Guide to Configuration Management and Automation 1st Edition, 594 pages, O'Reilly Media, ISBN 978-1491907665
[6] KARL MATTHIAS, SEAN P. KANE, 2015 Docker: Up & Running: Shipping Reliable Containers in Production 1st Edition, 230 pages, O'Reilly Media, ISBN 978-1491917572
[7] NIGEL POULTON, 2017, The Kubernetes Book, 145 pages, Independently published, ISBN 978-1521823637
[8] STEFANO PICOZZI, MIKE HEPBURN, NOEL OCONNOR, 2017, DevOps with OpenShift: Cloud Deployments Made Easy 1st Edition, 152 pages, O'Reilly Media, ISBN 978-1491975961
[9] JEAN MARCEL BELMONT, 2018, Hands-On Continuous Integration and Delivery: Build and release quality software at scale with Jenkins, Travis CI, and CircleCI, 416 pages, Packt Publishing, ISBN 978-1789130485
- Note:
- Further information:
- https://moodle-vyuka.cvut.cz/course/search.php?search=BI-TDA
- No time-table has been prepared for this course
- The course is a part of the following study plans:
-
- Bachelor program Informatics, unspecified branch, in Czech, 2015-2020 (elective course)
- Bachelor branch Security and Information Technology, in Czech, 2015-2020 (elective course)
- Bachelor branch Computer Science, in Czech, 2015-2020 (elective course)
- Bachelor branch Computer Engineering, in Czech, 2015-2020 (elective course)
- Bachelor branch Information Systems and Management, in Czech, 2015-2020 (elective course)
- Bachelor branch Web and Software Engineering, spec. Software Engineering, in Czech, 2015-2020 (elective course)
- Bachelor branch Web and Software Engineering, spec. Web Engineering, in Czech, 2015-2020 (elective course)
- Bachelor branch Web and Software Engineering, spec. Computer Graphics, in Czech, 2015-2020 (elective course)
- Bachelor branch Knowledge Engineering, in Czech, 2018-2020 (elective course)
- 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 (elective course)
- Bachelor Specialization Web Engineering, in Czech, 2021 (elective course)
- 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 (elective course)
- Bachelor Specialization Computer Systems and Virtualization, in Czech, 2021 (elective course)
- Bachelor Specialization Computer Networks and Internet, in Czech, 2021 (elective course)
- Study plan for Ukrainian refugees (elective course)
- Bachelor Specialization Information Security, in Czech, 2024 (elective course)
- Bachelor program, unspecified specialization, in Czech, 2024 (elective course)
- Bachelor Specialization Management Informatics, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Graphics, in Czech, 2024 (elective course)
- Bachelor Specialization Software Engineering, in Czech, 2024 (elective course)
- Bachelor Specialization Web Engineering, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Networks and Internet, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Engineering, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Systems and Virtualization, in Czech, 2024 (elective course)
- Bachelor Specialization Artificial Intelligence, in Czech, 2024 (elective course)
- Bachelor Specialization Computer Science, in Czech, 20214 (elective course)