Microservices beyond COVID-19
Antonio Brogi @ University of Pisa (IT)
How can we check whether a software application satisfies the main principles of microservices and —if not— how should we refactor it? To answer these questions, we will discuss the capacity of existing techniques to automatically extract an architectural description of a microservice-based application, identify architectural smells possibly violating microservices’ principles, and select suitable refactorings to resolve them. We will also discuss how (minimal) modelling of microservice-based applications can considerably simplify their design and automate their container-based deployment. Finally, we will discuss some interesting directions for future research on microservices.
Rethinking Legacy and Monolithic Systems
Vaughn Vernon @ Kalel
Legacy monoliths have generated profit for decades. Gradually the myriad of changes to these revenue generators have led to a paralyzing tangle. The recurring plea for help? Teams are demoralized by the mud, and hardware has outpaced software architecture. How can you achieve mobility and relief? I discuss practical steps that can be made toward enterprise modernization.
Towards language support for programming microservices
Sanjiva Weerawarana @ WSO2 (US)
Microservices come in many shapes and sizes. General purpose programming languages treat all microservices as if they are the same as any other kind of value in the language. Yet RESTful services, GraphQL services, RPC style services and so on all have their own peculiarities and abstractions that define those service kinds. Services also do not exist in isolation - they interact with other services and thus require coordination and concepts from session typing to provide more static guarantees on overall system reliability.
In this talk we explore the design of services in Ballerina, a new programming language designed for the cloud native era. We discuss how a programming language can better support the design, implementation & operation of services. We discuss how various qualities of service can be applied to the base service layer to create a comprehensive service development platform.