The Research programme seeks synergy between Pyxis and Academia with the aim of co-constructing knowledge. On this occasion, we talked to Juan Domínguez and Mariano Goicoechea about their thesis in Microservices Architecture and the implementation of a project to support architects and developers when designing this type of solutions.
Juan and Mariano submitted and passed their thesis at the Faculty of Engineering of the University of the Republic (Fing). They say that «they have lost a little bit the dimension of what the project was». But they were left with the certainty, in addition to an eleven in the final grade, that «the process challenged them at all times, it was very productive» and that, in addition, «there were many things left to do».
At the stage of defining the topic to be addressed in the thesis, they set out to find challenges that would force them to «go out and do research, talk to experts and listen to experts from the university and the technology sector».
Microservices Architecture
Among the many options to choose from, the Pyxis proposal was the one that aroused the most interest. The main idea was to survey the architecture in the company’s environment. An analysis that would enable the creation of a prototype to «improve Pyxis’ microservices architecture». Focusing on surveying existing projects of this type and «trying to find the technical gap, in order to analyse the suggestions that could emerge».
The first phase of the research showed that Pyxis had a solid and up-to-date architecture. The company proposed to «implement a system that presents the user with a question form and, based on the user’s answers, helps him or her to identify a microservices architecture, and suggests components and architectural patterns».
Intended for junior developers and architects, this decision-making model «presents questions about architecture, microservices, functionality, and non-functional requirements».
Pyxis «wanted an application that would tell junior architects which patterns to use and provide them with sources of information,» they explain. When the user fills in the form, the system displays a certain architecture with all its patterns and, on selecting it, the user finds information corresponding to each component of the system. A kind of documentation «where you define certain patterns in the system and there you save how they are implemented, so it is possible to see the execution with a click», they explain.
The questions in the questionnaire are «the ones that mark the foundations and the ones that any experienced architect asks himself to build a microservices system». The architectural components proposed by the application were based on knowledge and information obtained «from the exchange with Pyxis architects and by surveying the different architectures of the ecosystem».
The objective is «to advise and support architects and developers with less experience in microservices». Juan also says, «the idea was to do it in such a way that in the future it will serve as an input in the decision making behind the process and that it can be managed by senior technical roles in the company».
Impacting questions
How can Pyxis leverage the skills and experience of its team? That is the question that underpins the project. Turning that knowledge into a functional asset that can support others. This is the basis of this model: «a system where seniors can dump their knowledge and people with less expertise can locate and use it». That the exchange between user and system effectively leads to «an architectural component or a technology».
Once they had identified Pyxis’ requirements, they began to define the scope of the product. Carlos Soderguit, an architect with a lot of Pyxis experience, suggested they make «a decision model». They established a first objective and moved on to the development stage. There, «we were presenting functionalities to validate and implement».
Carlos accompanied them «in definitions and suggestions at the programming, design and visualisation level. «For us, he was a client, the most demanding we could have».
In addition to the satisfaction of the qualification, what they most appreciate about the Research programme as support for their thesis is that they were able to «listen to and see experienced professionals at work». «It is something that undoubtedly nourishes you», Juan emphasises.
Also as a tutor, they were guided by Guzmán Llambias, Team Manager and Architect at Pyxis, where he permanently «encouraged one of our main objectives: to learn about microservices».
«We had to research beforehand to be able to keep up» in the conversations with Pablo Garbusi, Pyxis Engineer, and Carlos, «we wrote down words we didn’t know to look them up later, it was above all a challenge, where the grade was a prize», summarises Mariano.
Finally, they say that the next step would be to create an interface to make the user experience easier «and not from databases or scripts». Also, «today all the logic is ready so that the architect in charge can put his questions, his patterns and his needs. It is an open and customisable application that can continue to be extended for other functionalities, and with opportunities for permanent improvement.
With a 360° potential, our solutions matrix accompanies the lifecycle of any project, with skills and experience in Development, Design, Q&A, Devops, Operation & Deploy, and Architecture