157 research outputs found

    A mixed-method empirical study of Function-as-a-Service software development in industrial practice

    Get PDF
    Function-as-a-Service (FaaS) describes cloud computing services that make infrastructure components transparent to application developers, thus falling in the larger group of “serverless” computing models. When using FaaS offerings, such as AWS Lambda, developers provide atomic and short-running code for their functions, and FaaS providers execute and horizontally scale them on-demand. Currently, there is no systematic research on how developers use serverless, what types of applications lend themselves to this model, or what architectural styles and practices FaaS-based applications are based on. We present results from a mixed-method study, combining interviews with practitioners who develop applications and systems that use FaaS, a systematic analysis of grey literature, and a Web-based survey. We find that successfully adopting FaaS requires a different mental model, where systems are primarily constructed by composing pre-existing services, with FaaS often acting as the “glue” that brings these services together. Tooling availability and maturity, especially related to testing and deployment, remains a major difficulty. Further, we find that current FaaS systems lack systematic support for function reuse, and abstractions and programming models for building non-trivial FaaS applications are limited. We conclude with a discussion of implications for FaaS providers, software developers, and researchers

    A mixed-method empirical study of Function-as-a-Service software development in industrial practice

    Get PDF
    Function-as-a-Service (FaaS) describes cloud computing services that make infrastructure components transparent to application developers, thus falling in the larger group of “serverless” computing mod- els. When using FaaS offerings, such as AWS Lambda, developers provide atomic and short-running code for their functions, and FaaS providers execute and horizontally scale them on-demand. Currently, there is nosystematic research on how developers use serverless, what types of applications lend themselves to this model, or what architectural styles and practices FaaS-based applications are based on. We present results from a mixed-method study, combining interviews with practitioners who develop applications and systems that use FaaS, a systematic analysis of grey literature, and a Web-based survey. We find that successfully adopting FaaS requires a different mental model, where systems are primarily constructed by composing pre-existing services, with FaaS often acting as the “glue” that brings these services to- gether. Tooling availability and maturity, especially related to testing and deployment, remains a major difficulty. Further, we find that current FaaS systems lack systematic support for function reuse, and ab- stractions and programming models for building non-trivial FaaS applications are limited. We conclude with a discussion of implications for FaaS providers, software developers, and researchers

    Strategies for IT Product Managers to Manage Microservice Systems in Enterprises

    Get PDF
    Many information technology (IT) product managers have experienced significant challenges in adopting microservice architecture (MSA) systems successfully in their organizations. Inefficiencies resulting from MSA system adoption are of concern to IT product managers as these inefficiencies increase the cost of maintenance and increase the time to deliver software updates to the business. Grounded in the technology-organization-environment theory, the purpose of this qualitative multiple case study was to explore the strategies used by IT product managers for the domain-driven design and development and operations practices to reduce the inefficiencies during the MSA system adoption. The participants were 18 IT product managers associated with the adoption and operation of microservice architecture systems at a global consumer goods manufacturer company and a global financial company, both with headquarters in Europe. Data were collected from semi structured interviews and a review of 7 documents. A thematic analysis was used to analyze the data. Four major themes emerged to include organizational alignment in adopting MSA, ways of working, experienced-based approach to design MSA systems, and MSA environment landscape. A key recommendation for IT product managers is to adopt an IT organization structure aligned with the business context of the MSA system allowing for a full lifecycle approach. The implications for positive social change include the potential for IT product managers to improve the work environment for the MSA-related teams, which may lead to robust software systems and easier to use applications by removing barriers and increasing accessibility for users, thus supporting individuals in their daily life

    DevOps for Digital Leaders

    Get PDF
    DevOps; continuous delivery; software lifecycle; concurrent parallel testing; service management; ITIL; GRC; PaaS; containerization; API management; lean principles; technical debt; end-to-end automation; automatio

    DevOps in practice : A multiple case study of five companies

    Get PDF
    Context: DevOps is considered important in the ability to frequently and reliably update a system in operational state. DevOps presumes cross-functional collaboration and automation between software development and operations. DevOps adoption and implementation in companies is non-trivial due to required changes in technical, organisational and cultural aspects. Objectives: This exploratory study presents detailed descriptions of how DevOps is implemented in practice. The context of our empirical investigation is web application and service development in small and medium sized companies. Method: A multiple-case study was conducted in five different development contexts with successful DevOps implementations since its benefits, such as quick releases and minimum deployment errors, were achieved. Data was mainly collected through interviews with 26 practitioners and observations made at the companies. Data was analysed by first coding each case individually using a set of predefined themes and thereafter perform a cross-case synthesis. Results: Our analysis yielded some of the following results: (I) software development team attaining ownership and responsibility to deploy software changes in production is crucial in DevOps. (ii) toolchain usage and support in deployment pipeline activities accelerates the delivery of software changes, bug fixes and handling of production incidents. (ii) the delivery speed to production is affected by context factors, such as manual approvals by the product owner (iii) steep learning curve for new skills is experienced by both software developers and operations staff, who also have to cope with working under pressure. Conclusion: Our findings contributes to the overall understanding of DevOps concept, practices and its perceived impacts, particularly in small and medium sized companies. We discuss two practical implications of the results.Peer reviewe

    DevOps for Digital Leaders

    Get PDF
    DevOps; continuous delivery; software lifecycle; concurrent parallel testing; service management; ITIL; GRC; PaaS; containerization; API management; lean principles; technical debt; end-to-end automation; automatio

    Towards Software-Defined Protection, Automation, and Control in Power Systems: Concepts, State of the Art, and Future Challenges

    Get PDF
    Nowadays, power systems’ Protection, Automation, and Control (PAC) functionalities are often deployed in different constrained devices (Intelligent Electronic Devices) following a coupled hardware/software design. However, with the increase in distributed energy resources, more customized controllers will be required. These devices have high operational and deployment costs with long development, testing, and complex upgrade cycles. Addressing these challenges requires that a ’revolution’ in power system PAC design takes place. Decoupling from hardware-dependent implementations by virtualizing the functionalities facilitates the transition from a traditional power grid into a software-defined smart grid. This article presents a survey of recent literature on software-defined PAC for power systems, covering the concepts, main academic works, industrial proof of concepts, and the latest standardization efforts in this rising area. Finally, we summarize the expected future technical, industrial, and standardization challenges and open research problems. It was observed that software-defined PAC systems have a promising potential that can be leveraged for future PAC and smart grid developments. Moreover, standardizations in virtual IED software development and deployments, configuration tools, performance benchmarking, and compliance testing using a dynamic, agile approach assuring interoperability are critical enablers. © 2022 by the authors

    Modernization of Legacy Information Technology Systems

    Get PDF
    Large enterprises spend a large portion of their Information Technology (IT) budget on maintaining their legacy systems. Legacy systems modernization projects are a catalyst for IT architects to save cost, provide new and efficient systems that increase profitability, and create value for their organization. Grounded in sociotechnical systems theory, the purpose of this qualitative multiple case study was to explore strategies IT architects use to modernize their legacy systems. The population included IT architects in large enterprises involved in legacy systems modernization projects, one in healthcare, and one in the financial services industry in the San Antonio-New Braunfels, Texas metropolitan area in the United States. The data collection included interviews with eight IT architects, reviewing 12 organizational documents and pertinent artifacts. Data were analyzed using thematic analysis. Prominent themes included collaboration in modernization projects, systems and process documentation, and resources upskilling and technical training. A key recommendation is for IT architects in large enterprises to ensure that team collaboration, system documentation, and resource technical training are built into all aspects of the legacy systems modernization projects. The implications for positive social change include the potential to bring together individuals with diverse backgrounds and different perspectives and skills to develop trust and build positive relationships during legacy systems modernization projects

    ICSEA 2021: the sixteenth international conference on software engineering advances

    Get PDF
    The Sixteenth International Conference on Software Engineering Advances (ICSEA 2021), held on October 3 - 7, 2021 in Barcelona, Spain, continued a series of events covering a broad spectrum of software-related topics. The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. The tracks treated the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learnt. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education. The conference had the following tracks: Advances in fundamentals for software development Advanced mechanisms for software development Advanced design tools for developing software Software engineering for service computing (SOA and Cloud) Advanced facilities for accessing software Software performance Software security, privacy, safeness Advances in software testing Specialized software advanced applications Web Accessibility Open source software Agile and Lean approaches in software engineering Software deployment and maintenance Software engineering techniques, metrics, and formalisms Software economics, adoption, and education Business technology Improving productivity in research on software engineering Trends and achievements Similar to the previous edition, this event continued to be very competitive in its selection process and very well perceived by the international software engineering community. As such, it is attracting excellent contributions and active participation from all over the world. We were very pleased to receive a large amount of top quality contributions. We take here the opportunity to warmly thank all the members of the ICSEA 2021 technical program committee as well as the numerous reviewers. The creation of such a broad and high quality conference program would not have been possible without their involvement. We also kindly thank all the authors that dedicated much of their time and efforts to contribute to the ICSEA 2021. We truly believe that thanks to all these efforts, the final conference program consists of top quality contributions. This event could also not have been a reality without the support of many individuals, organizations and sponsors. We also gratefully thank the members of the ICSEA 2021 organizing committee for their help in handling the logistics and for their work that is making this professional meeting a success. We hope the ICSEA 2021 was a successful international forum for the exchange of ideas and results between academia and industry and to promote further progress in software engineering research
    • …
    corecore