Hochschule Darmstadt - Fb Informatik

Drucken| Layout| Design| Schriftgröße English|
Modulbeschreibung
Module:Cloud-native Application Engineering
Module numbers:41.5052 [PVL 41.5053]
Language:english
Study programme:Dualer Master 2021 - Katalog AS: Anwendungs- und systemorientierte Module
Dualer Master 2021 - Vertiefung SE: Software-Engineering
Master 2021 - Katalog AS: Anwendungs- und systemorientierte Module
Master 2021 - Vertiefung SE: Software-Engineering
Dualer Master 2013 - Katalog AS: Anwendungs- und systemorientierte Module
Dualer Master 2013 - Vertiefung SE: Software-Engineering
Master 2013 - Katalog AS: Anwendungs- und systemorientierte Module
Master 2013 - Vertiefung SE: Software-Engineering
MN Data Science 2016 - Katalog M-I_I: Allgemeine Wahlpflicht Informatik
Type of course:V+P = Lecture+Practical
Weekly hours:2+2
Credit Points:6
Exam:written exam
Registering for examexplicitly and independent of booking
PVL (e.g. Practical):not graded
Precondition for completion of the PVL is the successful participation in the lab project. Further, it is required that each student gives a presentation on a specific aspect of the lab project. The presentation can be held individually or as a group. The topic for the presentation is picked by the students themselves. Possible topics may be, but are not limited to the following examples:
  • Design/Technology decisions taken during the development
  • Conceptual challenges encountered
  • Project fails discovered
Frequency of offering:each summer semester (lastly in WS 2019/2020)
Required knowledge:Prior knowledge in the areas of programming, software engineering, cloud computing, database systems, and distributed systems. The cloud computing related knowledge can be acquired by taking the "Cloud Computing Technology"-course offered by the department.
Learning objectives:The students are able to build modern applications based on cloud infrastructure in real-world set ups. In order to do that students need to be taught how to architecture, design, and implement applications specifically for cloud deployment - cloud-native applications. To be more specific, students will be introduced to modern architectural styles that are well suited for the specific requirements of a cloud environment - these are foremost the microservices' and the serverless architectural styles.

For students, to fully appreciate the unique challenges application engineering in the cloud bears, students need to understand the theoretical background and implications of cloud computing, horizontally scalable applications, statelessness, and their impact on the entire application life-cycle. Further, they need to understand the role of agile software engineering and DevOps for Cloud-native Application Engineering.
Content:
  • Cloud Computing / Cloud-native Application Engineering introduction
  • Architecture basics and what is different in the cloud
    • e.g. availability, resilience, scalability, statelessness
  • Application Architectures for the Cloud
    • e.g. 12-factor apps, Service definition, service design, cloud architecture pattern, transaction management
    • e.g. microservices, serverless
  • Deployment Infrastructure and Application Life-cycle Management
    • e.g. agile software engineering, DevOps, quality management, release management
  • Data Architectures for the Cloud
    • e.g. Data persistence, Caching
  • Operational Architecture
    • e.g. Infrastructure-as-code
    • e.g. monitoring, logging, and alerting
Literature:
  • Newman, S., 2015. Building microservices: designing fine-grained systems. " O'Reilly Media, Inc.".
  • Fowler, S.J., 2016. Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization. " O'Reilly Media, Inc.".
  • Kleppmann, M., 2017. Designing data-intensive applications: The big ideas behind reliable, scalable, and maintainable systems. " O'Reilly Media, Inc.".
  • Forsgren, N., Humble, J. and Kim, G., 2018. Accelerate: The Science of Lean Software and DevOps Building and Scaling High Performing Technology Organizations.
  • Kavis, M.J., 2014. Architecting the cloud. Design decisions for cloud computing service models (SaaS, PaaS and IaaS)/Kavis MJ-Wiley.
  • Lewis, J. and Fowler, M., 2014. Microservices: a definition of this new architectural term. MartinFowler. com, 25.
  • Martin, R.C., 2017. Clean architecture: a craftsman's guide to software structure and design. Prentice Hall Press.
  • Kim, G., Debois, P., Willis, J. and Humble, J., 2016. The DevOps handbook: how to create world-class agility, reliability, and security in technology organizations. IT Revolution
Responsibility:Stefan T. Ruehl
Released:WS 2019/2020
Professional competencies:
  • formal, algorithmic, mathematical competencies: low
  • analytical, design and implementation competencies: high
  • technological competencies: high
  • capability for scientific work: low
Interdisciplinary competencies:
  • project related competencies: high
  • social and self-competencies: ability to work in a team, analytical competence, deciding competence, competence of knowledge acquisition, fluency

[Fachbereich Informatik] [Hochschule Darmstadt]
© 2008 - 2022 FBI OBS Team. Alle Rechte vorbehalten.