Lecturer(s)
|
-
Brenkus David, Ing. Ph.D.
|
Course content
|
1. Basic cloud service layers, cloud reference model, main benefits of cloud computing 2. Cloud architectures, cloud services layers, virtualization 3. Basic cloud services types, overview and comparison of current implementations 4. Private, public and hybrid cloud services 5. Cloud native applications and their architecture 6. Containers - assembly, deployment and orchestration; architecture as code 7. Designing and scaling cloud services and applications 8. Data sharing in cloud applications, distributed file systems 9. Failure-resilient cloud aplications 10. Cloud-native applications CI/CD 11. Cloud services and applications security 12. Debugging and monitoring cloud/ native applications 13. Edge computing and IoT
|
Learning activities and teaching methods
|
- Graduate study programme term essay (40-50)
- 50 hours per semester
- Preparation for an examination (30-60)
- 45 hours per semester
- Contact hours
- 65 hours per semester
|
prerequisite |
---|
Knowledge |
---|
Be able to apply elementary knowledge of computer networks. |
Be able to apply knowledge of operating systems basic, especially Unix/Linux. |
Be able to apply knowledge of process communication and coordination in distributed systems. |
Be familiar with replication concepts and consistency models in distributed systems. |
Be able to design and formally describe synchronous and asynchronous application interfaces of servers/processes. |
Skills |
---|
Be familiar with the command line interface of the Unix/Linux operating systems, namely commands related to networking. |
Be able to analyze and solve problems related to networking. |
Be able to compose and deploy distributed applications. |
Be able to debug distributed software. |
Competences |
---|
N/A |
N/A |
learning outcomes |
---|
Knowledge |
---|
Be familiar with the field of cloud services, particlarly their types and architecture. |
Demonstrate thorough knowledge of cloud-native application development, deployment and operation. |
Demonstrate knowledge of techniques and types of cloud-native application scaling. |
Demonstrate knowledge in the field of CI/CD of cloud-native applications. |
Demonstrate knowledge in the field of security, fault-tolerance, debugging and monitoring of cloud-native applications. |
Skills |
---|
Have practical experience with cloud-native applications. |
Have practical experiance with composing cloud-native applications using containers. |
Be familiar with elementary cloud services and be able to use them programatically in cloud-native applications. |
Have practical experience with defining infrastructure/architecture as code. |
Have practical experience with CD/CD of cloud-native applications and cloud infrastructure/architecture. |
Competences |
---|
N/A |
teaching methods |
---|
Knowledge |
---|
Lecture supplemented with a discussion |
Group discussion |
Self-study of literature |
Skills |
---|
Practicum |
Skills demonstration |
Group discussion |
Competences |
---|
Interactive lecture |
assessment methods |
---|
Knowledge |
---|
Written exam |
Continuous assessment |
Skills |
---|
Skills demonstration during practicum |
Continuous assessment |
Competences |
---|
Written exam |
Recommended literature
|
-
Burns, Brendan. Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services. O?Reilly, 2018. ISBN 978-1-492-03177-2.
-
Fehling, Ch.; Leymann, F.; Retter, R.; Schupeck, W; Arbitter, P. Cloud Computing Patterns: Fundamentals to Design, Build, and Manage Cloud Applications. Springer-Verlag Wien, 2014. ISBN 978-3-7091-1.
-
Hwang, Kai; Fox, Geofrey C.; Dongarra, Jack J. Distributed and Cloud Computing: From Parallel Processing to the Internet of Things. Morgan Kaufman (Elsevier), 2012. ISBN 978-0-12-385880-1.
-
Marinescu, Dan C. Cloud Computing - Theory and Practice. 2nd ed.. Morgan Kaufman (Elsevier), 2018. ISBN 978-0-12-812819-7.
|