Agility with Microservices Programming Abstracts

JUNE 8-12, 2020

ONLINE! Copenhagen, Denmark

Agility with Microservices Programming Abstracts

Improving agility by managing shared libraries in microservices

Saulo S. de Toledo, Antonio Martini and Dag I. K. Sjøberg


Microservices is a way of doing agile architecture that is increasingly gaining popularity. However, if the microservices development is not properly managed, the teams development velocity may be affected, reducing agility and increasing architetural technical debt. This paper investigates how to manage the use of shared libraries in microservices to improve agility during development. We interviewed practition- ers from four large international companies involved in microservices projects to identify problems when using shared libraries. We found that the participating companies had issues with shared libraries as follows: coupling among teams, delays on fixes due to overhead on libraries development teams, and need to maintain many versions of the libraries. Our results highlight that the use of shared libraries may hinder agility on microservices. Thus, their use should be restricted to situations where shared libraries cannot be replaced by a microservice and the costs of replicating the code on each service is very high.

Certification as a service

Sebastian Copei, Manuel Wickert and Albert Zuendorf


The development of industry 4.0 and smart energy IT-Components relies on highly standardized communication protocols to reach vendor-independent interoperability. The interoperability is required to build complex systems without vendor lock-in and stay in operation for many years without frequent hardware changes. However, the classical standardization and certification processes for such com- munication protocols are typically incompatible with modern agile software development processes. This increases the complexity of building microservice-based systems or cloud-native solutions in these domains. To cope with that, we propose an agile method for the standardization of communication protocols. We show that this approach will be compatible with agile development processes and present a cloud-native certification service that works within a continuous integration and deployment pipeline, seamlessly. This will support the efficiency of building microservice and cloud-native application for the industry 4.0 and smart energy domain.

Teaching Complex Systems based on Microservices

Renato Cordeiro, Thatiane Rosa, Alfredo Goldman and Eduardo Guerra


Developing complex systems using microservices is a current challenge. In this paper we present our experience with teaching this subject for more than 80 undergraduate students at University of Sa ̃o Paulo, fostering team work and simulating the industry environment.

Multicloud API binding generation from documentation

Michal Gajda, Victor Vitali Barrozzi and Gabriel Nogueira Araujo


We present industry experience of implementing a retargetable cloud API binding generator.

The generator scrapes the documentation from the HTML pages, and generates typed Haskell descriptions, which makes it easier to maintain and is easily scalable to both new cloud APIs and new languages.