Andrea Janes @ Vorarlberg University of Applied Sciences, Dornbirn (Austria)
Microservices have emerged as an architectural style for developing maintainable and scalable applications. Assessing the performance of architecture deployment configurations — e.g., with respect to deployment alternatives — is challenging and must be aligned with the system usage in the production environment. In this talk I present an approach for using operational profiles to generate load tests to automatically assess scalability pass/fail criteria of microservice configuration alternatives. The approach provides a domain-based metric for each alternative that can, for instance, be applied to make informed decisions about the selection of alternatives and to conduct production monitoring regarding performance-related system properties, e.g., anomaly detection. We have evaluated our approach using extensive experiments in a large bare metal host environment and a virtualized environment. The talk with briefly introduce the concept of microservices, present the deployment approach and the evaluation approach based on the open source tool locust.io; it will present the tool PPTAM used to conduct the experiments and the performed data analysis.
Davide Taibi @ University of Oulu, Oulu (Finland)
Companies migrated to microservices for various reasons, often following the hype or hoping to find the silver bullet. While multiple companies had experienced important improvements in their velocity and their team independence, other companies did not achieve their expected benefits. Recently, there has been a trend of migrating microservice systems to other technologies. Serverless first, but also data meshes and, in extreme cases, even rolling back to monolithic systems. In this talk, we will discuss the most recent trends in microservices and, in particular the reasons why they moved out from traditional microservices versus other technologies.
Keeping expectations high in face of big challenges: managing performance in microservices architectures
Stefano Monti @ Imola Informatica SpA (Italy)
Managing performance is hard. Managing performance in distributed, fragmented architectures such as MSAs is even harder: bottlenecks and slowdowns can happen at any point in a complex, most of the times asynchronous, interaction chain. The usual way organizations tackle performance issues is monitoring runtime expectations and addressing problems once they arise, in typical war room fashions, with huge teams involved in long, highly pressured investigation and troubleshooting sessions on the misbehaving production systems (often ending up “giving more power” to the underlying infrastructure as the default response). We believe performance (and associated costs) should be considered as a first-class citizen, starting from thorough architecture and solution design phases, and encompassing performance management and tuning throughout the entire software development lifecycle. Based on our direct experiences in a number of war rooms and our tested beliefs of better ways of designing for performance, we discuss the mindset and some approaches to enable shifting left performance management and tools in complex, distributed architectures.