13 research outputs found

    A Systematic Mapping Study in Microservice Architecture

    Get PDF
    The accelerating progress of network speed, reliability and security creates an increasing demand to move software and services from being stored and processed locally on users' machines to being managed by third parties that are accessible through the network. This has created the need to develop new software development methods and software architectural styles that meet these new demands. One such example in software architectural design is the recent emergence of the microservices architecture to address the maintenance and scalability demands of online service providers. As microservice architecture is a new research area, the need for a systematic mapping study is crucial in order to summarise the progress so far and identify the gaps and requirements for future studies. In this paper we present a systematic mapping study of microservices architectures and their implementation. Our study focuses on identifying architectural challenges, the architectural diagrams/views and quality attributes related to microsevice systems

    Adoption of microservices in industrial information systems: a systematic literature review

    Get PDF
    The internet, digitalization and globalization have transformed customer expectations and the way business is done. Product life cycles have shortened, products need to be customizable, and the production needs to be scalable. These changes reflect also to the industrial operations. Quick technological advancements have increased the role of software in industrial facilities. The software in use has to enable untraditional flexibility, interoperability and scalability. Microservices based architecture has been seen as the state of the art way for developing flexible, interoperable and scalable software. Microservices have been applied to cloud native applications for consumers with enormous success. The goal of this thesis is to analyze how to adopt microservices to indstrial information systems. General information and characteristics of microservices are provided as background information and a systematic literature review is conducted to answer the research problem. Material for the systematic literature review was found from multiple digital libraries and 17 scientific papers matched the set inclusion cirteria. The material was then analyzed with an extensively documentated method. The thesis brought together the available publications on the topic. Guidelines for adopting microservices to industrial information systems were derived based on the analysis. Real time applications need special attention when using microservices architecture, the developers need to use proper tools for the tasks, and the developers and users need to be properly introduced to service-oriented systems. Based on this thesis microservices seems like a suitable approach for developing flexible industrial information systems, which satisfy the new business requirements

    Treiber und Hindernisse für die Einführung von Microservices in der deutschen Softwareindustrie

    Get PDF
    Microservices sind ein Architekturstil für Software, dem derzeit sowohl in der Industrie als auch der akademischen Forschung große Aufmerksamkeit zuteil wird. Viele Unternehmen setzen Microservices bereits mit großem Erfolg ein, und die vermeintlichen Vorteile dieses Architekturstils werden in zahlreichen Blogbeiträgen diskutiert. Insbesondere sogenannte "Internet-Scale-Systeme" nutzen Microservices, um ihre immensen Skalierbarkeitsanforderungen zu erfüllen und neue Funktionen rasch an ihre Nutzer auszuliefern. Microservices sind jedoch nicht nur bei Unternehmen mit Internet-Scale-Systemen beliebt. Viele "traditionelle" Unternehmen prüfen derzeit, ob dieser Stil auch für ihre Anwendungen eine praktikable Option ist. Allerdings könnten für diese Unternehmen andere Gründe als beispielsweise Skalierbarkeit ausschlaggebend sein, und sie könnten sich anderen Herausforderungen gegenüber sehen. Zudem könnten sich die Gründe für und gegen Microservices je nach Branche unterscheiden. In diesem Bericht präsentieren wir die Ergebnisse einer Umfrage zu den Treibern und Hindernissen für die Einführung von Microservices, die unter professionellen Softwareentwicklern in der deutschen Softwareindustrie durchgeführt wurde. Zusätzlich zu den allgemeinen Treibern und Hindernissen legen wir einen besonderen Schwerpunkt auf die Nutzung von Microservices zur Modernisierung von bestehenden Softwaresystemen, wobei wir insbesondere Auswirkungen auf Laufzeitperformance und Transaktionalität hervorheben. Wir konnten interessante Unterschiede zwischen "Early Adopters" und traditionellen Unternehmen feststellen. Erstere legen besonderen Wert auf die Skalierbarkeit ihrer Systeme, während für letztere vor allem die Wartbarkeit von Bedeutung ist

    Real-world Machine Learning Systems: A survey from a Data-Oriented Architecture Perspective

    Full text link
    Machine Learning models are being deployed as parts of real-world systems with the upsurge of interest in artificial intelligence. The design, implementation, and maintenance of such systems are challenged by real-world environments that produce larger amounts of heterogeneous data and users requiring increasingly faster responses with efficient resource consumption. These requirements push prevalent software architectures to the limit when deploying ML-based systems. Data-oriented Architecture (DOA) is an emerging concept that equips systems better for integrating ML models. DOA extends current architectures to create data-driven, loosely coupled, decentralised, open systems. Even though papers on deployed ML-based systems do not mention DOA, their authors made design decisions that implicitly follow DOA. The reasons why, how, and the extent to which DOA is adopted in these systems are unclear. Implicit design decisions limit the practitioners' knowledge of DOA to design ML-based systems in the real world. This paper answers these questions by surveying real-world deployments of ML-based systems. The survey shows the design decisions of the systems and the requirements these satisfy. Based on the survey findings, we also formulate practical advice to facilitate the deployment of ML-based systems. Finally, we outline open challenges to deploying DOA-based systems that integrate ML models.Comment: Under revie

    Information Collection Platform for Smart Nudging. A Microservice-Based Approach.

    Get PDF
    This thesis aims to explore the problem of integrating heterogeneous data sources into the Smart Nudge system. The Smart Nudge system is a system that produces personalised nudges that are contextually relevant to each user. The system relies on access to live data that could be constructed and presented in specific ways to influence users behaviour towards an agreed-upon goal. The goal is to ascertain the suitability of a microservice-based approach to designing the component that is responsible for integrating various data sources. A small prototype of two microservices provided a practical look at integrating real-world sources, namely a Norwegian weather service and a bus tracking service in Chicago. The proposed architecture is analysed using a set of requirements derived from a theoretical examination of the Smart Nudge system and a general theoretical look at decomposition techniques used to evaluate microservice architectures. Evaluating the prototype revealed that the Smart Nudge system is highly dependant on augmenting data sources with additional meta-data to produce personalised nudges. The analysis indicates that a data-driven microservice-based architecture seems well suited to resolving some of the problems and requirements that are somewhat unique to the Smart Nudge system setting

    Generic analysis support for understanding, evaluating and comparing enterprise architecture models

    Get PDF
    Enterprise Architecture Management (EAM) is one mean to deal with the increasing complexity of today’s IT landscapes. Architectural models are used within EAM to describe the business processes, the used applications, the required infrastructure as well as the dependencies between them. The creation of those models is expensive, since the whole organization and therewith a large amount of data has to be considered. It is important to make use of these models and reuse them for planning purposes and decision making. The models are a solid foundation for various kinds of analyses that support the understanding, evaluation and comparisons of them. Analyses can approximate the effects of the retirement of an application or of a server failure. It is also possible to quantify the models using metrics like the IT coverage of business processes or the workload of a server. The generation of views sets the focus on a specific aspect of the model. An example is the limitation to the processes and applications of a specific organization unit. Architectural models can also be used for planning purposes. The development of a target architecture is supported by identifying weak points and evaluating planning scenarios. Current approaches for EAM analysis are typically isolated ones, addressing only a limited subset of the different analysis goals. An integrated approach that covers the different information demands of the stakeholders is missing. Additionally, the analysis approaches are highly dependent on the utilized meta model. This is a serious problem since the EAM domain is characterized by a large variety of frameworks and meta models. In this thesis, we propose a generic framework that supports the different analysis activities during EAM. We develop the required techniques for the specification and execution of analyses, independently from the utilized meta model. An analysis language is implemented for the definition and customization of the analyses according to the current needs of the stakeholder. Thereby, we focus on reuse and a generic definition. We utilize a generic representation format to be able to abstract from the great variety of used meta models in the EAM domain. The execution of the analyses is done with Semantic Web Technologies and data-flow based model analysis. The framework is applied for the identification of weak points as well as the evaluation of planning scenarios regarding consistency of changes and goal fulfillment. Two methods are developed for these tasks, as well as respective analysis support is identified and implemented. These are, for example, a change impact analysis, specific metrics or the scoping of the architectural model according to different aspects. Finally, the coverage of the framework regarding existing EA analysis approaches is determined with a scenario-based evaluation. The applicability and relevance of the language and of the proposed methods is proved within three large case studies

    Innovative techniques for deployment of microservices in cloud-edge environment

    Get PDF
    PhD ThesisThe evolution of microservice architecture allows complex applications to be structured into independent modular components (microservices) making them easier to develop and manage. Complemented with containers, microservices can be deployed across any cloud and edge environment. Although containerized microservices are getting popular in industry, less research is available specially in the area of performance characterization and optimized deployment of microservices. Depending on the application type (e.g. web, streaming) and the provided functionalities (e.g. ltering, encryption/decryption, storage), microservices are heterogeneous with speci c functional and Quality of Service (QoS) requirements. Further, cloud and edge environments are also complex with a huge number of cloud providers and edge devices along with their host con gurations. Due to these complexities, nding a suitable deployment solution for microservices becomes challenging. To handle the deployment of microservices in cloud and edge environments, this thesis presents multilateral research towards microservice performance characterization, run-time evaluation and system orchestration. Considering a variety of applications, numerous algorithms and policies have been proposed, implemented and prototyped. The main contributions of this thesis are given below: Characterizes the performance of containerized microservices considering various types of interference in the cloud environment. Proposes and models an orchestrator, SDBO for benchmarking simple webapplication microservices in a multi-cloud environment. SDBO is validated using an e-commerce test web-application. Proposes and models an advanced orchestrator, GeoBench for the deployment of complex web-application microservices in a multi-cloud environment. GeoBench is validated using a geo-distributed test web-application. - i - Proposes and models a run-time deployment framework for distributed streaming application microservices in a hybrid cloud-edge environment. The model is validated using a real-world healthcare analytics use case for human activity recognition.

    Método de migração de sistemas monolíticos legados para a arquitetura de microsserviços

    Get PDF
    Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2021.Atualmente, grande parte das organizações dependem de Sistemas de Informação (SI). Em geral, estes sistemas são construídos com base na “arquitetura monolítica”, tendo a execução centralizada em um único servidor. Ao longo dos anos, porém, as constantes mudanças para atender necessidades de negócio e o acúmulo da dívida técnica, têm tornado estes sistemas cada vez maiores e complexos, dificultando aspectos como manutenibilidade e escalabilidade. Essa difícil realidade vivida por muitas organizações motivou o presente trabalho a investigar uma nova tendência arquitetural denominada “microsserviços”. Popularizado por empresas como Netflix e Amazon, os microsserviços podem ser uma alternativa para a modernização de sistemas legados, propiciando mínimo downtime e impacto ao usuário final. Nessa nova arquitetura, o software é decomposto em pequenas partes que funcionam de modo independente e autônomo, trazendo algumas melhorias em termos de atributos de qualidade de software. Contudo, há também desafios e tradeoffs: adotar microsserviços tende a ser um processo difícil e não raramente malsucedido, sobretudo, em razão da carência de métodos para conduzir o processo de migração. Nesse sentido, fundamentado em estudos científicos, este trabalho apresenta um método de migração intitulado Microservice Full Cycle - MFC, inspirado no ciclo de vida de desenvolvimento de software e em estratégias DevOps. O objetivo é auxiliar sistemas de software legados a gradualmente evoluírem orientados por um conjunto de etapas e atividades comuns à arquitetura de microsserviços. A validação do método MFC é feita por meio de uma simulação em uma aplicação real, tendo evidenciado vantagens tais como códigos mais coesos e desacoplados, independência tecnológica, agilidade em build, teste e deploy (automação), escalabilidade sob alta demanda, maior interoperabilidade e integração, capacidades geodistribuídas, além de monitoramento e feedback em tempo real.Currently, most organizations depend on Information Systems. In general, these systems are built based on monolithic architecture, with centralized execution on a single server. Over the years, however, the constant changes to meet business needs and the accumulation of technical debt, have made these systems increasingly larger and complex, making aspects such as maintainability and scalability difficult. This difficult reality experienced by many organizations motivated the present work to investigate a new architectural trend called microservices. Popularized by companies like Netflix and Amazon, microservices can be an alternative for the modernization of legacy systems, providing low downtime and imperceptible impact to the end user. In this new architecture, the software is broken down into small parts that work independently and autonomously, bringing some improvements in terms of software quality attributes. However, there are also challenges and tradeoffs: adopting microservices tends to be a difficult process and not rarely unsuccessful, mainly due to the lack of methods to conduct the migration process. In this sense, based on scientific studies, this work presents a migration method entitled Microservice Full Cycle - MFC, inspired by the software development life cycle and DevOps strategies. The goal is to assist legacy software systems to gradually evolve guided by a set of steps and activities common to the microservice architecture. The validation of the MFC method is done through an experiment in a real application, showing advantages such as more cohesive and uncoupled codes, technological independence, agility in build, test and deploy (automation), scalability under high demand, greater interoperability and integration, geodistributed capabilities, plus realtime monitoring and feedback
    corecore