1,129 research outputs found

    Modern computing: Vision and challenges

    Get PDF
    Over the past six decades, the computing systems field has experienced significant transformations, profoundly impacting society with transformational developments, such as the Internet and the commodification of computing. Underpinned by technological advancements, computer systems, far from being static, have been continuously evolving and adapting to cover multifaceted societal niches. This has led to new paradigms such as cloud, fog, edge computing, and the Internet of Things (IoT), which offer fresh economic and creative opportunities. Nevertheless, this rapid change poses complex research challenges, especially in maximizing potential and enhancing functionality. As such, to maintain an economical level of performance that meets ever-tighter requirements, one must understand the drivers of new model emergence and expansion, and how contemporary challenges differ from past ones. To that end, this article investigates and assesses the factors influencing the evolution of computing systems, covering established systems and architectures as well as newer developments, such as serverless computing, quantum computing, and on-device AI on edge devices. Trends emerge when one traces technological trajectory, which includes the rapid obsolescence of frameworks due to business and technical constraints, a move towards specialized systems and models, and varying approaches to centralized and decentralized control. This comprehensive review of modern computing systems looks ahead to the future of research in the field, highlighting key challenges and emerging trends, and underscoring their importance in cost-effectively driving technological progress

    Serverless Cloud Computing: A Comparative Analysis of Performance, Cost, and Developer Experiences in Container-Level Services

    Get PDF
    Serverless cloud computing is a subset of cloud computing considerably adopted to build modern web applications, while the underlying server and infrastructure management duties are abstracted from customers to the cloud vendors. In serverless computing, customers must pay for the runtime consumed by their services, but they are exempt from paying for the idle time. Prior to serverless containers, customers needed to provision, scale, and manage servers, which was a bottleneck for rapidly growing customer-facing applications where latency and scaling were a concern. The viability of adopting a serverless platform for a web application regarding performance, cost, and developer experiences is studied in this thesis. Three serverless container-level services are employed in this study from AWS and GCP. The services include GCP Cloud Run, GKE AutoPilot, and AWS EKS with AWS Fargate. Platform as a Service (PaaS) underpins the former, and Container as a Service (CaaS) the remainder. A single-page web application was created to perform incremental and spike load tests on those services to assess the performance differences. Furthermore, the cost differences are compared and analyzed. Lastly, the final element considered while evaluating the developer experiences is the complexity of using the services during the project implementation. Based on the results of this research, it was determined that PaaS-based solutions are a high-performing, affordable alternative for CaaS-based solutions in circumstances where high levels of traffic are periodically anticipated, but sporadic latency is never a concern. Given that this study has limitations, the author recommends additional research to strengthen it

    Paving the path towards platform engineering using a comprehensive reference model

    Get PDF
    Amidst the growing popularity of platform engineering, promising improved productivity and enhanced developer experience through an internal developer platform (IDP), this research addresses the prevalent challenge of a lack of a shared understanding in the field and the complications in defining effective, customized strategies. Introducing a definitive Platform Engineering Reference Model (PE-RM) based on the Open Distributed Processing reference model (ODP-RM) framework to provide a common under- standing. This model offers a structured framework for software organizations to create tailored platform engineering strategies and realize the full potential of platform engineering. The reference model is val- idated by conducting a case study in which a contextual design and technical implementation guided by the reference model is proposed. The case study offers guidance in designing platform engineering in the context of a software organization. Furthermore, it showcases how to construct a technical platform engineering implementation, which includes experiments exposing the productivity improvements and applicability of the implementation. By facilitating a shared vocabulary and providing a roadmap for implementation, this research aims to mitigate prevailing complexities and accelerate the adoption and effectiveness of platform engineering across organizations

    Cloud computing : developing a cost estimation model for customers

    Get PDF
    Cloud computing is an essential part of the digital transformation journey. It offers many benefits to organisations, including the advantages of scalability and agility. Cloud customers see cloud computing as a moving train that every organisation needs to catch. This means that adoption decisions are made quickly in order to keep up with the new trend. Such quick decisions have led to many disappointments for cloud customers and have questioned the cost of the cloud. This is also because there is a lack of criteria or guidelines to help cloud customers get a complete picture of what is required of them before they go to the cloud. From another perspective, as new technologies force changes to the organizational structure and business processes, it is important to understand how cloud computing changes the IT and non-IT departments and how can this be translated into costs. Accordingly, this research uses the total cost of ownership approach and transaction cost theory to develop a customer-centric model to estimate the cost of cloud computing. The Research methodology used the Design Science Research approach. Expert interviews were used to develop the model. The model was then validated using four case studies. The model, named Sunny, identifies many costs that need to be estimated, which will help to make the cloud-based digital transformation journey less cloudy. The costs include Meta Services, Continuous Contract management, Monitoring and ITSM Adjustment. From an academic perspective, this research highlights the management efforts required for cloud computing and how misleading the rapid provision potential of the cloud resources can be. From a business perspective, proper estimation of these costs would help customers make informed decisions and vendors make realistic promises.Cloud Computing ist ein wesentlicher Bestandteil der Digitalisierung. Es bietet Unternehmen viele Vorteile, wie Skalierbarkeit und Agilität. Cloud-Kunden sehen Cloud Computing als einen Zug, auf den jedes Unternehmen aufspringen muss. Das bedeutet, dass Einführungsentscheidungen schnell getroffen werden, um mit dem neuen Trend Schritt zu halten. Solche Schnellschüsse haben zu vielen Enttäuschungen bei Cloud-Kunden geführt und die Kosten der Cloud in Frage gestellt. Dies ist auch darauf zurückzuführen, dass es keine Kriterien oder Leitlinien gibt, die den Cloud-Kunden helfen, sich ein vollständiges Bild davon zu machen, was von ihnen erwartet wird, bevor sie in die Cloud gehen. Aus einem anderen Blickwinkel ist es wichtig zu verstehen, wie Cloud Computing IT- und Nicht-IT-Abteilungen verändert und wie sich dies auf die Kosten auswirkt, da neue Technologien Veränderungen in der Organisationsstruktur und den Geschäftsprozessen erzwingen. Dementsprechend werden in dieser Forschungsarbeit der Total Cost of Ownership-Ansatz und die Transaktionskostentheorie verwendet, um ein kundenorientiertes Modell zur Schätzung der Kosten von Cloud Computing zu entwickeln. Die Forschungsmethodik basiert auf dem Design Science Research Ansatz. Zur Entwicklung des Modells wurden Experteninterviews durchgeführt. Anschließend wurde das Modell anhand von vier Fallstudien validiert. Das Modell mit dem Namen Sunny identifiziert viele Kosten, die geschätzt werden müssen, um die Reise zur digitalen Transformation in der Cloud weniger wolkig zu gestalten. Zu diesen Kosten gehören Meta-Services, kontinuierliches Vertragsmanagement, Überwachung und ITSM-Anpassung. Aus akademischer Sicht verdeutlicht diese Forschung, welcher Verwaltungsaufwand für Cloud Computing erforderlich ist und wie irreführend das schnelle Bereitstellungspotenzial von Cloud-Ressourcen sein kann. Aus Unternehmenssicht würde eine korrekte Einschätzung dieser Kosten den Kunden helfen, fundierte Entscheidungen zu treffen, und den Anbietern, realistische Versprechungen zu machen

    Digital Twins and Blockchain for IoT Management

    Get PDF
    We live in a data-driven world powered by sensors getting data from anywhere at any time. This advancement is possible thanks to the Internet of Things (IoT). IoT embeds common physical objects with heterogeneous sensing, actuating, and communication capabilities to collect data from the environment and people. These objects are generally known as things and exchange data with other things, entities, computational processes, and systems over the internet. Consequently, a web of devices and computational processes emerges involving billions of entities collecting, processing, and sharing data. As a result, we now have an internet of entities/things that process and produce data, an ever-growing volume that can easily exceed petabytes. Therefore, there is a need for novel management approaches to handle the previously unheard number of IoT devices, processes, and data streams. This dissertation focuses on solutions for IoT management using decentralized technologies. A massive number of IoT devices interact with software and hardware components and are owned by different people. Therefore, there is a need for decentralized management. Blockchain is a capable and promising distributed ledger technology with features to support decentralized systems with large numbers of devices. People should not have to interact with these devices or data streams directly. Therefore, there is a need to abstract access to these components. Digital twins are software artifacts that can abstract an object, a process, or a system to enable communication between the physical and digital worlds. Fog/edge computing is the alternative to the cloud to provide services with less latency. This research uses blockchain technology, digital twins, and fog/edge computing for IoT management. The systems developed in this dissertation enable configuration, self-management, zero-trust management, and data streaming view provisioning from a fog/edge layer. In this way, this massive number of things and the data they produce are managed through services distributed across nodes close to them, providing access and configuration security and privacy protection

    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

    On-premise containerized, light-weight software solutions for Biomedicine

    Get PDF
    Bioinformatics software systems are critical tools for analysing large-scale biological data, but their design and implementation can be challenging due to the need for reliability, scalability, and performance. This thesis investigates the impact of several software approaches on the design and implementation of bioinformatics software systems. These approaches include software patterns, microservices, distributed computing, containerisation and container orchestration. The research focuses on understanding how these techniques affect bioinformatics software systems’ reliability, scalability, performance, and efficiency. Furthermore, this research highlights the challenges and considerations involved in their implementation. This study also examines potential solutions for implementing container orchestration in bioinformatics research teams with limited resources and the challenges of using container orchestration. Additionally, the thesis considers microservices and distributed computing and how these can be optimised in the design and implementation process to enhance the productivity and performance of bioinformatics software systems. The research was conducted using a combination of software development, experimentation, and evaluation. The results show that implementing software patterns can significantly improve the code accessibility and structure of bioinformatics software systems. Specifically, microservices and containerisation also enhanced system reliability, scalability, and performance. Additionally, the study indicates that adopting advanced software engineering practices, such as model-driven design and container orchestration, can facilitate efficient and productive deployment and management of bioinformatics software systems, even for researchers with limited resources. Overall, we develop a software system integrating all our findings. Our proposed system demonstrated the ability to address challenges in bioinformatics. The thesis makes several key contributions in addressing the research questions surrounding the design, implementation, and optimisation of bioinformatics software systems using software patterns, microservices, containerisation, and advanced software engineering principles and practices. Our findings suggest that incorporating these technologies can significantly improve bioinformatics software systems’ reliability, scalability, performance, efficiency, and productivity.Bioinformatische Software-Systeme stellen bedeutende Werkzeuge für die Analyse umfangreicher biologischer Daten dar. Ihre Entwicklung und Implementierung kann jedoch aufgrund der erforderlichen Zuverlässigkeit, Skalierbarkeit und Leistungsfähigkeit eine Herausforderung darstellen. Das Ziel dieser Arbeit ist es, die Auswirkungen von Software-Mustern, Microservices, verteilten Systemen, Containerisierung und Container-Orchestrierung auf die Architektur und Implementierung von bioinformatischen Software-Systemen zu untersuchen. Die Forschung konzentriert sich darauf, zu verstehen, wie sich diese Techniken auf die Zuverlässigkeit, Skalierbarkeit, Leistungsfähigkeit und Effizienz von bioinformatischen Software-Systemen auswirken und welche Herausforderungen mit ihrer Konzeptualisierungen und Implementierung verbunden sind. Diese Arbeit untersucht auch potenzielle Lösungen zur Implementierung von Container-Orchestrierung in bioinformatischen Forschungsteams mit begrenzten Ressourcen und die Einschränkungen bei deren Verwendung in diesem Kontext. Des Weiteren werden die Schlüsselfaktoren, die den Erfolg von bioinformatischen Software-Systemen mit Containerisierung, Microservices und verteiltem Computing beeinflussen, untersucht und wie diese im Design- und Implementierungsprozess optimiert werden können, um die Produktivität und Leistung bioinformatischer Software-Systeme zu steigern. Die vorliegende Arbeit wurde mittels einer Kombination aus Software-Entwicklung, Experimenten und Evaluation durchgeführt. Die erzielten Ergebnisse zeigen, dass die Implementierung von Software-Mustern, die Zuverlässigkeit und Skalierbarkeit von bioinformatischen Software-Systemen erheblich verbessern kann. Der Einsatz von Microservices und Containerisierung trug ebenfalls zur Steigerung der Zuverlässigkeit, Skalierbarkeit und Leistungsfähigkeit des Systems bei. Darüber hinaus legt die Arbeit dar, dass die Anwendung von SoftwareEngineering-Praktiken, wie modellgesteuertem Design und Container-Orchestrierung, die effiziente und produktive Bereitstellung und Verwaltung von bioinformatischen Software-Systemen erleichtern kann. Zudem löst die Implementierung dieses SoftwareSystems, Herausforderungen für Forschungsgruppen mit begrenzten Ressourcen. Insgesamt hat das System gezeigt, dass es in der Lage ist, Herausforderungen im Bereich der Bioinformatik zu bewältigen und stellt somit ein wertvolles Werkzeug für Forscher in diesem Bereich dar. Die vorliegende Arbeit leistet mehrere wichtige Beiträge zur Beantwortung von Forschungsfragen im Zusammenhang mit dem Entwurf, der Implementierung und der Optimierung von Software-Systemen für die Bioinformatik unter Verwendung von Prinzipien und Praktiken der Softwaretechnik. Unsere Ergebnisse deuten darauf hin, dass die Einbindung dieser Technologien die Zuverlässigkeit, Skalierbarkeit, Leistungsfähigkeit, Effizienz und Produktivität bioinformatischer Software-Systeme erheblich verbessern kann
    • …
    corecore