DevOps is a collaborative and multidisciplinary organizational effort to automate continuous delivery of new software updates while guaranteeing their correctness and reliability. The present survey investigates and discusses DevOps challenges from the perspective of engineers, managers, and researchers. We review the literature and develop a DevOps conceptual map, correlating the DevOps automation tools with these concepts. We then discuss their practical implications for engineers, managers, and researchers. Finally, we critically explore some of the most relevant DevOps challenges reported by the literature.
R ecent advances in distributed, mobile, and ubiquitous systems demand new computing environments characterized by a high degree of dynamism. Variations in resource availability, network connectivity, and hardware and software platforms influence the performance of the related user applications. The expected growth of ubiquitous computing over the next five years will further alter the nature of the computational infrastructure, bringing a plethora of small devices and requiring customized protocols and policies to fulfill users' evolving quality of service (QoS) requirements.During the past 10 years, software developers created middleware technology to facilitate development of software systems, most notably distributed and Internet-based, to support activities as diverse as scientific computation, information discovery and dissemination, and e-commerce. Middleware mediates interaction between the application and the operating system (hence its name). Related technologies, including the Object Management Group's CORBA, Sun Microsystems' Java-based J2EE, and Microsoft's .NET, hide from the pro-grammer the complicated details of network communication, remote method invocation, naming, and service instantiation, easing construction of complex distributed systems. CORBA, or Common Object Request Broker Architecture, and Java also hide the differences in the underlying software and hardware platforms, increasing portability and facilitating maintenance, as new versions of operating systems are released. Despite aiding development of distributed applications, conventional middleware technology lacks support for the dynamic aspects of the new computational infrastructure. Next-generation applications require middleware that can be adapted to changes in the environment and customized to fit into devices, from PDAs and sensors to powerful desktops and multicomputers [1,5]. Here, we reflect on how two independent research projects might influence the evolution of next-generation middleware. The reflective middleware model is a principled and efficient way of dealing with highly dynamic environments yet supports development of flexible and adaptive systems and applications.It's flexible and reconfigurable yet simple for programmers to use, notably for building dynamic distributed applications operating on the Net.
Conventional middleware systems fail to address important issues related to dynamism. Modern computer systems have to deal not only with heterogeneity in the underlying hardware and software platforms but also with highly dynamic environments. Mobile and distributed applications are greatly affected by dynamic changes of the environment characteristics such as security constraints and resource availability. Existing middleware is not prepared to react to these changes. In many cases, application developers know when adaptive changes in communication and security strategies would improve system performance. But often, they are not able to benefit from it because the middleware lacks the mechanisms to support monitoring (to detect when adaptation should take place) and on-the-fly reconfiguration. dynamicTAO is a CORBA-compliant reflective ORB that supports dynamic configuration. It maintains an explicit representation of its own internal structure and uses it to carry out runtime customization safely. After describing dynamicTAO's design and implementation, we discuss our experience on the development of two systems benefiting from the reflective nature of our ORB: a flexible monitoring system for distributed objects and a mechanism for enforcing access control based on dynamic security policies. There is nothing permanent except change. Heraclitus of Ephesus (535-475 BC) This research is supported by NSF grants 98-70736 and 99-70139. Fabio Kon is supported in part by a grant from CAPES-Brazil, proc.#1405/95-2.
SUMMARYGrid computing technology improves the computing experiences at organizations by effectively integrating distributed computing resources. However, just a small fraction of currently available Grid infrastructures focuses on reutilization of existing commodity computing resources. This paper introduces InteGrade, a novel objectoriented middleware Grid infrastructure that focuses on leveraging the idle computing power of shared desktop machines. Its features include support for a wide range of parallel applications and mechanisms to assure that the owners of shared resources do not perceive any loss in the quality of service. A prototype implementation is under construction and the current version is available for download.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.