scispace - formally typeset
Search or ask a question
Author

Fei Li

Bio: Fei Li is an academic researcher from Siemens. The author has contributed to research in topics: Software architecture & Service (systems architecture). The author has an hindex of 2, co-authored 3 publications receiving 14 citations.

Papers
More filters
Book ChapterDOI
09 Sep 2019
TL;DR: Following a model-based qualitative research method, a formal architecture decision model is derived containing 325 elements and relations that substantially reduces the effort needed to sufficiently understand microservice data management decisions, as well as the uncertainty in the design process.
Abstract: Today many service-based systems follow the microservice architecture style. As microservices are used to build distributed systems and promote architecture properties such as independent service development, polyglot technology stacks including polyglot persistence, and loosely coupled dependencies, architecting data management is crucial in most microservice architectures. Many patterns and practices for microservice data management architectures have been proposed, but are today mainly informally discussed in the so-called “grey literature”: practitioner blogs, experience reports, and system documentations. As a result, the architectural knowledge is scattered across many knowledge sources that are usually based on personal experiences, inconsistent, and, when studied on their own, incomplete. In this paper we report on a qualitative, in-depth study of 35 practitioner descriptions of best practices and patterns on microservice data management architectures. Following a model-based qualitative research method, we derived a formal architecture decision model containing 325 elements and relations. Comparing the completeness of our model with an existing pattern catalog, we conclude that our architectural decision model substantially reduces the effort needed to sufficiently understand microservice data management decisions, as well as the uncertainty in the design process.

11 citations

Proceedings ArticleDOI
07 Sep 2015
TL;DR: The aim is to provide tool support for making quality-driven design decisions in a flexible and reusable manner, facilitating the system's evolvability, as well as enhancing its understandability to the stakeholders involved.
Abstract: Software architecture entails the making of architectural decisions based on a set of both functional and quality requirements, as well as trade-offs between them, which have to be considered to achieve design goals. Access to accumulated and documented architectural knowledge facilitates this process. In this paper, we present a set of tools that support creative decision making in the different stages an architecture specification goes through. These tools are structured around a central repository, where acquired knowledge is stored for reuse. The approach is motivated by the challenges arising from the particular needs of the software ecosystem environment, where the software design process is characterized by the participation of multiple and diverse stakeholders and the existence of multiple software applications built on a common platform. Our aim is to provide tool support for making quality-driven design decisions in a flexible and reusable manner, facilitating the system's evolvability, as well as enhancing its understandability to the stakeholders involved.

8 citations

Proceedings ArticleDOI
08 Jul 2019
TL;DR: A formal model of deployment pipeline architectures is derived from a qualitative, in-depth study of 25 deployment practice descriptions by practitioners containing informal deployment pipeline models and can be shown to substantially increases the precision of the modelling.
Abstract: DevOps and Continuous Delivery (CD) are becoming the de-facto standard for software deployment in the cloud. Deployment pipelines are a core artefact in such practices, but so far their design is largely discussed informally, and existing sources on DevOps and CD practices are often inconsistent or incomplete. The lack of a generic, complete, tool-agnostic, and application-independent treatment of deployment pipeline design and architecture impedes their understanding by human designers and the creation of generic tools that work across different technologies and applications. To alleviate this problem, we have performed a qualitative, in-depth study of 25 deployment practice descriptions by practitioners containing informal deployment pipeline models. From our study we derived a precisely specified model of deployment pipeline architectures. We can show that the formal model substantially increases the precision of the modelling compared to the informally modelled pipelines in the original sources.

2 citations


Cited by
More filters
05 Apr 2017
TL;DR: This work presents how the properties of microservice architectures facilitate scalability, agility and reliability at otto.de, which is one of the biggest European e-commerce platforms.
Abstract: Microservice architectures provide small services that may be deployed and scaled independently of each other, and may employ different middleware stacks for their implementation. Microservice architectures intend to overcome the shortcomings of monolithic architectures where all of the application's logic and data are managed in one deployable unit. We present how the properties of microservice architectures facilitate scalability, agility and reliability at otto.de, which is one of the biggest European e-commerce platforms. In particular, we discuss vertical decomposition into self contained systems and appropriate granularity of microservices as well as coupling, integration, scalability and monitoring of microservices at otto.de. While increasing agility to more than 500 live deployments per week, high reliability is achieved by means of automated quality assurance with continuous integration and deployment.

100 citations

Reference BookDOI
01 Jan 2009

65 citations

