Adaptivity and adaptability are key characteristics of modern software to cope with sometimes unpredictable changes in the environment including system and user behaviour. Modern cloud-native architectures for instance foresee the case-by-case handling of decisions – e.g. to decide whether using a provider database or hosting one yourself – at the application or workflow level based on knowledge and rules or emergent behaviour. In workflows representing data flows from connected devices, the (self-)adaptivity should be modelled and supported by context-aware systems.
Our work in the Service Prototyping Lab at Zurich University of Applied Sciences consists of applied research, prototype development and conveying knowledge to industry. In this context, we have worked hard over the previous two years to gather educational and hands-on material, including our own contributions, for increasingly valuable tutorials. From single lectures to half-day and eventually full-day tutorials, we aim at both technology enthusiasts and experienced engineers who are open for new ideas and sometimes surprising facts. In this reflective blog post, we report on this week’s experience of giving the full-day tutorial on microservice artefact observation and quality assessment.