{"title":"Migrating Towards Microservice Architectures: An Industrial Survey","authors":"Paolo Di Francesco, P. Lago, I. Malavolta","doi":"10.1109/ICSA.2018.00012","DOIUrl":"https://doi.org/10.1109/ICSA.2018.00012","url":null,"abstract":"Microservices are gaining tremendous traction in industry and a growing scientific interest in academia. More and more companies are adopting this architectural style for modernizing their products and taking advantage of its promised benefits (e.g., agility, scalability). Unfortunately, the process of moving towards a microservice-based architecture is anything but easy, as there are plenty of challenges to address from both technical and organizational perspectives. In this paper we report about an empirical study on migration practices towards the adoption of microservices in industry. Specifically, we designed and conducted a survey targeting practitioners involved in the process of migrating their applications and we collected information (by means of interviews and questionnaires) on (i) the performed activities, and (ii) the challenges faced during the migration. Our findings benefit both (i) researchers by highlighting future directions for industryrelevant problems and (ii) practitioners by providing a reference framework for their (future) migrations towards microservices.","PeriodicalId":142325,"journal":{"name":"2018 IEEE International Conference on Software Architecture (ICSA)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116882272","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
B. Tenbergen, Marian Daun, Patricia Aluko Obe, Jennifer Brings
{"title":"View-Centric Context Modeling to Foster the Engineering of Cyber-Physical System Networks","authors":"B. Tenbergen, Marian Daun, Patricia Aluko Obe, Jennifer Brings","doi":"10.1109/ICSA.2018.00030","DOIUrl":"https://doi.org/10.1109/ICSA.2018.00030","url":null,"abstract":"Cyber-physical systems interact closely at runtime with their operational context, i.e., other systems, users, and external entities. Therefore, eliciting and documenting interactions with the operational context allows documenting rationales for design decisions, which is essential to define a system architecture that suits the system’s purpose. For cyber-physical systems acting in system networks, this task becomes challenging since these networks can change at runtime, because individual systems can leave or join a network spontaneously. Hence, it becomes impossible to predict at design time the operational contexts at runtime. To aid context analysis and specification of such systems, this paper contributes a solution approach where the context of a system is not defined based on a static system boundary but depends on the specific intended use. We propose a view-centric perception of the operational context to leverage the functionality of external systems. This allows differentiating between functionality offered by the cyber-physical system network as a whole and the functionality provided by each individual system. An evaluation with an industrial case example and industry collaboration shows that this approach allows making suitable assumptions of the operational context at design time to guide architecture decisions.","PeriodicalId":142325,"journal":{"name":"2018 IEEE International Conference on Software Architecture (ICSA)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127888622","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Mohamed Soliman, A. R. Salama, M. Galster, O. Zimmermann, Matthias Riebisch
{"title":"Improving the Search for Architecture Knowledge in Online Developer Communities","authors":"Mohamed Soliman, A. R. Salama, M. Galster, O. Zimmermann, Matthias Riebisch","doi":"10.1109/ICSA.2018.00028","DOIUrl":"https://doi.org/10.1109/ICSA.2018.00028","url":null,"abstract":"To make good architecture design decisions, developers need to know suitable architecture solution alternatives. However, with the rapid and continuous increase of solution alternatives (e.g. technologies, patterns, tactics), it is challenging to acquire architecture knowledge and to ensure that this knowledge is up to date. Our goal is to improve how architects search for architecturally relevant information in online developer communities. We developed a new search approach for architecturally relevant information using Stack Overflow as an example of an online developer community. Our search approach differs from a conventional keyword-based search in that it considers semantic information of architecturally relevant concepts in Stack Overflow. We also implemented the search approach as a web-based search engine. To show the effectiveness of the search approach compared to a conventional keyword-based search, we conducted an experiment with 16 practitioners. To ensure realism of the experiment, tasks given to practitioners are based on real scenarios identified in interviews with a different set of practitioners. The experiment showed that the new search approach outperforms a conventional keyword based search.","PeriodicalId":142325,"journal":{"name":"2018 IEEE International Conference on Software Architecture (ICSA)","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127590170","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Jianlei Liu, Eric Braun, Clemens Düpmeier, Patrick Kuckertz, D. Ryberg, M. Robinius, D. Stolten, V. Hagenmeyer
{"title":"A Generic and Highly Scalable Framework for the Automation and Execution of Scientific Data Processing and Simulation Workflows","authors":"Jianlei Liu, Eric Braun, Clemens Düpmeier, Patrick Kuckertz, D. Ryberg, M. Robinius, D. Stolten, V. Hagenmeyer","doi":"10.1109/ICSA.2018.00024","DOIUrl":"https://doi.org/10.1109/ICSA.2018.00024","url":null,"abstract":"In order to perform complex data processing and co-simulation workflows for research on data driven energy systems, a generic, modular and highly scalable process operation framework is presented in this article. This framework consistently applies web technologies to build up a microservices architecture. It automates the startup, synchronization, and management of scientific data processing and simulation tools (e.g. Python, Matlab, OpenModelica) as part of larger transdisciplinary, multi-domain data processing and co-simulation workflows. It uses container virtualization on the underlying cluster computing environment to control and manage different simulation nodes.Within the framework’s processing workflow, software executables can be distributed to different nodes on the cluster, easily access data and communicate with other components via communication adapters and a high-performance messaging channel infrastructure. By integrating Apache NiFi, the framework also provides an easy-to-use web user interface to allow users to model, perform and operate workflows for future energy system solutions. As soon as a complex workflow is set up in the process operation framework, researchers can use the workflow without any setup or configuration on their local workstations and without knowing any details of the underlying infrastructure or software environment.","PeriodicalId":142325,"journal":{"name":"2018 IEEE International Conference on Software Architecture (ICSA)","volume":"73 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115327137","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Manoj Bhat, Klym Shumaiev, Kevin Koch, U. Hohenstein, A. Biesdorf, F. Matthes
{"title":"An Expert Recommendation System for Design Decision Making: Who Should be Involved in Making a Design Decision?","authors":"Manoj Bhat, Klym Shumaiev, Kevin Koch, U. Hohenstein, A. Biesdorf, F. Matthes","doi":"10.1109/ICSA.2018.00018","DOIUrl":"https://doi.org/10.1109/ICSA.2018.00018","url":null,"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.","PeriodicalId":142325,"journal":{"name":"2018 IEEE International Conference on Software Architecture (ICSA)","volume":"102 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114255744","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Architecting a Software-Based Ecosystem for the Automotive Aftermarket: An Experience Report","authors":"Matthias Naab, Dominik Rost, J. Knodel","doi":"10.1109/ICSA.2018.00015","DOIUrl":"https://doi.org/10.1109/ICSA.2018.00015","url":null,"abstract":"Software-based ecosystems comprise multiple software systems developed by a multitude of organizations. They are on the one hand technically integrated, often via a dedicated platform forming the center of the ecosystem. On the other hand, the organizations and their systems interact in a way that provides (business) benefits for all participants and leads to new forms of businesses. The ecosystem platform is typically defined, developed and operated by the ecosystem initiator. In the past two years, we have been working on the initiation of an ecosystem and the development of a platform for the automotive aftermarket: a data and service marketplace. As core contributions in this paper, we share the experiences and lessons learned from the early phases from an architect’s point of view. As a background, we first describe our key architecture drivers, the current state of the architecture, and how architecture work is performed. We experienced a substantially extended scope for ecosystem architects, working on the overall ecosystem and the platform. Especially in the beginning, architects have to live with a high degree of uncertainty and fuzziness and have to help shaping and aligning business, technical, and legal aspects. Besides these key insights, we share lessons learned in the following categories: Requirements and Priorities, Architecture and Architecture Work, Platform Releases and Time-to-Market, Partners, Communication, Learning from other Ecosystems.","PeriodicalId":142325,"journal":{"name":"2018 IEEE International Conference on Software Architecture (ICSA)","volume":"85 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131473957","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Data-Centric Communication and Containerization for Future Automotive Software Architectures","authors":"Stefan Kugele, David Hettler, Jan Peter","doi":"10.1109/ICSA.2018.00016","DOIUrl":"https://doi.org/10.1109/ICSA.2018.00016","url":null,"abstract":"Context: The functional interconnection and data routing in today's automotive electric/electronic architectures has reached a level of complexity which is hardly manageable and error-prone. This circumstance severely hinders short times from development to operation. Aim: The purpose of the study is to evaluate the feasibility of Data Distribution Services in accord with containerization technologies in an agile development process for automotive software. Method: We propose to represent services by means of topics in a data-centric publish-subscribe approach. We conduct performance benchmarks to evaluate its aptitude and present a case study illustrating fail-operational behavior in a setup recreated from highly automated driving. Results: Backed by the results and the case study we show that containerized services, along with data-centric messaging, manage to meet most of our proposed requirements. We furthermore reveal limitations of the used technology stack and discuss remedies to their shortcomings.","PeriodicalId":142325,"journal":{"name":"2018 IEEE International Conference on Software Architecture (ICSA)","volume":"75 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124055013","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Microservices: Architecting for Continuous Delivery and DevOps","authors":"Lianping Chen","doi":"10.1109/ICSA.2018.00013","DOIUrl":"https://doi.org/10.1109/ICSA.2018.00013","url":null,"abstract":"Businesses today need to respond to customer needs at unprecedented speeds. Driven by this need for speed, many companies are rushing to the DevOps movement and implementing Continuous Delivery (CD). I had been implementing DevOps and CD for Paddy Power, a multi-billion-euro betting and gaming company, for four years. I had found that software architecture can be a key barrier. To address the architectural challenges, we tried an emerging architectural style called Microservices. I have observed increased deployability, modifiability, and resilience to design erosion. At the same time, I also observed new challenges associated with the increased number of services, evolving contracts among services, technology diversity, and testing. I share the practical strategies that can be employed to address these new challenges, discuss situations for which Microservices may not be a good choice, and outline areas that require further research.","PeriodicalId":142325,"journal":{"name":"2018 IEEE International Conference on Software Architecture (ICSA)","volume":"128 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132876515","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Matej Artac, Tadej Borovsak, E. D. Nitto, M. Guerriero, Diego Perez-Palacin, D. Tamburri
{"title":"Infrastructure-as-Code for Data-Intensive Architectures: A Model-Driven Development Approach","authors":"Matej Artac, Tadej Borovsak, E. D. Nitto, M. Guerriero, Diego Perez-Palacin, D. Tamburri","doi":"10.1109/ICSA.2018.00025","DOIUrl":"https://doi.org/10.1109/ICSA.2018.00025","url":null,"abstract":"As part of the DevOps tactics, Infrastructure-as-Code (IaC) provides the ability to create, configure, and manage complex infrastructures by means of executable code. Writing IaC, however, is not an easy task, since it requires blending different infrastructure programming languages and abstractions, each specialized on a particular aspect of infrastructure creation, configuration, and management. Moreover, the more the architectures become large and complex (e.g. Data-Intensive or Microservice-based architectures), the more dire the need of IaC becomes. The goal of this paper is to exploit Model-Driven Engineering (MDE) to create language-agnostic models that are then automatically transformed into IaC. We focus on the domain of Data-Intensive Applications as these typically exploit complex infrastructures which demand sophisticated and fine-grained configuration and re-configuration — we show that, through our approach, called DICER, it is possible to create complex IaC with significant amounts of time savings, both in IaC design as well as deployment and re-deployment times.","PeriodicalId":142325,"journal":{"name":"2018 IEEE International Conference on Software Architecture (ICSA)","volume":"244 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116054372","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Rajitha Yasaweerasinghelage, M. Staples, I. Weber, Hye-young Paik
{"title":"Predicting the Performance of Privacy-Preserving Data Analytics Using Architecture Modelling and Simulation","authors":"Rajitha Yasaweerasinghelage, M. Staples, I. Weber, Hye-young Paik","doi":"10.1109/ICSA.2018.00026","DOIUrl":"https://doi.org/10.1109/ICSA.2018.00026","url":null,"abstract":"Privacy-preserving data analytics is an emerging technology which allows multiple parties to perform joint data analytics without disclosing source data to each other or a trusted third-party. A variety of platforms and protocols have been proposed in this domain. However, these systems are not yet widely used, and little is known about them from a software architecture and performance perspective. Here we investigate the feasibility of using architectural performance modelling and simulation tools for predicting the performance of privacy-preserving data analytics systems. We report on a lab-based experimental study of a privacy-preserving credit scoring application that uses an implementation of a partial homomorphic encryption scheme. The main experiments are on the impact of analytic problem size (number of data items and number of features), and cryptographic key length for the overall system performance. Our modelling approach performed with a relative error consistently under 5% when predicting the median learning time for the scoring application. We find that the use of this approach is feasible in this technology domain, and discuss how it can support architectural decision making on trade-offs between properties such as performance, cost, and security. We expect this to enable the evaluation and optimisation of privacy-preserving data analytics technologies.","PeriodicalId":142325,"journal":{"name":"2018 IEEE International Conference on Software Architecture (ICSA)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116489342","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}