DissertationDOI
07 Sep 2018
TL;DR: The concept of ecosistema natural se aplica al ambito tecnologico to reflejar un conjunto de caracteristicas o propiedades de los ecosistsemas naturales that pueden transferirse a ecosistingemas tecnologicos or e cosistemas software with the fin of proporcionar soluciones, las cuales deben estar orientadas resolver los problemas de gestion del conocimiento.
Abstract: Una de las principales caracteristicas de la actual Sociedad del Conocimiento reside en el valor del conocimiento como un recurso activo en cualquier tipo de entidad, desde instituciones educativas hasta grandes corporaciones empresariales. La gestion del conocimiento surge como una ventaja competitiva de tal forma que las entidades dedican parte de sus recursos a desarrollar su capacidad para compartir, crear y aplicar nuevos conocimientos de forma continuada a lo largo del tiempo. La tecnologia, considerada el motor, el elemento central, en la Sociedad de la Informacion, pasa a convertirse en un soporte para el aprendizaje, para la transformacion de conocimiento tacito en explicito, de conocimiento individual en grupal. Internet, las tecnologias de la informacion y la comunicacion y, en particular, los sistemas de informacion pasan de ser elementos que guian el desarrollo de la sociedad a ser herramientas cuyo desarrollo esta guiado por las necesidades de gestion del conocimiento y los procesos de aprendizaje. Los ecosistemas tecnologicos, considerados como la evolucion de los sistemas de informacion tradicionales, se posicionan como sistemas de gestion del conocimiento que abarcan tanto la componente tecnologica como el factor humano. En el caso de que la gestion del conocimiento este dirigida a apoyar fundamentalmente procesos de aprendizaje, el ecosistema tecnologico se puede denominar ecosistema de aprendizaje. La metafora de ecosistema, que proviene del area de la biologia, se utiliza en diferentes contextos para transmitir la naturaleza evolutiva de procesos, actividades y relaciones. El uso del concepto ecosistema natural se aplica al ambito tecnologico para reflejar un conjunto de caracteristicas o propiedades de los ecosistemas naturales que pueden transferirse a los ecosistemas tecnologicos o ecosistemas software con el fin de proporcionar soluciones, las cuales deben estar orientadas resolver los problemas de gestion del conocimiento. A su vez, estas soluciones tienen que adaptarse a los constantes cambios que sufre cualquier tipo de entidad o contexto en el que se despliega algun tipo de solucion tecnologica. A pesar de las ventajas que ofrecen los ecosistemas tecnologicos, el desarrollo de este tipo de soluciones tiene una mayor complejidad que los sistemas de informacion tradicionales. A los problemas propios de la ingenieria del software, tales como la interoperabilidad de los componentes o la evolucion del ecosistema, se unen la dificultad de gestionar un conocimiento complejo y la diversidad de personas involucradas. Los diferentes retos y problemas de los ecosistemas tecnologicos, y en particular de aquellos centrados en gestionar el conocimiento y el aprendizaje, requieren mejorar los procesos de definicion y desarrollo de este tipo de soluciones tecnologicas. La presente tesis doctoral se centra en proporcionar un marco arquitectonico que permita mejorar la definicion, el desarrollo y la sostenibilidad de los ecosistemas tecnologicos para el aprendizaje. Dicho marco estara compuesto, principalmente, por dos resultados asociados a esta investigacion: un patron arquitectonico que permita resolver los problemas detectados en ecosistemas de aprendizaje reales y un metamodelo de ecosistema de aprendizaje, basado en el patron, que permita aplicar Ingenieria Dirigida por Modelos para sustentar la definicion y el desarrollo de los ecosistemas de aprendizaje. Para llevar a cabo la investigacion se han definido tres ciclos siguiendo el marco metodologico Investigacion-Accion. El primer ciclo se ha centrado en el analisis de varios casos de estudio reales con el fin de obtener un modelo de dominio del problema. Se han analizado ecosistemas tecnologicos para la gestion del conocimiento y el aprendizaje desplegados en contextos heterogeneos, en particular, la Universidad de Salamanca, el grupo de investigacion GRIAL y el proyecto europeo TRAILER (centrado en gestionar el conocimiento informal en instituciones y empresas). Como resultado de este ciclo se han detectado una serie de caracteristicas que debe tener un ecosistema tecnologico y se ha definido un patron arquitectonico que permite sentar las bases del ecosistema, dando solucion a algunos de los problemas detectados y asegurando la flexibilidad y adaptabilidad de los componentes del ecosistema con el fin de permitir su evolucion. El segundo ciclo se ha centrado en la mejora y validacion del patron arquitectonico. Los problemas detectados en el ciclo anterior se han modelado con la notacion Business Process Model and Notation. Para ello, se han agrupado los problemas relacionados con procesos de gestion del conocimiento similares y posteriormente se ha realizado para cada conjunto de problemas un diagrama con un alto nivel de abstraccion. Despues, para cada uno de los diagramas, se han identificado una vez mas los problemas a resolver y se ha definido un nuevo diagrama aplicando el patron. Esto ha permitido validar el patron arquitectonico y sentar las bases para su formalizacion. Por ultimo, el tercer ciclo ha planteado el Desarrollo Dirigido por Modelos de ecosistemas tecnologicos para la gestion del conocimiento y el aprendizaje. En concreto, se ha definido un metamodelo de ecosistema de aprendizaje basado en el patron arquitectonico planteado en el ciclo anterior. El metamodelo se ha validado a traves de una serie de transformaciones modelo a modelo automatizadas mediante reglas de transformacion. Para poder llevar a cabo dicho proceso, se ha definido un metamodelo especifico de plataforma que proporciona un conjunto de recomendaciones, tanto tecnologicas como humanas, para implementar ecosistemas de aprendizaje basados en software open source. El metamodelo de ecosistema de aprendizaje y el metamodelo especifico de plataforma para definir ecosistemas basados en software open source proporcionan las guias necesarias para definir ecosistemas de aprendizaje que resuelvan los principales problemas detectados en este tipo de soluciones software. Los tres casos de estudio reales que se han desarrollado para validar los resultados obtenidos a lo largo de los ciclos de Investigacion-Accion, en especial, el patron arquitectonico para modelar ecosistemas de aprendizaje, el metamodelo de ecosistema de aprendizaje y el metamodelo especifico de plataforma para definir ecosistemas basados en software open source, permiten afirmar, como conclusion mas general, que es posible mejorar la definicion y el desarrollo de los ecosistemas tecnologicos enfocados en gestionar el conocimiento y los procesos de aprendizaje. Mas concretamente, el uso de ingenieria dirigida por modelos, sustentada sobre una solida propuesta arquitectonica, permite definir ecosistemas de aprendizaje que evolucionan y se adaptan a las necesidades cambiantes del entorno y de los usuarios, asi como resolver un conjunto de problemas comunes identificado en este tipo de soluciones tecnologicas.

22 citations

Proceedings ArticleDOI
21 Feb 2020
TL;DR: A semi-systematic literature review of 218 papers published over the last four decades that have contributed to a better understanding of architectural design decisions (ADDs) and human aspects in architectural decision making (ADM), and group decision making is presented.
Abstract: Literature review studies are essential and form the foundation for any type of research. They serve as the point of departure for those seeking to understand a research topic, as well as, helps research communities to reflect on the ideas, fundamentals, and approaches that have emerged, been acknowledged, and formed the state-of-the-art. In this paper, we present a semi-systematic literature review of 218 papers published over the last four decades that have contributed to a better understanding of architectural design decisions (ADDs). These publications cover various related topics including tool support for managing ADDs, human aspects in architectural decision making (ADM), and group decision making. The results of this paper should be treated as a getting-started guide for researchers who are entering the investigation phase of research on ADM. In this paper, the readers will find a brief description of the contributions made by the established research community over the years. Based on those insights, we recommend our readers to explore the publications and the topics in depth.

16 citations

Proceedings ArticleDOI
01 Apr 2018
TL;DR: A quantitative evaluation of the recommendation system indicates that individuals with architectural expertise can be identified for design decision making but also provides quantitative evidence for the existence of personal experience bias during the decision-making process.
Abstract: In large software engineering projects, designing software systems is a collaborative decision-making process where a group of architects and developers make design decisions on how to address design concerns by discussing alternative design solutions. For the decision-making process, involving appropriate individuals requires objectivity and awareness about their expertise. In this paper, we propose a novel expert recommendation system that identifies individuals who could be involved in tackling new design concerns in software engineering projects. The approach behind the proposed system addresses challenges such as identifying architectural skills, quantifying architectural expertise of architects and developers, and finally matching and recommending individuals with suitable expertise to discuss new design concerns. To validate our approach, a quantitative evaluation of the recommendation system was performed using design decisions from four software engineering projects. The evaluation not only indicates that individuals with architectural expertise can be identified for design decision making but also provides quantitative evidence for the existence of personal experience bias during the decision-making process.

12 citations